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