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.
|