Commit graph

1936 commits

Author SHA1 Message Date
RincewindsHat
d2a05e0d12 Document process_arguments a little bit better 2023-01-07 18:34:46 +01:00
RincewindsHat
2752f91099 Update copyright 2023-01-07 18:34:46 +01:00
RincewindsHat
698eed58f8 Use real booleans instead of ints 2023-01-07 18:34:46 +01:00
Sven Nierlein
9ba8f5ed66 check_snmp: always apply format when applying multiplier 2022-12-22 12:54:51 +01:00
Robert Bohne
def946bd97 Improve tests for check_snmp & multiply option 2022-12-22 12:54:51 +01:00
Wolfgang Nieder
c35bf8966a add 'multiplier' to modify current value 2022-12-22 12:54:51 +01:00
Sven Nierlein
765b29f09b
check_curl: fix checking large bodys (#1823)
check_curl fails on large pages:

  HTTP CRITICAL - Invalid HTTP response received from host on port 5080: cURL returned 23 - Failure writing output to destination

for example trying to run check_curl on the test from #1822

I guess the idea is to double the buffer size each time it is to small. But the code
exponentially grows the buffer size which works well 2-3 times, but then fails.
2022-12-22 12:51:18 +01:00
Danijel Tasov
763862a61c make check_http faster with larger files
The current implementation becomes exponentially slower with growing
response size.

See also:

https://github.com/nagios-plugins/nagios-plugins/blob/release-2.4.2/plugins/check_http.c#L1199-L1204

Test:

    $ mkdir web
    $ nohup python3 -m http.server -d web 5080 &
    $ perl -E 'say "0123456789" for (1..2_000_000)' >| web/file.txt
    $ ./check_http.orig  -t 200 -v  -I localhost -p 5080 -u /file.txt > test1.txt
    real    0m26.893s
    user    0m12.661s
    sys     0m14.221s
    $ time ./check_http -t 200 -v  -I localhost -p 5080 -u /file.txt > test2.txt
    real    0m0.038s
    user    0m0.011s
    sys     0m0.027s
    $ diff -u test[12].txt
    --- test1.txt   2022-12-21 14:58:28.720260811 +0100
    +++ test2.txt   2022-12-21 14:58:42.640008604 +0100
    @@ -7,7 +7,7 @@
     STATUS: HTTP/1.0 200 OK
     **** HEADER ****
     Server: SimpleHTTP/0.6 Python/3.9.2
    -Date: Wed, 21 Dec 2022 13:58:01 GMT
    +Date: Wed, 21 Dec 2022 13:58:42 GMT
     Content-type: text/plain
     Content-Length: 22000000
     Last-Modified: Wed, 21 Dec 2022 13:57:58 GMT
    @@ -2000013,4 +2000013,4 @@
     0123456789
     0123456789

    -HTTP OK: HTTP/1.0 200 OK - 22000191 bytes in 26.860 second response time |time=26.860182s;;;0.000000;200.000000 size=22000191B;;;0;
    +HTTP OK: HTTP/1.0 200 OK - 22000191 bytes in 0.016 second response time |time=0.016412s;;;0.000000;200.000000 size=22000191B;;;0;
2022-12-22 10:15:59 +01:00
RincewindsHat
0551151a57 Remove trailing whitespaces 2022-12-20 10:19:10 +01:00
RincewindsHat
28553e8d1c Fix unknown escape sequence error output 2022-12-20 10:19:10 +01:00
Aksel Sjögren
a517c62c1b check_http: fix test plan
Fix test plan when run with NP_INTERNET_ACCESS=no, where the correct
number of steps must be skipped.
Caused by a removed test in 65fc706429.

Signed-off-by: Aksel Sjögren <asjogren@itrsgroup.com>
2022-11-29 16:38:33 +01:00
Lorenz
4a5ddd2011
Check curl detect ipv6 (#1809)
* If server_address is an IPv6 address surround it with brackets

* If the message is too short, we should not have an underflow

* Add simple conditional test case available if IPv6 is
2022-11-07 17:48:28 +01:00
Lorenz
edc84e5d66
Remove superflous CRLF in HTTP-Requests in check_http (#1798)
* Remove superflous CRLF in HTTP-Requests in check_http
2022-11-05 13:59:45 +01:00
waja
2d9c6276d0
Removing is_pg_dbname alltogether,using postgres API. (Closes: #1660) (#1803)
The problem is that check_pgsql validates the Database name and has different assumptions
that postgres itself.

I fail to see a reason to validate the database name here. Postgres'es API should
do this - So i would suggest a fix like this by removing is_pg_dbname alltogether.

Co-authored-by: Florian Lohoff <f@zz.de>
2022-11-04 19:16:01 +01:00
Andreas Baumann
eb2dfdd5c2
fixed two PRId64 to PRIu64 in perfdata_uint64 (#1802) 2022-10-27 22:48:18 +02:00
Andreas Baumann
817ac2e5da
using PRId64 and PRIu64 instead of %ld directly (#1800) 2022-10-21 18:31:12 +02:00
Lorenz
b90a5757f7
Display total and scaled load values if check_load scales the values by number of CPUs (#1778)
* Renew copyright

* Display more verbose output, if scaled load values are used

* Actually use scaled value for determining status and print the fitting perfdata depending on input parameters

* Add test cases for scaled mode
2022-09-19 10:23:49 +02:00
Jan Wagner
8087291729 check_http: Fix HD6 definition 2022-09-18 20:42:26 +02:00
John C. Frickson
e2e405596a I had to make a couple of small changes. 2022-09-18 20:42:26 +02:00
Eric Wunderlin
d57d2b0bdd Remove unused code 2022-09-18 20:42:26 +02:00
Eric Wunderlin
8f54442c68 Added ability to correctly check redirects with reference format //test.server.com/folder
Referenced redirect of the format //www.server.com/folder would result
in check_http trying to contact http://hostname:80//www.server.com/folder
instead of http://www.server.com/folder. Referenced redirect of this format
is listed in rfc3986 ( https://tools.ietf.org/html/rfc3986 ). It should
work as expected now.
2022-09-18 20:42:26 +02:00
Lorenz
b89aee5696
Check ntp remove unused variables (#1781)
* Remove unused argument

* Fix typo in comment
2022-09-14 10:54:46 +02:00
Lorenz
ef57962552
Check disk compiler warnings (#1758)
* Use unused variable

* Proper format strings for printf

* Use proper functions for absolute values

* Remove and add comments at some places
2022-09-11 06:29:58 +02:00
Lorenz
a9cdbc8959
Check load compiler warnings (#1759)
* Fix compiler warnings due to implizit conversion and formats

* Make includes more specific and complement them

* Formatting fixes
2022-09-11 06:29:36 +02:00
Lorenz
fbbc9fcbd5
Check swap compiler warnings (#1756)
* Fix compiler warnings

* Fix superfluous whitespaces
2022-09-11 06:29:17 +02:00
Lorenz
3ad5fe9d84
check_swap: Fix unit for total in perfdata (#1779)
* check_swap: Fix unit for total in perfdata

* Remove trailing whitespaces
2022-07-25 10:11:43 +02:00
Sven Nierlein
a01de7b33d
fix parsing swap values (#1780)
tmp_KB changed from float to uint64, so change the sscanf format accordingly.
2022-07-25 10:00:18 +02:00
adrb
9f2a9ca3d7
check_snmp: Segfault if number of processed lines is greater than number of thresholds
Segfault at line 489 if number of processed lines is greater than number (#1589) of thresholds

Co-authored-by: Lorenz <12514511+RincewindsHat@users.noreply.github.com>
2022-07-24 16:44:16 +02:00
Lorenz
65fc706429
Remove check_http and check_curl test which are somehow always failing (#1777)
* Remove failing checks for check_http
* Remove failing checks for check_curl
2022-07-20 13:33:49 +02:00
Archie L. Cobbs
ccf4ed25f9
check_by_ssh: Add "-U" flag (#1123). (#1774)
This causes a 255 exit value from ssh(1), which indicates a connection failure,
to return UNKNOWN instead of CRITICAL; similar to check_nrpe's "-u" flag.
2022-07-14 08:47:54 +02:00
Andreas Baumann
a96bdd7349 check_curl: added option --continue-after-certificate (#1761) 2022-04-10 16:31:53 +02:00
Andreas Baumann
455fdc1072 check_http: added option --continue-after-certificate (#1761) 2022-04-10 16:31:47 +02:00
Lorenz
d485b64ef0
Description for -M was the wrong way around (#1746)
Using -M should show the mountpoint instead of the device the
file system originated from.
Seems like this was not the case for a long time and now
the default is to show the mount point. Using `-M` reverts
to showing the (block) device instead.
The usage Description was adjusted with this commit.
2022-01-30 19:41:36 +01:00
Lorenz
e781e0d101
Fix double percentage sign in usage (#1743) 2022-01-30 12:44:02 +01:00
Tobias Wiese
31bdbfce92 sslutils: use chain from client certificates
sslutils used to load only the first certificate when it was given a
client certificate file.

Added tests for check_http to connect to a http server that expects a
client certificate (simple and with chain).

Signed-off-by: Tobias Wiese <tobias@tobiaswiese.com>
2022-01-30 12:25:56 +01:00
Andreas Baumann
ee2a60fc4e fixed -ffollow for HTTP/2.0 (Fixes #1685): added major_version parsing to PicoHTTPParser 2022-01-29 12:17:37 +01:00
Andreas Baumann
737412f739 check_http and check_curl: added --max-redirs=N option (feature #1684) 2022-01-29 12:15:12 +01:00
datamuc
e2397167c7
add --queryname parameter to check_pgsql (#1741)
This is used in the long output instead of the actual query.
So instead of

    OK - 'select stuff from various, tables where some_stuff is null and other_stuff is not null' returned 42

one can use --queryname=check_greatest_basket and it will print

OK - check_greatest_basket returned 42

That's nicer for alerting purposes, at least in our use case.
2022-01-25 10:57:02 +01:00
RincewindsHat
3bcc64396d Fixes the positioning of the code and some other changes 2022-01-22 22:25:21 +01:00
Jan Wagner
b14e251d0f Implements 'host-alive' mode (Closes. #1027)
To reduce the check-duration, it addes a host-alive flag which stops testing
after the first successful reply.
2022-01-22 22:25:21 +01:00
Lorenz
cf669f5ff5
Trivial printf fix and a little bit of code style (#1695)
* Fix several warnings (and some downright bugs probably) with formating in check_disk

Update to master

* Fix merge error, I forgot the last time

* Fix indentation

Co-authored-by: rincewind <rincewind@vulgrim.de>
2022-01-22 22:23:13 +01:00
Mark A. Ziesemer
3b252b9ae6
Trivial source code formatting only: Use tabs consistently for source code indentation (whitespace), as per https://github.com/monitoring-plugins/monitoring-plugins/blob/master/CODING . (#1424)
Looks good, thank you very much.
2022-01-22 15:58:59 +01:00
Lorenz
85c8dcddfa
Merge pull request #1412 from glensc/pld/nagios-plugins-ping.patch
[check_ping] understang ping6 output from iputils package
2022-01-14 16:28:24 +01:00
Lorenz
54a3a5ea62
Merge pull request #1496 from FracKenA/Add-NullOID-Exit
Added option for null zero length string exit codes
2022-01-14 16:04:36 +01:00
Ken D
69fed9d083 Updated int state to human readable 2022-01-14 15:52:00 +01:00
Ken D
a1f3289000 Added option for null zero length string exit codes
When using a large distributed network with the same group of checks used against a large number of devices, occationally there are missing cards in a few devices that are present in other devices. Rather than having a large number of unknown results, disable active checking on those large number of result or having to create a unique check configuration for those devices.

This option allows you to select an OK, WARNING, CRITICAL or UNKNOWN status while still retaining the default behavior when not present. This also allows a for the check to immediately start checks as intended should the hardware be added that the check is looking for.
2022-01-14 15:52:00 +01:00
Lorenz
d999db01c0
Merge pull request #1301 from nafets/exit_on_stderr
check_by_ssh: added option to exit with an warning, if there is output on STDERR
2022-01-14 15:44:05 +01:00
Lorenz Kästle
d496d6523b Rename tmp variable to get even with master 2022-01-03 14:07:54 +01:00
Lorenz
2714df42fd
Merge branch 'master' into master 2022-01-03 13:48:39 +01:00
Lorenz
78801192cf
Merge pull request #1725 from monitoring-plugins/check_game_update_url
Update Url to qstat
2021-12-19 17:17:46 +01:00