Commit graph

1957 commits

Author SHA1 Message Date
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
RincewindsHat
36415f0c3e
Merge pull request #1729 from RincewindsHat/fix_QL_problems
Fix some QL problems
2021-11-25 09:03:21 +01:00
RincewindsHat
d28bab4dbd More wrong printf formatting 2021-11-24 19:02:17 +01:00
RincewindsHat
40d4e8a057 check_hpjd: Fixing port option 2021-11-24 15:38:18 +01:00
RincewindsHat
e2f24a5af3 Fix CodeQL checks 2021-11-24 14:25:42 +01:00
PhiBo
09bfb1b482 Fix possible overflow in check_ups (Fixes: #1030) 2021-11-24 11:23:47 +01:00
RincewindsHat
f291934f2c Update Url to qstat 2021-11-21 02:43:01 +01:00
RincewindsHat
df835cfde0
Merge pull request #1723 from RincewindsHat/check_swap_smallfix_and_style
Small fix to threshold validation and style (indentation) fixes
2021-11-19 10:29:10 +01:00
RincewindsHat
6e18790b69
Merge pull request #1724 from mullumaus/master
Allows check_ldap to read password from environment variable
2021-11-19 10:11:46 +01:00
Linda Guo
f961b7f7bd Allows check_ldap to get password from env variable
It's not secure to provide LDAP password through command line option
because other users on the same host can see the password in
'ps' command output.

This change allows check_ldap to get password from environment variable.
2021-11-19 19:47:22 +11:00
Lorenz Kästle
c46447af65 Fix option description authpassword -> authpasswd 2021-11-19 09:30:20 +01:00
Lorenz Kästle
cf9dccbec2 Revert "Fixed option description authpassword -> authpasswd + whitespaces"
This reverts commit b27e639725.
2021-11-19 09:30:20 +01:00
Lorenz Kästle
a1fe4df6a3 Fixed option description authpassword -> authpasswd + whitespaces 2021-11-19 09:30:20 +01:00
RincewindsHat
ee3449dee7 Small fix to threshold validation and style (indentation) fixes 2021-11-19 00:34:44 +01:00
RincewindsHat
d6d2254312
Merge pull request #1697 from RincewindsHat/dont_show_rta_if_useless
check_ping: Do not show RTA if no connection was possible
2021-11-18 10:00:12 +01:00
RincewindsHat
4549a95243
Merge pull request #1654 from wolfgangkarall/master
check_procs -- exchange needle and haystack in strstr() for proper st…
2021-11-17 18:09:25 +01:00
RincewindsHat
ad45727dbe
Merge pull request #1688 from bazzisoft/master
check_curl.c: bugfix: verify certificates option should not force SSL to be used
2021-11-17 17:57:00 +01:00
RincewindsHat
e030c2d17c Add thresholds even if value is missing 2021-11-17 15:45:49 +01:00
RincewindsHat
1c53c4f541 homogenize perfdata function and fix small bug with missing semicolon 2021-11-17 15:45:17 +01:00
RincewindsHat
0214ec1918 Show RTA as unknown if it can not be determined 2021-11-17 14:23:24 +01:00
rincewind
27d96dcf23 Do not show RTA if no connection was possible 2021-11-17 14:23:24 +01:00
Sven Nierlein
024d268386 check_snmp: fix performance thresholds when using multiple oids
when using check_snmp with multiple oids it simply printed the unparsed content
from -w/-c into the thresholds for each oid. So each oid contained the hole -w
from all oids.

./check_snmp ... -o iso.3.6.1.2.1.25.1.3.0,iso.3.6.1.2.1.25.1.5.0 -w '1,2' -c '3,4'

before:
  SNMP ... | HOST-RESOURCES-MIB::hrSystemInitialLoadDevice.0=393216;1,2;3,4 HOST-RESOURCES-MIB::hrSystemNumUsers.0=24;1,2;3,4

after:
  SNMP ... | HOST-RESOURCES-MIB::hrSystemInitialLoadDevice.0=393216;1;3 HOST-RESOURCES-MIB::hrSystemNumUsers.0=24;2;4

This also applies to fixed thresholds since check_snmp translates negative infinities from: '~:-1' to '@-1:~'
2021-11-17 14:04:09 +01:00
RincewindsHat
bc6effd2b5
Merge pull request #1715 from ghen2/lmtp
check_smtp: add -L flag to support LMTP (LHLO instead of HELO/EHLO).
2021-11-11 18:04:06 +01:00
Sven Nierlein
c3abdb9267 check_procs: add test for elapsed time 2021-11-01 13:35:11 +01:00
Sven Nierlein
1fda28f124 remove unused test file
Signed-off-by: Sven Nierlein <sven@nierlein.de>
2021-11-01 13:35:11 +01:00
Sven Nierlein
282ccd4a8b check_procs: improve ps args autodetection
one of the first ps commands in the configure.ac is `axwo 'stat comm vsz rss user uid pid ppid args'` which
works on most modern linux systems (checked debian 10/11 and centos 7/8). But this test misses the etime
argument. Therefore `check_procs --metric=ELAPSED` does not work.

To fix this, we simply do the same test including etime before that one.

Signed-off-by: Sven Nierlein <sven@nierlein.de>
2021-11-01 13:35:11 +01:00
Sven Nierlein
1738d14c0c check_procs: remove trailing whitespace 2021-11-01 13:35:11 +01:00
Geert Hendrickx
0bd45c200b
check_smtp: add -L flag to support LMTP (LHLO instead of HELO/EHLO). 2021-10-28 23:08:02 +02:00
RincewindsHat
884327ee21 Replace tabs with spaces and do some formatting 2021-10-27 12:53:13 +02:00
RincewindsHat
5974b0481c Remove whitespace at the end of lines 2021-10-27 12:53:13 +02:00
RincewindsHat
4c8ab67dd3 Fix my own errors for real this time and add some comments, so I wont do them again 2021-10-26 21:09:55 +02:00
RincewindsHat
73ed8109e5 Re-add separation semicolons for perfdata, which I deleted 2021-10-26 20:47:28 +02:00
RincewindsHat
6e0586c8e3 Reform some arithmetical operations for more clarity 2021-10-26 17:07:09 +02:00
RincewindsHat
1c0882def0 hopefully fix warning high tide with percentage 2021-10-26 17:07:09 +02:00
RincewindsHat
726a29a3ac Fix some tests 2021-10-26 17:07:09 +02:00
RincewindsHat
d3af7a353e Remove useless lines and fix some formatting 2021-10-26 17:07:09 +02:00
RincewindsHat
50fc9b73a2 Switch to uint64_t 2021-10-26 17:07:09 +02:00
RincewindsHat
8f2cfd1c80 Reformat a little bit for easier reading 2021-10-26 17:07:09 +02:00
RincewindsHat
078c69d2dd Recognice IEC binary units and format accordingly to base2 (always) 2021-10-26 17:07:09 +02:00
Harald Jenny
e79ada81a6 Update check_load.t
adjust tests for new plugin output
2021-10-25 16:28:15 +02:00
Harald Jenny
a08215368e Create check_load.c
just a cosmetic fix so the load plugin display a LOAD prefix before check results
2021-10-25 16:28:15 +02:00
RincewindsHat
46c5327e34 Revert to poor man's logic 2021-10-02 23:37:12 +02:00
RincewindsHat
d2f2da175e Change all to comments to old comment style 2021-10-02 12:47:50 +02:00
RincewindsHat
f55ea7632f Fix comparing logic 2021-09-26 01:34:45 +02:00
RincewindsHat
280ae58ed8 Remove spaces from tests 2021-09-26 00:34:44 +02:00
rincewind
4621427ba8 check_swap: Fix perfdata und thresholds for big values and simplify code
The original problem was https://github.com/monitoring-plugins/monitoring-plugins/pull/1705
where the performance data output of check_swap did not conform to
the parser logic of a monitoring system (which decided to go for
"correct" SI or IEC units.
The PR was accompanied by a change to byte values in the performance
data which broke the _perfdata_ helper function which could not handle
values of this size.
The fix for this, was to use _fperfdata_ which could, but would
use float values.

I didn't like that (since all values here are discreet) and this
is my proposal for a fix for the problem.

It introduces some helper functions which do now explicitely work
with (u)int64_t, including a special version of the _perfdata_ helper.

In the process of introducing this to check_swap, I stumbled over
several sections of the check_swap code which I found problematic.
Therefore I tried to simplify the code and make it more readable
and less redundant.

I am kinda sorry about this, but sincerely hope my changes can
be helpful.
2021-09-25 23:24:45 +02:00
rincewind
66e2453759 Introduce new perfdata functions and stuff for using (u)int64_t 2021-09-25 23:24:34 +02:00
Jonny007-MKD
cfc43a3275 Improvements suggested by tobiaswiese 2021-09-02 09:56:39 +02:00
Jonny007-MKD
2056c58531 check_dns: Fix memory leak 2021-09-02 09:56:39 +02:00
Jonny007-MKD
70f55ca9db check_dns: add --expect-nxdomain 2021-09-02 09:56:39 +02:00
Sven Nierlein
e17c1e9ed9
Merge pull request #1388 from waja/check_proc_consumption_1357
check_disk: Fixing the stuff that is broken on btrfs
2021-08-24 09:05:01 +02:00
Andreas Baumann
67088216ab Merge branch 'master' into feature_check_curl 2021-07-28 19:17:46 +02:00
Andreas Baumann
de5503063e check_curl: fixed a potential buffer overflow in retir/uri_string 2021-07-25 18:49:06 +02:00
Andreas Baumann
3f5c54c783 check_curl: fixed DNS caching for SSL hostnames (avoid CURLOPT_RESOLVE entry errors) 2021-07-25 18:39:07 +02:00
Sven Nierlein
e72ff30017
Merge pull request #1690 from xFuture603/change_state_from_infinite_redirect_loop
check_http: changed 'STATE_CRITICAL' to 'STATE_WARNING' for infinite loop
2021-07-08 11:31:56 +02:00
Andreas Baumann
6e696643a5 check_curl: changed to STATE_CRITICAL for infinite loops (-ffollow) 2021-07-04 18:43:42 +02:00
Lorenz Kästle
6e5ee70d07 Let ssh decide if a host is valid, enables usage of ssh .config file 2021-06-25 12:12:48 +02:00
Andreas Baumann
0b6838ffca fix for missing X509_up_ref on old systems with only OpenSSL 1.0 2021-06-24 17:08:20 +00:00
Daniel Uhlmann
a1af8be978 changed 'STATE_CRITICAL' to 'STATE_WARNING' for infinite loop 2021-06-24 11:37:14 +02:00
Andreas Baumann
20e9451fad added option --enable-automatic-decompression 2021-06-24 11:02:28 +02:00
Andreas Baumann
beb609ffcf check_curl:
- added verbose output in verify_callback
- pin refcounting for certs (avoid subject extraction error when checking
  certs in is_openssl_callback mode)
2021-05-27 15:32:08 +02:00
Barak Shohat
63cb7ecfcf check_curl.c: bugfix: verify certificates option should not force SSL to be used 2021-05-24 14:53:58 +03:00
Sven Nierlein
b428cc17f7 tests: ignore sigpipes in https test daemon
check_http closes the connection after checking the certificate with -C. This leads to sigpipe
errors when the ssl daemon wants to send a response and the daemon quits which makes the
subsequent tests fail.
2021-05-20 20:57:59 +02:00
Sven Nierlein
eb75d847ae tests: increase startup sleep
github action might fail from to time otherwise
2021-05-20 18:04:49 +02:00
Jacob Hansen
0bbcb60f02
Refactor check_fping
* Set correct amount of tests based on conditionals.
* When running the test as non-root, we would previously check is the
setuid bit is set. This doesn't seem to be needed, so just check if the
binary is executable for the user running the test.
* Use cmp_ok to check if tests succeeds rather than couting.

Signed-off-by: Jacob Hansen <jhansen@op5.com>
2021-05-19 13:36:04 +02:00
Jacob Hansen
ae2fe683e3
check_curl.t: Adjust test to use -f curl
It appears that `-f follow` doesn't work correctly in `check_curl` at
the moment. Test adjusted to use `-f curl` instead.

Issue for the above created: https://github.com/monitoring-plugins/monitoring-plugins/issues/1685

Signed-off-by: Jacob Hansen <jhansen@op5.com>
2021-05-18 15:19:43 +02:00
Aksel Sjögren
5ab03a7095
Fix conditional tests for check_http, check_curl
Set correct number of tests in skip- blocks to avoid the error "Bad
plan.  You planned 50 tests but ran 55" when run with/without
/usr/bin/faketime and NP_INTERNET_ACCESS=yes/no.
2021-04-30 11:13:59 +02:00
Sven Nierlein
fc71e3f930 migrate travis ci to github actions 2021-04-30 09:56:52 +02:00
Sven Nierlein
444a3579b2 fix fping test
in case of dns errors, fping returns an unknown and thats ok.
2021-04-30 09:56:52 +02:00
Barak Shohat
f0ac7fcc7c check_curl: Fix bug where headers beginning with HTTP_ cause the status line parsing to fail. 2021-04-13 12:06:18 +02:00
Andreas Baumann
cd358cd08a check_curl: backported --show-body/-B to print body (from check_http) 2021-04-08 20:39:48 +02:00
Andreas Baumann
1debd29b57 check_curl: make -C obvious (from check_http, part 2) 2021-04-08 15:14:53 +02:00
Andreas Baumann
a6acea7941 check_curl: make -C obvious (from check_http) 2021-04-08 14:15:54 +02:00
Andreas Baumann
f90aec83cb check_curl: Increase regexp limit (to 1024 as in check_http) 2021-04-08 14:07:20 +02:00
Sven Nierlein
f6fd14e886
Merge pull request #1669 from bazzisoft/verify-cert
Add an option to check_curl to verify the peer certificate & host using the system CA's
2021-04-07 17:51:38 +02:00
Sven Nierlein
b145ea1998
Merge pull request #1554 from stblassitude/master
Docs check_http: make -C obvious
2021-04-07 17:16:12 +02:00
Sven Nierlein
4ad33d9f27
Merge pull request #1566 from hydrapolic/master
plugins: check_http: Increase regexp limit
2021-04-07 17:15:20 +02:00
Sven Nierlein
de7effdf06
Merge pull request #1465 from lausser/master
check_snmp: put the "c" (to mark a counter) after the perfdata value
2021-04-07 17:12:38 +02:00
waja
7ac706e894
Merge pull request #1663 from waja/debian_982847_2
Using snprintf which honors the buffers size and guarantees null temination. (Closes: #1601)
2021-04-07 16:45:59 +02:00
Barak Shohat
6993c21695 Add an option to check_curl to verify the peer certificate & host using the system CA's 2021-04-07 15:38:47 +03:00