Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
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.
|
|
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;
|
|
|
|
|
|
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 65fc7064295ac70d1388fa4db4d4d2cddd531e24.
Signed-off-by: Aksel Sjögren <asjogren@itrsgroup.com>
|
|
* 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
|
|
* Remove superflous CRLF in HTTP-Requests in check_http
|
|
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>
|
|
|
|
|
|
|
|
There a situations where UNKNOWN or CRITICAL services are not
wanted when a filesystem is missing, a regex does not match or the
filesystem is inaccessible on a system.
This new option helps to have the service in state OK.
|
|
|
|
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
|
|
|
|
|
|
|
|
//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.
|
|
* Remove unused argument
* Fix typo in comment
|
|
* Use unused variable
* Proper format strings for printf
* Use proper functions for absolute values
* Remove and add comments at some places
|
|
* Fix compiler warnings due to implizit conversion and formats
* Make includes more specific and complement them
* Formatting fixes
|
|
* Fix compiler warnings
* Fix superfluous whitespaces
|
|
* check_swap: Fix unit for total in perfdata
* Remove trailing whitespaces
|
|
tmp_KB changed from float to uint64, so change the sscanf format accordingly.
|
|
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>
|
|
* Remove failing checks for check_http
* Remove failing checks for check_curl
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
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>
|
|
PicoHTTPParser
|
|
|
|
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.
|
|
|
|
To reduce the check-duration, it addes a host-alive flag which stops testing
after the first successful reply.
|
|
* 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>
|
|
indentation (whitespace), as per https://github.com/monitoring-plugins/monitoring-plugins/blob/master/CODING . (#1424)
Looks good, thank you very much.
|
|
[check_ping] understang ping6 output from iputils package
|
|
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.
|
|
check_by_ssh: added option to exit with an warning, if there is output on STDERR
|
|
|
|
|
|
Update Url to qstat
|
|
Fix some QL problems
|
|
|