Commit graph

2520 commits

Author SHA1 Message Date
Lorenz Kästle
c7691ddf4b picohttpparser: clang-format 2024-10-31 14:28:12 +01:00
Lorenz Kästle
fc90673afc popen.c: style + linter fixes 2024-10-31 14:27:16 +01:00
Lorenz Kästle
baa2208a1d popen.c: update copyright 2024-10-31 14:23:05 +01:00
Lorenz Kästle
f0f767f8ca popen.c: clang-format 2024-10-31 14:22:25 +01:00
Lorenz Kästle
c6e09500c8 negate: style + linter fixes 2024-10-31 14:21:55 +01:00
Lorenz Kästle
ab5a037d66 negate: do not export local variables 2024-10-31 14:19:05 +01:00
Lorenz Kästle
733d725719 negate: update copyright 2024-10-31 14:18:24 +01:00
Lorenz Kästle
e191544a17 negate: clang-format 2024-10-31 14:17:46 +01:00
Lorenz Kästle
7185547291 check_users: do not export local variables + style fixes 2024-10-31 14:16:34 +01:00
Lorenz Kästle
61f569e6d3 check_users: update copyright 2024-10-31 14:16:13 +01:00
Lorenz Kästle
92d18a18d1 check_users: clang-format 2024-10-31 14:14:31 +01:00
Lorenz Kästle
3572395054 check_ups: clang-format 2024-10-31 14:13:43 +01:00
Lorenz Kästle
6dd03aff71 check_time: update copyright 2024-10-31 14:13:00 +01:00
Lorenz Kästle
eca51d0787 check_time: style + linter fixes 2024-10-31 14:12:27 +01:00
Lorenz Kästle
a54dd50895 check_time: do not export local variables 2024-10-31 14:10:27 +01:00
Lorenz Kästle
e4e7c00647 check_time: clang-format 2024-10-31 14:09:45 +01:00
RincewindsHat
c1f337c653 check_tcp: style + linter fixes 2024-10-31 14:08:31 +01:00
RincewindsHat
ec70b39672 check_tcp: update_copyright 2024-10-31 14:02:57 +01:00
RincewindsHat
0be4dede6e check_tcp: clang-format 2024-10-31 14:02:13 +01:00
RincewindsHat
b6d920da55 check_snmp: style + linter fixes 2024-10-31 14:01:12 +01:00
RincewindsHat
04471ba48d check_snmp: update copyright 2024-10-31 13:56:28 +01:00
RincewindsHat
50f6ae2c64 check_snmp: clang-format 2024-10-31 13:56:00 +01:00
RincewindsHat
b033e670c6 check_real: update copyright 2024-10-31 13:47:49 +01:00
RincewindsHat
5dcd63f110 check_real: style and linter fixes 2024-10-31 13:47:20 +01:00
RincewindsHat
5b3c12025b check_real: clang-format 2024-10-31 13:43:05 +01:00
RincewindsHat
b227a9f854 check_ping: linter fixes 2024-10-31 13:42:06 +01:00
RincewindsHat
6d4e76680c check_ping: do not export local symbols 2024-10-31 13:39:35 +01:00
RincewindsHat
bf53f05ebf check_ping: update copyright 2024-10-31 13:39:22 +01:00
RincewindsHat
f60f83a522 check_pgsql: print_usage must be exported 2024-10-31 13:35:48 +01:00
RincewindsHat
8eb6860578 check_ping: clang-format 2024-10-31 13:34:11 +01:00
RincewindsHat
0a3fcf0d97 check_pgsql: diverse style fixes 2024-10-31 13:33:31 +01:00
RincewindsHat
daf37fbd67 check_pgsql: do not export local variables 2024-10-31 13:26:56 +01:00
RincewindsHat
cc63bc6699 check_pgsql: update copyright 2024-10-31 13:25:30 +01:00
RincewindsHat
835be77d74 check_pgsql: clang-format 2024-10-31 13:24:56 +01:00
RincewindsHat
0700aacf7c check_ntp_time: more local variables, style fixes 2024-10-31 13:23:31 +01:00
RincewindsHat
7d706b15d0 check_ntp_time: do not export local variables 2024-10-31 13:11:27 +01:00
RincewindsHat
d078e8037f check_ntp_time: update copyright 2024-10-31 13:11:10 +01:00
RincewindsHat
395ab8f58b check_ntp_time: clang-format 2024-10-31 13:09:57 +01:00
RincewindsHat
d0ea64439b check_ntp_peer: more local variables, linter fixes 2024-10-31 13:09:24 +01:00
RincewindsHat
4f74229bb3 check_ntp_peer: do not export local symbols 2024-10-31 12:59:28 +01:00
RincewindsHat
623fed10cc check_ntp_peer: update copyright 2024-10-31 12:58:07 +01:00
RincewindsHat
5763575ff5 check_ntp_peer: clang-format 2024-10-31 12:57:17 +01:00
RincewindsHat
1868ea7725 check_nagios: linter fixes 2024-10-31 12:56:02 +01:00
RincewindsHat
ce538b0dd9 check_nagios: do not export local variables 2024-10-31 12:55:05 +01:00
RincewindsHat
ecbc67ec66 check_nagios: update copyright 2024-10-31 12:54:23 +01:00
RincewindsHat
eb6632f57d check_nagios: clang-format 2024-10-31 12:53:50 +01:00
RincewindsHat
290025f8a9 check_mysql_query: update copyright 2024-10-31 12:53:14 +01:00
RincewindsHat
30bd6716fb check_mysql_query: linter fixes, more moden C style 2024-10-31 12:52:33 +01:00
RincewindsHat
f9fd727323 check_mysql_query: do not export local symbols 2024-10-31 12:47:01 +01:00
RincewindsHat
13880ab5dc check_mysql_query: clang-format 2024-10-31 12:45:26 +01:00
RincewindsHat
a9f0c74b10 check_mrtgtraf: linter and style fixes 2024-10-31 12:38:21 +01:00
RincewindsHat
07490350ca check_mrtgtraf: do not export local symbols 2024-10-31 12:31:13 +01:00
RincewindsHat
88584ddabc check_mrtgtraf: update copyright 2024-10-31 12:30:26 +01:00
RincewindsHat
476038f0d1 check_mrtgtraf: clang-format 2024-10-31 12:29:39 +01:00
RincewindsHat
0062a32af1 check_mrtg: cosmetic fixes, linter fixes 2024-10-31 12:26:54 +01:00
RincewindsHat
e170dbef11 check_mrtg: do not export local symbols 2024-10-31 12:21:40 +01:00
RincewindsHat
fc63638791 check_mrtg: Update copyright 2024-10-31 12:15:57 +01:00
RincewindsHat
cc45c9772b check_mrtg: clang-format 2024-10-31 12:15:15 +01:00
RincewindsHat
4db8808a51 check_ide_smart: linter fixes 2024-10-31 03:52:36 +01:00
RincewindsHat
5c6d79dac3 check_ide_smart: do not export local symbols 2024-10-31 03:51:37 +01:00
RincewindsHat
c16bc4024c check_ide_smart: update copyright 2024-10-31 03:49:17 +01:00
RincewindsHat
536d8e7002 check_ide_smart: clang-format 2024-10-31 03:48:28 +01:00
RincewindsHat
e03fb9904b check_hpjd: linter fixes 2024-10-31 03:47:51 +01:00
RincewindsHat
f33412e50a check_hpjd: do not export local symbols 2024-10-31 03:47:03 +01:00
RincewindsHat
a4b3386657 check_hpjd: update copyright 2024-10-31 03:45:50 +01:00
RincewindsHat
80fcc8dfac check_hpjd: clang-format 2024-10-31 03:45:03 +01:00
RincewindsHat
0e0c517b19 check_game: linter fixes 2024-10-31 03:44:06 +01:00
RincewindsHat
8355b9db40 check_game: do not export local symbols 2024-10-31 03:42:06 +01:00
RincewindsHat
aa143390f5 check_game: update copyright 2024-10-31 03:41:06 +01:00
RincewindsHat
11a5ab2b8d check_game: clang-format 2024-10-31 03:40:12 +01:00
RincewindsHat
1d0f532750 check_fping: Linter fixes 2024-10-31 03:39:38 +01:00
RincewindsHat
f3ed9c6038 check_fping: do not export local symbols 2024-10-31 03:38:44 +01:00
RincewindsHat
5490729f1f check_fping: update copyright 2024-10-31 03:37:38 +01:00
RincewindsHat
82975ac988 check_fping: clang-format 2024-10-31 03:36:59 +01:00
RincewindsHat
5f2ae6d5e5 check_dummy: do not export local symbols 2024-10-31 03:36:00 +01:00
RincewindsHat
1633fd73bd check_dummy: update copyright 2024-10-31 03:35:18 +01:00
RincewindsHat
31133c789c check_dummy: clang-format 2024-10-31 03:34:46 +01:00
RincewindsHat
078e9b96ad check_dns: update copyright 2024-10-31 03:33:51 +01:00
RincewindsHat
4f34506c81 check_dns: Linter fixes 2024-10-31 03:33:10 +01:00
RincewindsHat
702dc596a4 check_dns: do not export local variables 2024-10-31 03:30:42 +01:00
RincewindsHat
499c0a07ae check_dns: clang-format 2024-10-31 03:29:32 +01:00
RincewindsHat
08526fd07f check_disk: Linter fixes 2024-10-31 03:28:27 +01:00
RincewindsHat
e57e86aedb check_dig: Update copyright 2024-10-31 03:26:07 +01:00
RincewindsHat
78aa691505 check_disk: Update copyright 2024-10-31 03:25:04 +01:00
RincewindsHat
25e0c67b09 check_disk: clang-format 2024-10-31 03:24:02 +01:00
RincewindsHat
acb19fe8f7 check_dig: Linter fixes 2024-10-31 03:22:43 +01:00
RincewindsHat
f0d7803842 check_dig: do not export local symbols 2024-10-31 03:21:37 +01:00
RincewindsHat
904d1ef78d check_dig: clang-format 2024-10-31 03:19:50 +01:00
RincewindsHat
79d7f40161 check_dbi: linter fixes 2024-10-31 03:17:20 +01:00
RincewindsHat
981f1d5629 check_dbi: do not export local symbols 2024-10-31 03:15:12 +01:00
RincewindsHat
267c668981 check_dbi: Update copyright 2024-10-31 03:13:07 +01:00
RincewindsHat
c413037aa8 check_dbi: clang-format 2024-10-31 03:11:54 +01:00
RincewindsHat
fde8e9c77b check_curl: Linter fixes 2024-10-31 03:10:57 +01:00
RincewindsHat
7334812a92 check_curl: do not export local variables and remove unused ones 2024-10-31 03:05:43 +01:00
RincewindsHat
367c4f89c1 check_curl: Update copyright 2024-10-31 02:59:49 +01:00
RincewindsHat
80f07ff92b check_curl: clang-format 2024-10-31 02:58:41 +01:00
RincewindsHat
289f07d754 check_cluster: linter fixes 2024-10-31 02:57:07 +01:00
RincewindsHat
ebb453f55e check_cluster: do not export local symbols 2024-10-31 02:54:48 +01:00
RincewindsHat
a30f0c6c08 check_cluster: Copyright update 2024-10-31 02:53:01 +01:00
RincewindsHat
80ec3f0f04 check_cluster: clang-format 2024-10-31 02:51:49 +01:00
RincewindsHat
060bd01d89 check_by_ssh: linter fixes 2024-10-31 02:50:34 +01:00
RincewindsHat
ba47cca3ef check_by_ssh: do not export local symbols 2024-10-31 02:45:58 +01:00
RincewindsHat
744568f1f8 check_by_ssh: Copyright update 2024-10-31 02:44:09 +01:00
RincewindsHat
9f1ec43ce1 check_by_ssh: clang-format 2024-10-31 02:43:12 +01:00
RincewindsHat
05ad606c09 check_ups: clang-format again 2024-10-25 11:45:58 +02:00
RincewindsHat
4541b2b357 check_ups: clang-format again 2024-10-19 01:21:22 +02:00
RincewindsHat
3f7c533ce8 check_ups: Update copyright 2024-10-15 16:26:21 +02:00
RincewindsHat
b95e3d7446 check_ups: clang-format 2024-10-15 16:25:19 +02:00
Sven Nierlein
3b96044248 fix check_curl: OpenSSL SSL_read: error:0A000126:SSL routines::unexpected eof while reading, errno 0
using check_curl on a probably embedded device responding as 'Server: GoAhead-Webs'

    %> check_curl -H ... -S -vvv

    > GET / HTTP/1.1
    Host: ...
    User-Agent: check_curl/v2.4.0 (monitoring-plugins 2.4.0, libcurl/7.76.1 OpenSSL/3.0.7 zlib/1.2.11 brotli/1.0.9 libidn2/2.3.0 libpsl/0.21.1 (+libidn2/2.3.0) libssh/0.10.4/openssl/zlib nghttp2/1.43.0)
    Accept: */*
    Connection: close

    * Mark bundle as not supporting multiuse
    * HTTP 1.0, assume close after body
    < HTTP/1.0 302 Redirect
    < Server: GoAhead-Webs
    < Date: Tue Mar 26 17:57:16 2019
    < Cache-Control: no-cache, no-store, must-revalidate,private
    < Pragma: no-cache
    < Expires: 0
    < Content-Type: text/html
    < X-Frame-Options: sameorigin
    < X-XSS-Protection: 1; mode=block
    < X-Content-Type-Options: nosniff
    < Location: https://...
    <
    * OpenSSL SSL_read: error:0A000126:SSL routines::unexpected eof while reading, errno 0
    * Closing connection 0

reading the discussion on https://github.com/openssl/openssl/discussions/22690 suggest to set the option SSL_OP_IGNORE_UNEXPECTED_EOF
which makes check_curl behave like check_http at this point.
Since this is a rather new flag, fencing it in ifdefs.
And since there can only be one ssl ctx function, we need to move both tasks into one function.
2024-10-10 15:54:28 +02:00
Lorenz Kästle
bc6dda5286
Merge branch 'master' into check_curl_regex_state 2024-10-06 17:28:08 +02:00
Lorenz Kästle
91fa55f971
Merge pull request #2021 from monitoring-plugins/check_disk_static_fixes
Check disk static fixes
2024-09-27 14:19:39 +02:00
Lorenz Kästle
fb5175aed6 check_disk: remove unused variables and functions 2024-09-27 13:53:24 +02:00
Lorenz Kästle
7ca72ecace check_disk: Declare global variables static
Variables only used in that specific translation unit should be static
to actually communicate that fact.
Also allows the compiler to detect unused (global) variables.
2024-09-27 13:51:21 +02:00
RincewindsHat
b1e96a3bf3 check_snmp: Remove unused PP-macros 2024-09-27 11:58:42 +02:00
RincewindsHat
3ba660889a check_snmp: Declare most variables as static 2024-09-27 11:57:38 +02:00
RincewindsHat
0fd0421052 check_ssh: set elapsed time properly
Previous to this commit, `elapsed_time` was only set after being read,
which was quite likely wrong and a bug.
This commit actually set the value before it is being read again.
2024-09-06 01:53:47 +02:00
Lorenz Kästle
a378134ddc
Merge pull request #2015 from RincewindsHat/fix/check_mysql_variables
check_mysql:
 * remove unused variables
 * convert two practical booleans to real `bool`
2024-09-06 01:51:23 +02:00
Lorenz Kästle
75d5c51207 Remove experimental state from check_curl 2024-08-29 18:20:35 +02:00
RincewindsHat
829ec76f00 check_ssh: Remove unused variable iteration 2024-08-28 23:40:22 +02:00
RincewindsHat
04115904ad check_ssh: Always initialize elapsed_time 2024-08-28 23:39:57 +02:00
Lorenz Kästle
4f7ee05786 check_mysql: Label some booleans correctly 2024-08-28 19:20:31 +02:00
Lorenz Kästle
584cca3a96 check_mysql: remove unused global variables 2024-08-28 19:19:16 +02:00
Lorenz Kästle
2b8b66d41e
Merge pull request #2001 from RincewindsHat/check_snmp_protocoll_documentation
Add more documentation to the help page of check_snmp regarding authe…
2024-08-28 10:21:12 +02:00
RincewindsHat
af097aa364 check_curl: change help for --state-regex again to fix formatting 2024-08-19 15:33:17 +02:00
RincewindsHat
b6c72064a5 check_curl: Parse state-regex option ignoring case
Previously the --state-regex option accepted only "critical" and
"warning" as values.
This commit changes the strcmp there to strcasecmp to be more tolerant
regarding the input.
2024-08-19 15:26:52 +02:00
RincewindsHat
46efe803cf check_curl: Fix help for state regex option
The help output of `check-curl` contained a typo,
the real option is `state-regex` and not `regex-state` as
the help suggests.
Also added the two possible options to avoid confusion.
2024-08-19 15:23:41 +02:00
Alvar Penning
9cdf2aec7f check_curl: Documentation for --certificate, --cookie-jar
From the mere help output for -C / --certificate, I was confused about
what its two integer parameters do. Unfortunately, I also missed out on
the explaining examples later. Since I like to have basic documentation
for each flag, I tried to make the arguments as short as possible.

The other fix was one hyphen too many for the --cookie-jar option.
2024-08-16 10:52:14 +02:00
Yannick Martin
78ce3144e3 check_curl: raise SSL issue when --continue-after-certificate is used
This change aims to raise the worst status between the SSL check and the HTTP check.

before:
check_curl -H www.google.fr -S --continue-after-certificate --certificate 4000,4000 ; echo $?
CRITICAL - Certificate '*.google.fr' expires in 74 day(s) (Tue 22 Oct 2024 12:53:52 PM GMT +0000).
HTTP OK: HTTP/2 200  - 22807 bytes in 0.076 second response time |time=0.075516s;;;0.000000;10.000000 size=22807B;;;0;
0

after:
/usr/lib/nagios/ovh/check_curl -H www.google.fr -S --continue-after-certificate --certificate 4000,4000 ; echo $?
CRITICAL - Certificate '*.google.fr' expires in 74 day(s) (Tue 22 Oct 2024 12:53:52 PM GMT +0000).
HTTP OK: HTTP/2 200  - 22840 bytes in 0.090 second response time |time=0.090463s;;;0.000000;10.000000 size=22840B;;;0;
2
2024-08-11 22:18:28 +02:00
Sven Nierlein
acbfbf3de6 check_curl: fix relative redirects on non-standard port
Having a webserver respond with a relative redirect as for ex. in `Location: /path/to.html`
check_curl would use the wrong standard http/https port instead
of crafting the absolute url using the given scheme/hostname and port.

Adding a new test case for this for check_http and check_curl. check_http did
it correct already, so no fix necessary there.

before:

    %>./check_curl -H 127.0.0.1 -p 50493 -f follow -u /redirect_rel -s redirected -vvv
    **** HEADER ****
    HTTP/1.1 302 Found
    ...
    Location: /redirect2

    ...
    * Seen redirect location /redirect2
    ** scheme: (null)
    ** host: (null)
    ** port: (null)
    ** path: /redirect2
    Redirection to http://127.0.0.1:80/redirect2

fixed:

    %>./check_curl -H 127.0.0.1 -p 50493 -f follow -u /redirect_rel -s redirected -vvv
    **** HEADER ****
    HTTP/1.1 302 Found
    ...
    Location: /redirect2

    ...
    * Seen redirect location /redirect2
    ** scheme: (null)
    ** host: (null)
    ** port: (null)
    ** path: /redirect2
    Redirection to http://127.0.0.1:50493/redirect2

Signed-off-by: Sven Nierlein <sven@nierlein.de>
2024-07-30 17:13:03 +02:00
Sven Nierlein
562deb749a
Merge branch 'master' into check_curl_features 2024-07-23 21:09:21 +02:00
Sven Nierlein
9e6361077b check_http: replace www.mozilla.com with monitoring-plugins.org
this makes tests more reliable if we test our own sites instead some 3rd party site.

Signed-off-by: Sven Nierlein <sven@consol.de>
2024-07-23 21:08:57 +02:00
Lorenz Kästle
86053441b6
check_ups: additional alarm conditions (#1961)
* check_ups:
   * Update copyright
   * General refactoring
   * code formatting
   * Add ALARM state from ups -> Critical
  * Set some more states to be warnings
2024-07-12 16:49:28 +02:00
RincewindsHat
26a979284d Fix typos 2024-05-21 14:27:21 +02:00
RincewindsHat
c862f705f3 Add more documentation to the help page of check_snmp regarding authentication and privacy options 2024-05-21 13:59:45 +02:00
Napsty
3deea4cc63 Adjust check_swap tests 2024-04-12 16:50:15 +02:00
Napsty
60614121d1 Adjust check_swap tests 2024-04-12 16:50:15 +02:00
Napsty
675f208476 Adjust check_swap tests 2024-04-12 16:50:15 +02:00
Napsty
9b4fab0664 Allow single threshold 2024-04-12 16:50:15 +02:00
Napsty
ee0f70486f Possibility to run check_swap without thresholds 2024-04-12 16:50:15 +02:00
Andreas Baumann
f29785f503 check_http/check_curl: added a --regex-state option to change the state of a regex check
from the default CRITICAL to something else (#1213)
2024-04-07 20:01:54 +02:00
Andreas Baumann
4c4031100a check_curl/check_http: clarified format of POST data (#1978) 2024-04-07 19:30:26 +02:00
Lorenz Kästle
7da6286995
check_load: remove unused code (#1998)
adaugherity noticed in issue #1965, that HAVE_PROC_LOADAVG is never
defined since the symbol was removed from configure quite some time ago.
This commit removes the dead code which would be used when the symbol
would have been defined.
2024-04-07 02:51:58 +02:00
Lorenz Kästle
d3faf13961
check_disk: Fail on missing arguments for --warning and --critical and fix a test case (#1935)
* check_disk: Fail on missing arguments for --warning and --critical
* Add new test function for percentage expressions and use it in check_disk
* Add error abort in tests if they fail to parse output
* Fix typo in test which probably broke the test since forever :-(
2024-03-27 00:36:41 +01:00
Lorenz Kästle
66f62dd336
check_ssh: patches from op5 (#1738)
* check_ssh: properly parse a delayed version control string

This resolves an issue with SSH servers which do not respond with their
version control string as the first thing in the SSH protocol version
exchange phase after connection establishment.

This patch also makes sure that we disregard a potential comment in the
version exchange string to avoid nonsense mismatches. In the future, we
might want to add the capability to match against a user specified comment.

In addition, the patch largely improves the communication towards the
server, which adds better protocol adherence.

Of course, new test cases are added to support the trigger and guard
against regressions of the bugs solved by this patch.

This fixes op5#7945 (https://bugs.op5.com/view.php?id=7945)

Signed-off-by: Anton Lofgren <alofgren@op5.com>

* check_ssh.t: Fix a few typos

Signed-off-by: Anton Lofgren <alofgren@op5.com>

* check_ssh: Handle non-alpha software versions

This patch fixes a bug where we would reject version control strings
that do not contain letters, because the assumption is made that they
always do. This is not required by the RFC however, and there exist
implementations that do not contain letters.

I've also added a few references to the RFC to make the process of
parsing the control string more apparent.

This fixes op5#8716 (https://bugs.op5.com/view.php?id=8716)

Signed-off-by: Anton Lofgren <alofgren@op5.com>

* check_ssh: Fix a typo in "remote-protocol parameter

remote-protcol -> remote-protocol

Signed-off-by: Anton Lofgren <alofgren@op5.com>

* Remove unused variable

* Formating fixes

* Update translations

* Remove merge conflict artefact from previous merge

* Set fixed include paths

* Improve code style to be slightly more readable

* Update test cases for different netcat behaviour and reduce sleep time

---------

Signed-off-by: Anton Lofgren <alofgren@op5.com>
Co-authored-by: Anton Lofgren <alofgren@op5.com>
2024-03-27 00:35:16 +01:00
Lorenz Kästle
8698a6d976
check_swap: replace another fake boolen and small improvements (#1996)
* check_swap: Change another fake boolen to a real one

* check_swap: Rename type since *_t is reserved for C standard types

* check_swap: Update copyright
2024-03-23 11:22:06 +01:00
waja
152acfabcf
check_nwstat: adds percentage used space (#1183)
* check_nwstat: adds percentage used space

This adds the new VPU parameter to the check_nwstat plugin.
This parameter returns the percentage used space on a Netware volume.
Now you can monitor your Netware volumes easy. We use it with a warning
85% and critical 90%.
eg: check_nwstat -H your.netware.host -v VPUvol1 -c 85 -w 90 returns
324653 MB (95%) used on volume vol1 - total 340212 MB|Used space in percent
on vol1=95;90;80;0;100.

* check_nwstat: Fixing whitespaces and tabs

* Update translation files

* check_nwstat: Use C99 booleans also with the patch

* Some formatting

---------

Co-authored-by: RincewindsHat <12514511+RincewindsHat@users.noreply.github.com>
2024-03-23 11:02:18 +01:00
Sven Nierlein
117cd8e4b8
check_disk increase alert precision (#1989)
* check_disk increase alert precision

Free disk percentage value was rounded to a full integer meaning it alerted about ~1% percent too early. This is about 10GB on a 1TB disk.
The warning and critical thresholds already support float values, so just the percentage calculation needs to be improved.

old:

    ./check_disk -w 35% -c 20% -p / -f -vvv
    Thresholds(pct) for / warn: 35.000000 crit 20.000000
    calling stat on /
    For /, used_pct=65 free_pct=35 used_units=286451 free_units=156651 total_units=443102 used_inodes_pct=11 free_inodes_pct=89 fsp.fsu_blocksize=4096 mult=1048576
    Freespace_units result=0
    Freespace% result=1
    Usedspace_units result=0
    Usedspace_percent result=0
    Usedinodes_percent result=0
    Freeinodes_percent result=0
    DISK WARNING - free space: WARNING [ / 156651MiB (35% inode=89%)];| /=300365643776B;302006979788;371700898201;0;464626122752

new:

    ./check_disk -w 35% -c 20% -p / -f -vvv
    Thresholds(pct) for / warn: 35.000000 crit 20.000000
    calling stat on /
    For /, used_pct=64.649722 free_pct=35.350278 used_units=286464 free_units=156637 total_units=443102 used_inodes_pct=10.016183 free_inodes_pct=89.983817 fsp.fsu_blocksize=4096 mult=1048576
    Freespace_units result=0
    Freespace% result=0
    Usedspace_units result=0
    Usedspace_percent result=0
    Usedinodes_percent result=0
    Freeinodes_percent result=0
    DISK OK - free space: / 156637MiB (35.4% inode=90%);| /=300379275264B;302006979788;371700898201;0;464626122752

* check_disk: adjust test case to support float precision
2024-02-23 18:24:28 +01:00
Lorenz Kästle
f6d7bf8656
Merge pull request #1987 from euniceremoquillo/Improve-negate-plugin-helptext
Improve negate plugin helptext
2024-02-12 16:26:43 +01:00
Eunice Remoquillo
2ab03d5f9c Added indentions for readability 2024-02-12 19:33:38 +08:00
Eunice Remoquillo
d2df046481 Improve negate plugin helptext
This commit updates the negate plugin's helptext as it is currently ambiguous.
2024-02-12 10:59:18 +08:00
Emmanuel Riviere
61218b2fdc check_curl: add haproxy protocol option 2024-02-01 16:08:16 +01:00
RincewindsHat
735b04eff7 Fix tests 2024-01-04 02:37:26 +01:00
RincewindsHat
1d669e47eb Fix Makefile.am to fix tests 2024-01-04 02:36:50 +01:00
RincewindsHat
2a1c0b64bb Merge branch 'master' into check_swap_again 2024-01-04 02:16:50 +01:00
RincewindsHat
946d2f4b8f Implement stub functionality for SRV4 swapctl stuff 2024-01-04 02:11:48 +01:00
RincewindsHat
79d606abc1 Implement stub functionality for BSD swapctl stuff 2024-01-04 01:48:16 +01:00
RincewindsHat
5275f81e38 check_snmp: Remove unused variable 2023-12-29 00:47:29 +01:00
RincewindsHat
ad864430b0 check_http: Remove self assignment of a variable and add some comments 2023-12-29 00:45:54 +01:00
RincewindsHat
c1c9abbfca Change iritating NULL assignment 2023-12-29 00:45:14 +01:00
RincewindsHat
08c3f0f737 Add test proc/meminfo file and corresponding test 2023-12-20 10:02:47 +01:00
Lorenz Kästle
9083896d9c Include new directory and contents into distribution 2023-12-20 10:02:47 +01:00
Lorenz Kästle
fc9caba617 Hopefully fix build 2023-12-20 10:02:47 +01:00
RincewindsHat
442f50987c Add missing includes in plugins/check_swap.d/swap.c 2023-12-20 10:02:47 +01:00
RincewindsHat
6fcbbaafc4 Implement first unit test for check_swap 2023-12-20 10:02:47 +01:00
RincewindsHat
2dec5182c5 check_swap: refactor to improve readability 2023-12-20 10:02:47 +01:00
RincewindsHat
2289d094ae check_swap: Hopefully fix stuff on BSD 2023-12-20 10:02:47 +01:00
RincewindsHat
6011cdf554 check_swap: hopefully fix SRV4 stuff 2023-12-20 10:02:47 +01:00
RincewindsHat
8cdcb1a8ad Update copyright 2023-12-20 10:02:47 +01:00
RincewindsHat
06c3393963 check_swap: clang-format + minor cosmetics/debugging/etc 2023-12-20 10:02:47 +01:00
RincewindsHat
22a423ad5d check_swap: Return byte number (in linux) and simplify code after that 2023-12-20 10:02:47 +01:00
RincewindsHat
3a10773c09 check_swap: Heavily refactored linux part 2023-12-20 10:02:47 +01:00
RincewindsHat
b32d7421ee check_swap: Rename type since *_t is reserved for C standard types 2023-12-20 10:02:47 +01:00
RincewindsHat
42f5f16578 check_swap: Change another fake boolen to a real one 2023-12-20 10:02:47 +01:00
Sven Hartge
c3ab362f87 check_procs: Generalise wording, remove mentioning of nrpe 2023-12-04 16:40:34 +01:00
Sven Hartge
45f633ef23 check_procs: Improve help text, mentioning excluded processes
Also reindent the code, converting stray tabs to 2 spaces.
2023-12-04 14:33:36 +01:00
Sven Hartge
897e4a8409 check_procs: ignore our own children
On systems with higher core counts check_procs will occasionally see
its own "ps" child process with a high CPU percentage and raise a
false alarm.

Ignoring the child processes of check_procs prevents this from happening.
2023-11-28 13:21:05 +01:00
Sven Nierlein
579db5a930 check_disk: fix ignore-missing in combination with includes (fixes #1963)
Using --ignore-missing together with regex matching and ignore option lead
to a wrong error message.

    ./check_disk -n -w 10% -c 5% -W 10% -r /dummy -i /dummy2
    DISK UNKNOWN: Paths need to be selected before using -i/-I. Use -A to select all paths explicitly

The use case here is a cluster with fail-over mounts. So it is a valid situation that
the regex match does not find anything in addtition with a ignore which also does not exist.

After this patch:

    ./check_disk -n -w 10% -c 5% -W 10% -r /dummy -i /dummy2
    DISK OK - No disks were found for provided parameters|
2023-11-27 13:04:10 +01:00
Sven Nierlein
f59c516011 check_disk: add -n short option for --ignore-missing
Signed-off-by: Sven Nierlein <sven@consol.de>
2023-11-27 13:04:10 +01:00
RincewindsHat
4f4fb3d9af check_dns: Remove unused variable 2023-11-23 00:12:49 +01:00
RincewindsHat
479ff15249 check_ntp_peer: Fixes for Wmaybe-unitialized and some restructuring 2023-11-23 00:11:39 +01:00
RincewindsHat
1b06060cbc Fix logic in is_uint64_t to fix type-limit warning 2023-11-23 00:07:02 +01:00
Lorenz Kästle
53a15f0c2c
Merge pull request #1951 from RincewindsHat/compiler_warnings_maybe_unused
Fix compiler warning for uninitialized variable
2023-11-22 23:34:59 +01:00
Lorenz Kästle
f1e91405c3
Merge pull request #1958 from RincewindsHat/check_users_fix_segfault
check_users: fix segfault
2023-11-12 02:31:24 +01:00
Louis Sautier
eebb280ca3
check_ups: output ups.realpower if supported 2023-11-10 00:08:49 +01:00
RincewindsHat
a9d77ac545 check_users: Update help to properly show that thresholds are ranges 2023-10-31 01:51:27 +01:00
RincewindsHat
d9a999de7b Enhance tests to check wheter the option validation works 2023-10-31 01:50:46 +01:00
RincewindsHat
cff821257b check_users: Change option for sanity checking arguments to avoid segfault 2023-10-31 01:47:26 +01:00
Lorenz Kästle
77e38ac1c0
Merge pull request #1953 from RincewindsHat/compiler_warnings-sign-compare
Fixes for -Wsign-compare
2023-10-29 11:09:00 +01:00
RincewindsHat
eead88edda check_tcp: Fixes an error with using the wrong type for a variable 2023-10-19 13:47:21 +02:00
RincewindsHat
81f3b41651 Fix fallout of the previous changes 2023-10-19 12:20:27 +02:00
RincewindsHat
07f9c438f3 Fixes for -Wsign-compare 2023-10-19 12:10:55 +02:00
RincewindsHat
7ba8463506 check_ntp: Initialize intermediate results in any case 2023-10-19 11:59:43 +02:00
RincewindsHat
0ab5e10d9b check_curl: Initialize pointer before usage 2023-10-19 11:55:11 +02:00
RincewindsHat
decca6d290 check_smtp: Restore behaviour pre ead5526efa regarding -D and TLS 2023-10-19 11:31:28 +02:00
RincewindsHat
0c92b39083 check_dbi: Fix compiler warning for uninitialized variable 2023-10-19 11:14:23 +02:00
RincewindsHat
efe79595d3 check_ntp: Use C99 booleans 2023-10-19 10:22:40 +02:00
RincewindsHat
93a4bae90d Revert "check_ntp: Use C99 booleans"
This reverts commit ca5af12f94.
2023-10-19 10:18:12 +02:00
RincewindsHat
d820929dd8 check_smtp: little fix for C99 booleans missed earlier 2023-10-19 10:17:28 +02:00
RincewindsHat
531e0f9427 check_ntp_time: Use C99 booleans 2023-10-19 10:04:24 +02:00
RincewindsHat
a3d76fed02 Revert "check_ntp_time: Use C99 booleans"
This reverts commit c849536609.
2023-10-19 09:53:37 +02:00
RincewindsHat
0722dbfb8a check_swap: Use C99 booleans 2023-10-18 20:58:18 +02:00
RincewindsHat
163ad151b9 check_smtp: Use C99 booleans 2023-10-18 20:55:22 +02:00
RincewindsHat
369d98cc36 plugins/utils: Use C99 booleans 2023-10-18 20:51:23 +02:00
RincewindsHat
a51e8f82e7 plugins/netutils: Use C99 booleans 2023-10-18 20:46:16 +02:00
RincewindsHat
c2ceefd783 check_negate: Use C99 booleans 2023-10-18 20:42:25 +02:00
RincewindsHat
fd67d1e344 check_users: Use C99 booleans 2023-10-18 20:40:24 +02:00
RincewindsHat
6d62fea757 plugins/common.h: Remove superflous TRUE/FALSE definitions 2023-10-18 20:38:34 +02:00
RincewindsHat
bbd2bd2fa7 check_ups: Use C99 booleans 2023-10-18 20:37:17 +02:00
RincewindsHat
3aff9c8d13 check_time: Use C99 booleans 2023-10-18 20:33:06 +02:00
RincewindsHat
00d58ad187 check_tcp: Use C99 booleans 2023-10-18 20:29:31 +02:00
RincewindsHat
51db32cc1d check_ssh: Use C99 booleans 2023-10-18 20:24:13 +02:00
RincewindsHat
d4539f8662 check_snmp: Use C99 booleans 2023-10-18 20:22:06 +02:00
RincewindsHat
9ccb98aeb5 check_real: Use C99 booleans 2023-10-18 20:19:35 +02:00
RincewindsHat
555902bf76 check_radius: Use C99 booleans 2023-10-18 20:15:30 +02:00
RincewindsHat
47d3e156c5 check_ping: Use C99 booleans 2023-10-18 17:29:43 +02:00
RincewindsHat
9274b6db8b check_pgsql: Use C99 booleans 2023-10-18 17:26:43 +02:00
RincewindsHat
e3cc83f6ae check_overcr: Use C99 booleans 2023-10-18 17:21:35 +02:00
RincewindsHat
03dfd8f5b6 check_nwstat: Use C99 booleans 2023-10-18 17:18:53 +02:00
RincewindsHat
c849536609 check_ntp_time: Use C99 booleans 2023-10-18 17:15:19 +02:00
RincewindsHat
a7e494192d check_ntp_peer: Use C99 booleans 2023-10-18 17:11:21 +02:00
RincewindsHat
ca5af12f94 check_ntp: Use C99 booleans 2023-10-18 17:01:59 +02:00
RincewindsHat
1ba64fb566 check_nt: Use C99 booleans 2023-10-18 16:54:48 +02:00
RincewindsHat
ee80cc2591 check_dns: Another C99 boolean 2023-10-18 16:54:33 +02:00
RincewindsHat
6fc6e86994 check_mysql_query: Use C99 booleans 2023-10-18 16:48:05 +02:00
RincewindsHat
0b389d636e check_mysql: Use C99 booleans 2023-10-18 16:40:51 +02:00
RincewindsHat
45893377bd check_mrtgtraf: Use C99 booleans 2023-10-18 16:39:13 +02:00
RincewindsHat
790374c3b1 check_mrtg: Use C99 booleans 2023-10-18 16:37:36 +02:00
RincewindsHat
82f391085d check_ldap: Use C99 booleans 2023-10-18 16:35:56 +02:00
RincewindsHat
58123356d5 check_ide_smart: Use C99 booleans 2023-10-18 16:33:39 +02:00
RincewindsHat
7ef12f5510 check_game: Use C99 booleans 2023-10-18 16:30:59 +02:00
RincewindsHat
4a6c5ecc94 check_fping: Use C99 booleans 2023-10-18 16:27:28 +02:00
RincewindsHat
a964f87d14 check_dns: Use C99 booleans 2023-10-18 16:22:45 +02:00
RincewindsHat
b6796d9172 check_disk: Use C99 booleans 2023-10-18 16:16:44 +02:00
RincewindsHat
bafe2c2ceb check_dig: Use C99 booleans 2023-10-18 16:14:01 +02:00
RincewindsHat
2f29f45e10 check_by_ssh: Use C99 booleans 2023-10-18 16:12:41 +02:00
RincewindsHat
6972242126 Fixes for compiler warning -Wparentheses 2023-10-16 00:45:33 +02:00
RincewindsHat
ceb614aad4 fix compiler warnings for unused variables 2023-10-15 19:11:40 +02:00
RincewindsHat
928e1c7496 Whitespace fixes 2023-10-15 15:11:07 +02:00
RincewindsHat
fa3b80ce7d Fix -Wcast-function-type compiler warnings 2023-10-15 15:10:27 +02:00
RincewindsHat
09923e8a0f Fix missing include in plugins/runcmd.c 2023-10-07 23:31:59 +02:00
Lorenz Kästle
be0e475339
Merge pull request #1904 from Al2Klimov/1857
check_disk: interpret -X' arg as pattern, not literal
2023-10-05 10:52:03 +02:00
RincewindsHat
e1e1291b72 Fix some more typos 2023-10-03 22:22:51 +02:00
Lorenz Kästle
819f90b726 check_disk: Change usage for --include-type to indicated regexes are now possible 2023-10-01 00:41:55 +02:00
Lorenz Kästle
6947a8cea9 check_disk: Use regex also to include fs types 2023-09-30 12:54:21 +02:00
Alexander A. Klimov
4bb444f335 check_disk: make -X a regex list 2023-09-28 13:20:24 +02:00
RincewindsHat
513929d796 Remove check for RETSIGTYPE in autoconf stuff
autoupdate tells me, that since C89 I can safely assume RETSIGTYPE
is void.

Therefore to simplify things I removed the corresponding configure.ac
line and replaced all mentions of RETSIGTYPE with void.
2023-09-23 12:31:33 +02:00
RincewindsHat
4295decfbf open_max is a library function now, it should be mp_open_max 2023-09-23 10:33:06 +02:00
RincewindsHat
7fd0e6f36d Rework maxfd/open_max to avoid unused variables 2023-09-22 15:22:57 +02:00
Lorenz Kästle
2ef36843ab Add -C to general usage hints 2023-09-21 12:09:10 +02:00
RincewindsHat
8faf7afad3 check_disk: Add some general usage hints 2023-09-21 12:09:10 +02:00