1 This file documents the major additions and syntax changes between releases.
5 check_mailq now supports auto detection of qmail, postfix, exim and nullmailer with
7 check_ide_smart now defaults to plugin output, original output appended with -v
8 Extra-Opts are now enabled by default, see:
9 https://www.monitoring-plugins.org/doc/extra-opts.html
10 check_swap now supports a configurable state when there is no swap
11 check_radius now supports the FreeRADIUS Client library
12 New check_mysql_query -f option to specify a client options file
13 New check_mysql_query -g option to specify a client options group
14 Add performance data to check_mysql_query
15 New check_file_age -i/--ignore-missing option to return OK on nonexistent files
16 Make check_ping, check_users, and check_disk work on Windows
17 New check_ssh -P option to specify the expected SSH protocol version
18 check_dns now emits the warning and critical thresholds with the performance data
21 Don't let e.g. check_http's -C option reset SSL version if e.g. -S 1 -C 5 is specified
22 Don't have check_http's -N option expect an argument
23 check_ide_smart could disable offline auto tests but could not re-enable them.
24 For this reason all SMART command modes have been disabled.
25 check_dig: fix wrong IPv6 arguments order (Stéphane Bortzmeyer)
26 check_dig: make sure not to give up too early when a timeout is specified with -t
27 check_log: don't stumble over log lines that include a "%" character
28 check_nt: add UPTIME to perfdata
29 Handle SNMPv3 noAuthNoPriv properly with check_snmp
30 Fix compilation with GnuTLS
33 New default installation prefix: /usr/local instead of /usr/local/nagios
34 check_snmp now evaluates negative values properly, which means it might return CRITICAL
35 in cases where it used to return OK. If this is undesired, the warning/critical
36 threshold(s) must be fixed by specifying e.g. ~:100 instead of 100
37 check_procs now ignores its parent process to avoid unexpected results when invoked via
39 utils.sh no longer defines ECH
40 check_ide_smart -q/--quiet and -n/--nagios (Nagios-compatible output) are now deprecated
41 but accepted for backward-compatibility
42 check_ide_smart -0/--auto-off, -1/--auto-on and -i/--immediate: options have
43 been disabled because they were broken
44 State retention: the NAGIOS_PLUGIN_STATE_DIRECTORY environment variable has been
45 renamed MP_STATE_PATH. The old variable will continue to work in v2.0.x
46 Add the UID of the invoking user to the state retention file path. This helps solving
47 permission issues when different users run the same plugin
48 check_swap used to allow returning OK on a system without swap when only percent thresholds
49 were used. This is no longer the case and one must now use -n/--no-swap=<state>
50 The Perl and Shell plugins now use the PATH specified via ./configure's --trusted-path
51 option, or "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" by default
55 New check_dbi plugin for checking an (SQL) database using DBI
56 Let OpenSSL load its configuration file (see the OPENSSL_config(3) man page)
57 Add performance data to check_apt
58 Add performance data to check_procs
59 Added -4/-6 options to check_dig (Ville Mattila)
60 New check_oracle --connect option to perform real login
61 New check_nagios -t option to override the default timeout
62 New check_disk -f/--freespace-ignore-reserved option to ignore space reserved for root
63 New check_disk -N/--include-type option to limit the filesystem types to check
64 Allow for building the plugins in parallel
65 Add --without-{dbi,ldap,radius} options to ./configure
66 Made Verbose output of check_sensors compliant (Gabriele Tozzi)
67 New switch -E/--extended-perfdata for check_http to print additional performance data (Sebastian Nohn)
68 New check_http -d option to specify a string to expect within the response headers
69 New check_http -J/-K options for client certificate authentication support
70 Add support for executing queries to check_pgsql
71 Let check_pgsql accept a UNIX socket directory as hostname
72 New check_pgsql -o option to specify additional connection parameters
73 New check_fping -S option to specify the source IP address
74 New check_fping -I option to specify the interface to bind to
75 Let check_fping support IPv6
76 New check_procs -k option to ignore kernel threads (on Linux)
77 Let check_procs use /proc/<PID>/exe (if available) instead of getpid(2), unless -T is specified
78 Let check_mysql support SSL
79 Let check_mysql add perfromance metrics for all checks
80 New check_mysql -f option to specify a client options file
81 New check_mysql -g option to specify a client options group
82 New check_snmp --offset option to allow for adding/substracting an offset value to sensor data
83 Let check_snmp support an arbitrary number of OIDs
84 Let check_ide_smart support NetBSD
87 Change the MAIL FROM command generated by check_smtp to be RFC compliant
88 Fix compilation of check_http without SSL support
89 Fix check_snmp reversed threshold ranges (backward-compatibility)
90 Fix check_snmp memory violation when using more than 8 oids (Robin Sonefors)
91 Fix check_apt security regular expression (Alex Bradley)
92 Fix check_http handling extra header (-k) containing semicolons (Richard Leitner)
93 Fix check_apt handling unknown exit codes from apt-get (Richard Leitner)
94 Fix deprecated imports of check_nmap.py (Fabio Rueda)
97 check_http behaviour of -k/--header changed since it does not seperate multiple headers by semicolons anymore. Use multiple -k switches instead.
98 check_http's --proxy_authorization option is now called --proxy-authorization (it was always documented this way)
99 The contrib directory has been removed from this distribution
101 1.4.16 27th June 2012
103 check_nt UPTIME accepts warning/critical thresholds (Ryan Kelly)
104 check_disk_smb now allows spaces in share names (#990948, #1370031, Debian #601699)
105 check_http now uses standard threshold functions (enables floating point and ranges)
106 check_http now checks for and prints the certificate cn (hostname) in SSL certificate checks (Stéphane Urbanovski)
107 check_http now supports an optional -S/--ssl value to choose the SSL protocol version (#3066166 - Jason Lunn)
108 Add perfdata to check_ssh (#3244097 - Marco Beck)
109 New option to check_smtp to ignore failures when sending QUIT (#3358348 - Duncan Ferguson)
110 New check_by_ssh -F option which allows for specifying an alternative ssh_config(5) file (#2895334 - Sven Nierlein)
111 check_sensors now detects faulty sensors unless --ignore-fault is specified (Jan Wagner)
112 utils.sh now provides a check_range function (Alex Griffin)
113 Improved the performance of check_users (Marc Remy)
114 Add perfdata to check_disk_smb (Debian #654259 - Charles-Henri Larose)
115 Updated Nagios::Plugin perl module
116 Add warning threshold to certificate expiration checks of check_tcp/http/smtp (William Leibzon)
117 Add --perf-oids option for check_snmp (Jochen Bern)
120 Fix check_disk free space calculation if blocksizes differ within a disk group (Bekar - #2973603)
121 check_disk_smb now handles NT_STATUS_ACCESS_DENIED properly (Debian #601696)
122 Make check_snmp work more like v1.4.14 with regard to using special values (Timeticks, STRING) as numeric thresholds
123 Fix check_ldap overriding the port when --ssl was specified after -p
124 Fix check_procs where regex input of '|' would get displayed in output - now replaced with ','
125 Fix segfault in check_host when hostname returns multiple IP addresses (Sebastian Harl)
126 Fix check_smtp and check_tcp where duplicate messages were displayed for certificate errors
127 Fix check_ping's parsing of ping6(1) output (#1894850, Debian #514588, Debian #662638 - Matej Vela)
128 Fix a check_dhcp bug which was triggered by checking Windows 2003 DHCP servers (#3503921)
129 Disable RFC4507 support, to work around SSL negotiation issues with (at least) some Tomcat versions
130 Fix performance data label containing spaces in check_snmp (Jochen Bern)
132 1.4.15 27th July 2010
134 New check_ntp_peer -m and -n options to check the number of usable time sources ("truechimers")
135 New check_disk_smb -a option which allows for specifying the IP address of the remote server
136 New check_radius -N option which allows for specifying the value of the NAS-IP-Address attribute
137 New check_snmp --rate option to store differences between invocations. Saves state in PREFIX/var/{plugin}
138 check_snmp -l label option now also changes the perfdata label. See WARNINGS
139 check_snmp has an --invert-search option which reverses status of the string and regexp searches
140 check_http now displays the missing search string and the URL in the output when failed (Duncan Ferguson - #2999924)
141 Updated Nagios::Plugin perl module
142 Updated gnulib to June 2010
145 Fix check_ircd binding to wrong interface (#668778)
146 Add proxy-authorization option to check_http (Marcel Kuiper - #1323230, Bryan Irvine - #2863925)
147 check_icmp now increment the sequence counter in each packet
148 Fix usage of repeated -o options in check_snmp
149 Try to detect arguments passed via --with-ping[6]-command and set options accordingly (#2908236)
150 Fix memory leak in check_http for large pages (Jimmy Bergman - #2957455)
151 Fix compilation with GCC 2.96 (Konstantin Khomoutov - #2977105)
152 Fix regression introduced in #1867716 where partially valid performance strings would not be printed anymore
153 Fix regression in check_http ssl checks on some servers - make SNI an option
154 Fix guest mode support in check_disk_smb
155 Fix check_disk_smb and check_ircd failures when run via ePN
156 check_ldap now allows for specifying an empty LDAP base
157 Fix compilation error of pst3 in Solaris 8
158 Fix check_radius returning OK on unexpected results (Craig Leres - #2911752)
159 Fix translations when extra-opts aren't enabled (Jan Wagner - #2832884)
160 Fix parsing of multi-line strings in check_snmp (broken in 1.4.14) and enhance output in such case (#2832451)
161 Fix detection of pst3 64-bit compile flags with Sun CC
162 Fix cmd_run overwriting the environment, which would break some commands that needed it
163 Allow check_ifstatus to accept version=2c - used to only allow version=2 (Brian Landers)
164 Fix examples in check_disk, where it implied was possible to suffix unit values to warn/crit parameters
167 Updated developer documentation to say that performance labels should not have an equals sign or
168 single quote in the label
169 check_http 1.4.14 introduced SSL SNI support - you now have to enable it explicitly with "--sni"
170 check_snmp -l label option is also used for the performance label. This could change history from previous uses
172 1.4.14 16th September 2009
173 check_http has options to specify the HTTP method (#2155152)
174 check_users thresholds were not working exactly as documented (>= rather than >)
175 Updated tinderbox_build script to point to new tinderbox server
176 check_ifoperstatus -n flag now works as expected (sf.net #1569488)
177 check_ifoperstatus now supports ifType based lookup for ifIndex
178 check_ups now sends a LOGOUT string (debian bug #387001)
179 Extra-opts (C plugins) now allows both '#' and ';' for comments (like N::P)
180 Extra-opts (C plugins) does not allow trailing comments anymore (like N::P)
181 Fixed dependency issue on libtap when ./configure --enable-libtap used. Warning: will install libtap
182 Fixed segfault in extra-opts under some circumstance when reading multiple sections
183 Fix long options parsing in check_disk, check_dns, check_mrtg, check_mrtgtraf and check_tcp
184 Add missing long options for check_nt (for use with extra-opts)
185 check_icmp now reports min and max round trip time perfdata (Steve Rader)
186 Fixed check_http bug where additional headers with redirection caused a segfault (Dieter Van de Walle - 2089159)
187 check_disk: make autofs mount paths specified with -p before we determine the mount list (Erik Welch)
188 Fixed buffer overflow in check_ntp/check_ntp_peer (#1999319, Ubuntu #291265)
189 Re-bundled libtap as a built-in library (--enable-libtap): detects system library as pre-1.4.13 and does not install the built-in library anymore
190 Fixed check_mrtg returning UNKNOWN instead of OK (bug #2378068)
191 Fixed check_http behaviour: all check are now performed as long as a valid response is returned (sf.net #1460312)
192 check_http --onredirect=sticky follows using the same IP address (sf.net #2550208)
193 check_http --onredirect=stickyport also follows the same port
194 Fixed coredump from check_nt when invalid drive is specified (#2179754 - Olli Hauer)
195 Fixed crash from check_nt when -H unspecified or given multiple times (sf.net #2731755, debian #521097)
196 Fixed passing of quotes in OID for check_snmp (#1985230 - Jan Wagner, patch by John Barbuto)
197 Fixed check_http sending HTTP/1.0 with v1.1 headers (#2638765)
198 Fixed check_http not timing-out on redirects
199 Fixed negate not printing the real timeout in ALRM handler when left to default
200 negate timeout result is now configurable
201 Fixed segfault in check_mysql with old slaves (#2696823 - Oskar Ahner)
202 check_nt can return UNKNOWN on timeouts (-u)
203 Fixed typos for check_disk (Chris Pepper)
204 Fixed check_mysql* not using password set in my.cnf (#2531905 - Ben Timby) - Specify an empty password explicitly if you need to override it.
205 Fixed awk subst.in/subst script path error (#2722832 - Martin Foster)
206 check_http: Add SSL/TLS hostname extension support (SNI) - (#1939022 - Joe Presbrey)
207 Fixed wrong perfdata label for output traffic in check_mrtgtraf (#2654308 - Gavin Williams)
208 Fixed check_by_ssh interpretation of quotes in -C parameter (#1985246, #2268675)
209 check_snmp now supports standard threshold ranges and doubles (floating numbers) in thresholds
210 check_fping now supports passing target timeout and interval to fping (#2347686 - Martin Foster)
211 Fixed SNMPv3 behaviour of check_ifoperstatus and check_ifstatus. Added -P to define privprotocol (#2343438 - Robin Schroeder)
212 check_ifoperstatus and check_ifstatus are now more user-friendly in case of missing arguments
213 pst3 compile fix for Sun Studio Compiler (Grant Byers)
215 1.4.13 25th Sept 2008
216 Fix Debian bug #460097: check_http --max-age broken (Hilko Bengen)
217 Optimised pst3 for systems with large number of processes (Duncan Ferguson)
218 Updated Nagios::Plugin to 0.27
219 Fix Debian bug #479013: check_dig's -l is mandatory now (sf.net #1986306)
220 check_dig now returns CRITICAL instead of WARNING when no answer section is found
221 check_procs now captures stderr in external command and adds to plugin output
222 check_snmp now only prints perfdata for non numeric values (#1867716)
223 check_icmp now supports packet size modification
224 check_http -e now accepts a comma-delimited list of expected status codes (Sven Nierlein)
225 libtap now included with this distribution for easier testing. Run ./configure with --enable-libtap
226 check_ntp_peer/check_ntp_time used to show port in --help but ignored the argument - now implemented
227 Fix possible segfault in check_ntp_peer with deliberately invalid packets
230 Added ./check_nt -v INSTANCES to count number of instances (Alessandro Ren)
231 New check_icmp -s option to specify the source IP address
232 check_dns now sorts addresses for testing results for more than one returned IP (Matthias Urlichs)
233 Fix segfault in check_ntp_time and (deprecated) check_ntp (Bug #1862300)
234 check_disk should now work with large file systems (2TB+) on all archs that supports it
235 Fixed check_disk disk usage calculation when using --group=NAME (related to bug #1348746)
236 Fix help text of check_ntp* (Bug #1880095)
237 Fix bugs and flaws in best offset server selection of check_ntp_time and (deprecated) check_ntp
238 check_ntp_peer now checks for the LI_ALARM flag
239 Sync to latest Gnulib (includes new floorf function)
240 check_pgsql now successfully builds with postgres lib v8.3 (Bug #1878972)
241 check_procs now accepts --ereg-argument-array for a regular expression match to the argument array
242 Reverted back to using pst3 for Solaris systems. Fixed issues re: -m64 needed to compile on 64bit systems
243 If applicable, Gettext linked dynamically instead of statically
244 check_dig can now pass arguments to dig by using -A/--dig-arguments (#1874041/#1889453)
245 check_ntp and check_ntp_peer now show proper jitter/stratum thresholds longopts in --help
246 check_dns now allow to repeat -a to match multiple possibly returned address (common with load balancers)
247 check_mysql and check_radius now try clearing password in processlist just like check_mysql_query
248 check_mysql and check_mysql_query now support sockets explicitely (-s, --socket)
249 negate now has the ability to replace the status text as well (-s, --substitute)
250 Added performance data to check_ping (Christian Schneemann)
251 Added support for --extra-opts in all C plugins (disabled by default, see configure --help)
252 Fixed passive option in check_by_ssh
253 On non-skipped stderr, check_by_ssh now returns UNKNOWN or worse (result from command) instead of always UNKNOWN.
254 Fix linking against OpenSSL where libdl is required
256 1.4.11 13th December 2007
257 Fixed check_http regression in 1.4.10 where following redirects to
258 relative URLs on virtual hosts failed if both "-H" and "-I" were used
259 Merged two new checks that deprecates check_ntp: check_ntp_peer and check_ntp_time.
260 You should read the --help output so see which one is suitable for you. check_ntp_peer
261 implement stratum thresholds support (feature request #1703823).
262 check_ntp now returns UNKNOWN instead of WARNING if jitter is unavailable (jitter=-1.000000)
263 as long as the thresholds range include -1. If no offset threshold is specified
264 and the offset is unavailable, will return UNKNOWN as well.
265 NOTE: If jitter thresholds are specified as integers it will return CRITICAL if jitter
266 is "-1" as the default range starts at 0. See Examples in --help output.
267 Fixed broken usage2 in check_snmp and check_cluster
268 check_cluster now accepts all valid characters in its thresholds ("-", "@", "~")
269 Fixed check_disk reporting OK if disk usage grows over 100% (bug #1348746).
270 The problem happens to be in Gnulib but a workaround have been implemented in check_disk.c
271 Fixed check_load argument handling when not passing triplets (bug #1831890)
272 Fixed buffer overflow in check_snmp (CVE-2007-5623)
273 Tinderbox builds now runs tests in a verbose mode
274 Updated Nagios::Plugin to 0.22
275 VPATH problem fixed for compiling plugins-root
277 1.4.10 28th September 2007
278 Fix check_http buffer overflow vulnerability when following HTTP redirects (CVE-2007-5198)
279 check_http now explicitly asks HTTP/1.1 servers to close the connection
280 after completion of the response
281 Check_ldaps' guessing which secure method to use (starttls vs. ssl on connect)
282 is now deprecated. See --help for further information.
283 Check_disk now calls stat() on all filesystems to check. (Old: only the ones selected using -p)
284 A meaningful error message (eg "Stale NFS Handle") is printed if stat fails.
285 New check_disk option -L: Only check local filesystems, but call stat() on remote ones, too.
286 Thus accessibility of remote filesystems can be checked without any threshold comparison.
287 Check_disk's --help now prints some examples for the new features introduced in 1.4.8
288 New check_disk -i/-I option to ignore pathes/partitions based on regular expressions
289 New check_disk -A option to select all filesystems explicitly
290 WARNING: check_disk's -E option must now be passed before -p or -r/-R arguments
291 Passing -E after -p or -r results in UNKNOWN state, now
292 This is needed due to the new ignore feature
293 Fix check_disk bug when mixing case sensitive and case insensitive regex arguments
294 New check_dhcp -u/--unicast option for emulating a DHCP relay in order
295 to check DHCP servers on remote networks
296 New check_dhcp -m/--mac option which allows for specifying the MAC
297 address to use in the DHCP request
298 The check_dhcp -r and -s options now accept host names, too
299 Fix possible check_icmp bus errors on some (non-x86/AMD64) platforms
300 Fix check_smtp's handling of multiple-packet server responses
301 WARNING: Fix for negate which may break existing commands:
302 - stop evaluating command line options through shell twice
303 - enforce a full path for the command to run
304 The "negate" utility can now remap custom states
305 Check_radius now supports radiusclient-ng
306 The (undocumented) positional parameter parsing which check_radius used
307 instead of getopt(3) if 8 arguments were given is no longer available
308 Check_by_ssh now supports multiline output
309 IPv6 support can now be disabled using ./configure --without-ipv6
310 Fix check_ntp now honor ntp flags
313 Inclusion of contrib/check_cluster2 as check_cluster with some improvements
314 New/improved -E/--skip-stderr and -S/--skip-stdout options for check_by_ssh
315 check_snmp now supports Counter64
316 Fix compilation of check_ldap, check_radius and check_pgsql
317 check_load can optionally divide by number of cpus
318 Fix check_time returning wrong OK when time is before the epoch on some arch
319 Make check_http output more consistent
320 Fix possible check_http segfaults when following HTTP redirects
321 check_snmp don't warn anymore if something is printed on stderr
322 Fix check_tcp segfault when multiple expect strings are given
323 New option for check_tcp: -A/--all to test if all given expect strings match
325 1.4.8 11th April 2007
326 Respects --without-world-permissions for setuid plugins
327 check_disk extra options for regex matching of filesystems and grouping of filesystems
328 for collective thresholds
329 Better configure test for mysqlclient availability
330 Various check_ntp fixes
332 1.4.7 29th March 2007
333 check_procs uses /usr/ucb/ps if available - fixes pst3 problems on Solaris
334 Fixed MKINSTALLDIRS problem in po/
335 ./configure now detects if possible to compile check_mysql
336 Fixed broken HELO in check_smtp
337 check_icmp now allows to set a minimum number of hosts required for successs (-m)
338 check_icmp fix for *BSD when running for long time
339 check_ping times out 1 second quicker if host is unreachable
340 Root plugins installed with world executable
341 check_sybase from contrib now maintained in MonitoringExchange
342 --with-nagios-user/group reinstated ./configure option
343 New --without-world-permissions ./configure option
345 1.4.6 5th February 2007
346 Reduced number of DNS lookups in check_ping and netutils.c for IPv6 configurations
347 Fixed compile problems with *BSD re: alloca.h
348 Fixed Solaris problems with check_swap (tested on Solaris 9)
349 Fixed check_swap for HP/UX where swapinfo command was incorrect
350 Fixed check_disk inode threshold checks, regressed at r1.4.4.
351 Fixed crit/warn for check_disk perf data
352 Fixed buffer overflow in check_procs
353 Fixed error handling for UNIX sockets in netutils.c
354 New -q and -o options for check_by_ssh which are handed over to ssh(1) as is
355 Synced with latest GNUlib
356 Fixed check_jabber always returns warning
359 Fixed bug in perl's is_hostname routine
362 New C based check_ntp. The perl version is now deprecated.
364 Notice: plugins in contrib/ will start to be removed from this distribution.
365 Please check at http://www.monitoringexchange.org for contributed plugins
366 Major bug fixes to check_disk where values were incorrectly calculated and alerted on.
367 check_udp2 removed. check_udp is now linked to check_tcp.c
368 check_mailq now errors if the sub-program run returns non-zero return code. This would appear
369 as if mailqs were okay when the nagios user could not query the mail-queues
370 Compile problems with check_snmp fixed
373 Setuid plugins (check_dhcp, check_icmp) separated into plugins-root/. Run make install as root to install
374 SSL plugins work with gnutls as well as OpenSSL
375 check_mysql_query added to run arbitrary SQL commands, with threshold checking
376 libtool now required for development systems
377 Notice: check_udp (compiled from check_udp.c) will be deprecated in the next release.
378 check_udp2 should be used instead and will be renamed to check_udp
381 Fix for Redhat ES4 for check_dns and check_dig
384 IPv6 support in check_ping, check_by_ssh, check_http, check_ldap, check_smtp, check_tcp
385 Internationalisation support
386 Performance data added to most plugins
387 check_disk now using GNU coreutils code
388 New plugins - check_dhcp, check_icmp
389 contrib/check_citrix has been replaced by contrib/check_ica* (requires packet_utils.pm in libexec)
390 check_http --min changed to --pagesize, added max so min:max in check
391 check_vsz and check_rss deprecated - functionality moved into check_procs
392 check_swap % thresholds changed to measure amount free, instead of amount used
393 check_disk syntax changes for -p, -m/-M, defaults to MB instead of kB
394 check_procs -C expects no path for the command name