diff options
author | Sven Nierlein <sven@nierlein.de> | 2021-04-07 11:49:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-07 11:49:10 +0200 |
commit | 10337247973e9fad8a5fed6fc5e78b0637326237 (patch) | |
tree | e5f4e71ae72b376095586e3a9ac4f44d6d0a362f | |
parent | 2e5b38cc832c3e818b43515636e04b7218e6f995 (diff) | |
parent | 2482950e267a752b37d696c10ea091dc62d6d8a7 (diff) | |
download | monitoring-plugins-1033724.tar.gz |
Merge pull request #1668 from bazzisoft/master
Update check_curl.c to display a specific human-readable error message where possible
-rw-r--r-- | plugins/check_curl.c | 6 | ||||
-rw-r--r-- | plugins/t/check_curl.t | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/plugins/check_curl.c b/plugins/check_curl.c index 9f1eafa2..ee9c8b1d 100644 --- a/plugins/check_curl.c +++ b/plugins/check_curl.c | |||
@@ -313,8 +313,8 @@ static char *string_statuscode (int major, int minor) | |||
313 | /* assuming here HTTP/N with N>=4 */ | 313 | /* assuming here HTTP/N with N>=4 */ |
314 | snprintf (buf, sizeof (buf), "HTTP/%d", major); | 314 | snprintf (buf, sizeof (buf), "HTTP/%d", major); |
315 | break; | 315 | break; |
316 | } | 316 | } |
317 | 317 | ||
318 | return buf; | 318 | return buf; |
319 | } | 319 | } |
320 | 320 | ||
@@ -662,7 +662,7 @@ check_http (void) | |||
662 | /* Curl errors, result in critical Nagios state */ | 662 | /* Curl errors, result in critical Nagios state */ |
663 | if (res != CURLE_OK) { | 663 | if (res != CURLE_OK) { |
664 | snprintf (msg, DEFAULT_BUFFER_SIZE, _("Invalid HTTP response received from host on port %d: cURL returned %d - %s"), | 664 | snprintf (msg, DEFAULT_BUFFER_SIZE, _("Invalid HTTP response received from host on port %d: cURL returned %d - %s"), |
665 | server_port, res, curl_easy_strerror(res)); | 665 | server_port, res, errbuf[0] ? errbuf : curl_easy_strerror(res)); |
666 | die (STATE_CRITICAL, "HTTP CRITICAL - %s\n", msg); | 666 | die (STATE_CRITICAL, "HTTP CRITICAL - %s\n", msg); |
667 | } | 667 | } |
668 | 668 | ||
diff --git a/plugins/t/check_curl.t b/plugins/t/check_curl.t index 4bff538a..cc65f037 100644 --- a/plugins/t/check_curl.t +++ b/plugins/t/check_curl.t | |||
@@ -46,7 +46,7 @@ $res = NPTest->testCmd( | |||
46 | ); | 46 | ); |
47 | cmp_ok( $res->return_code, '==', 2, "Webserver $host_nonresponsive not responding" ); | 47 | cmp_ok( $res->return_code, '==', 2, "Webserver $host_nonresponsive not responding" ); |
48 | # was CRITICAL only, but both check_curl and check_http print HTTP CRITICAL (puzzle?!) | 48 | # was CRITICAL only, but both check_curl and check_http print HTTP CRITICAL (puzzle?!) |
49 | cmp_ok( $res->output, 'eq', "HTTP CRITICAL - Invalid HTTP response received from host on port 80: cURL returned 28 - Timeout was reached", "Output OK"); | 49 | like( $res->output, "/HTTP CRITICAL - Invalid HTTP response received from host on port 80: cURL returned 28 - Connection timed out after/", "Output OK"); |
50 | 50 | ||
51 | $res = NPTest->testCmd( | 51 | $res = NPTest->testCmd( |
52 | "./$plugin $hostname_invalid -wt 1 -ct 2" | 52 | "./$plugin $hostname_invalid -wt 1 -ct 2" |
@@ -56,7 +56,7 @@ cmp_ok( $res->return_code, '==', 2, "Webserver $hostname_invalid not valid" ); | |||
56 | # On Debian, it is Name or service not known, on Darwin, it is No address associated with nodename | 56 | # On Debian, it is Name or service not known, on Darwin, it is No address associated with nodename |
57 | # Is also possible to get a socket timeout if DNS is not responding fast enough | 57 | # Is also possible to get a socket timeout if DNS is not responding fast enough |
58 | # cURL gives us consistent strings from it's own 'lib/strerror.c' | 58 | # cURL gives us consistent strings from it's own 'lib/strerror.c' |
59 | like( $res->output, "/cURL returned 6 - Couldn't resolve host name/", "Output OK"); | 59 | like( $res->output, "/cURL returned 6 - Could not resolve host:/", "Output OK"); |
60 | 60 | ||
61 | # host header checks | 61 | # host header checks |
62 | $res = NPTest->testCmd("./$plugin -v -H $host_tcp_http"); | 62 | $res = NPTest->testCmd("./$plugin -v -H $host_tcp_http"); |