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