This file documents the major additions and syntax changes between releases. 1.6 ... ENHANCEMENTS check_mailq now supports auto detection of qmail, postfix, exim and nullmailer with fallback to sendmail check_ide_smart now defaults to plugin output, original output appended with -v Extra-Opts are now enabled by default check_swap now supports a configurable state when there is no swap FIXES Don't let e.g. check_http's -C option reset SSL version if e.g. -S 1 -C 5 is specified check_ide_smart could disable offline auto tests but could not re-enable them. For this reason all SMART command modes have been disabled. check_dig: fix wrong IPv6 arguments order (Stéphane Bortzmeyer) WARNINGS check_procs now ignores its parent process to avoid unexpected results when invoked via certain shells utils.sh no longer defines ECH check_ide_smart -q/--quiet and -n/--nagios (Nagios-compatile output) are now deprecated but accepted for backward-compatibility check_ide_smart -0/--auto-off, -1/--auto-on and -i/--immediate: options have been disabled because they were broken State retention: the NAGIOS_PLUGIN_STATE_DIRECTORY environment variable has been renamed MP_STATE_PATH. The old variable will continue to work in v1.6.x check_swap used to allow returning OK on a system without swap when only percent thresholds were used. This is no longer the case and one must now use -n/--no-swap= The Perl and Shell plugins now use the PATH specified via ./configure's --trusted-path option, or "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" by default 1.5 2nd October 2013 ENHANCEMENTS New check_dbi plugin for checking an (SQL) database using DBI Let OpenSSL load its configuration file (see the OPENSSL_config(3) man page) Add performance data to check_apt Add performance data to check_procs Added -4/-6 options to check_dig (Ville Mattila) New check_oracle --connect option to perform real login New check_nagios -t option to override the default timeout New check_disk -f/--freespace-ignore-reserved option to ignore space reserved for root New check_disk -N/--include-type option to limit the filesystem types to check Allow for building the plugins in parallel Add --without-{dbi,ldap,radius} options to ./configure Made Verbose output of check_sensors compliant (Gabriele Tozzi) New switch -E/--extended-perfdata for check_http to print additional performance data (Sebastian Nohn) New check_http -d option to specify a string to expect within the response headers New check_http -J/-K options for client certificate authentication support Add support for executing queries to check_pgsql Let check_pgsql accept a UNIX socket directory as hostname New check_pgsql -o option to specify additional connection parameters New check_fping -S option to specify the source IP address New check_fping -I option to specify the interface to bind to Let check_fping support IPv6 New check_procs -k option to ignore kernel threads (on Linux) Let check_procs use /proc//exe (if available) instead of getpid(2), unless -T is specified Let check_mysql support SSL Let check_mysql add perfromance metrics for all checks New check_mysql -f option to specify a client options file New check_mysql -g option to specify a client options group New check_snmp --offset option to allow for adding/substracting an offset value to sensor data Let check_snmp support an arbitrary number of OIDs Let check_ide_smart support NetBSD FIXES Change the MAIL FROM command generated by check_smtp to be RFC compliant Fix compilation of check_http without SSL support Fix check_snmp reversed threshold ranges (backward-compatibility) Fix check_snmp memory violation when using more than 8 oids (Robin Sonefors) Fix check_apt security regular expression (Alex Bradley) Fix check_http handling extra header (-k) containing semicolons (Richard Leitner) Fix check_apt handling unknown exit codes from apt-get (Richard Leitner) Fix deprecated imports of check_nmap.py (Fabio Rueda) WARNINGS check_http behaviour of -k/--header changed since it does not seperate multiple headers by semicolons anymore. Use multiple -k switches instead. check_http's --proxy_authorization option is now called --proxy-authorization (it was always documented this way) The contrib directory has been removed from this distribution 1.4.16 27th June 2012 ENHANCEMENTS check_nt UPTIME accepts warning/critical thresholds (Ryan Kelly) check_disk_smb now allows spaces in share names (#990948, #1370031, Debian #601699) check_http now uses standard threshold functions (enables floating point and ranges) check_http now checks for and prints the certificate cn (hostname) in SSL certificate checks (Stéphane Urbanovski) check_http now supports an optional -S/--ssl value to choose the SSL protocol version (#3066166 - Jason Lunn) Add perfdata to check_ssh (#3244097 - Marco Beck) New option to check_smtp to ignore failures when sending QUIT (#3358348 - Duncan Ferguson) New check_by_ssh -F option which allows for specifying an alternative ssh_config(5) file (#2895334 - Sven Nierlein) check_sensors now detects faulty sensors unless --ignore-fault is specified (Jan Wagner) utils.sh now provides a check_range function (Alex Griffin) Improved the performance of check_users (Marc Remy) Add perfdata to check_disk_smb (Debian #654259 - Charles-Henri Larose) Updated Nagios::Plugin perl module Add warning threshold to certificate expiration checks of check_tcp/http/smtp (William Leibzon) Add --perf-oids option for check_snmp (Jochen Bern) FIXES Fix check_disk free space calculation if blocksizes differ within a disk group (Bekar - #2973603) check_disk_smb now handles NT_STATUS_ACCESS_DENIED properly (Debian #601696) Make check_snmp work more like v1.4.14 with regard to using special values (Timeticks, STRING) as numeric thresholds Fix check_ldap overriding the port when --ssl was specified after -p Fix check_procs where regex input of '|' would get displayed in output - now replaced with ',' Fix segfault in check_host when hostname returns multiple IP addresses (Sebastian Harl) Fix check_smtp and check_tcp where duplicate messages were displayed for certificate errors Fix check_ping's parsing of ping6(1) output (#1894850, Debian #514588, Debian #662638 - Matej Vela) Fix a check_dhcp bug which was triggered by checking Windows 2003 DHCP servers (#3503921) Disable RFC4507 support, to work around SSL negotiation issues with (at least) some Tomcat versions Fix performance data label containing spaces in check_snmp (Jochen Bern) 1.4.15 27th July 2010 ENHANCEMENTS New check_ntp_peer -m and -n options to check the number of usable time sources ("truechimers") New check_disk_smb -a option which allows for specifying the IP address of the remote server New check_radius -N option which allows for specifying the value of the NAS-IP-Address attribute New check_snmp --rate option to store differences between invocations. Saves state in PREFIX/var/{plugin} check_snmp -l label option now also changes the perfdata label. See WARNINGS check_snmp has an --invert-search option which reverses status of the string and regexp searches check_http now displays the missing search string and the URL in the output when failed (Duncan Ferguson - #2999924) Updated Nagios::Plugin perl module Updated gnulib to June 2010 FIXES Fix check_ircd binding to wrong interface (#668778) Add proxy-authorization option to check_http (Marcel Kuiper - #1323230, Bryan Irvine - #2863925) check_icmp now increment the sequence counter in each packet Fix usage of repeated -o options in check_snmp Try to detect arguments passed via --with-ping[6]-command and set options accordingly (#2908236) Fix memory leak in check_http for large pages (Jimmy Bergman - #2957455) Fix compilation with GCC 2.96 (Konstantin Khomoutov - #2977105) Fix regression introduced in #1867716 where partially valid performance strings would not be printed anymore Fix regression in check_http ssl checks on some servers - make SNI an option Fix guest mode support in check_disk_smb Fix check_disk_smb and check_ircd failures when run via ePN check_ldap now allows for specifying an empty LDAP base Fix compilation error of pst3 in Solaris 8 Fix check_radius returning OK on unexpected results (Craig Leres - #2911752) Fix translations when extra-opts aren't enabled (Jan Wagner - #2832884) Fix parsing of multi-line strings in check_snmp (broken in 1.4.14) and enhance output in such case (#2832451) Fix detection of pst3 64-bit compile flags with Sun CC Fix cmd_run overwriting the environment, which would break some commands that needed it Allow check_ifstatus to accept version=2c - used to only allow version=2 (Brian Landers) Fix examples in check_disk, where it implied was possible to suffix unit values to warn/crit parameters WARNINGS Updated developer documentation to say that performance labels should not have an equals sign or single quote in the label check_http 1.4.14 introduced SSL SNI support - you now have to enable it explicitly with "--sni" check_snmp -l label option is also used for the performance label. This could change history from previous uses 1.4.14 16th September 2009 check_http has options to specify the HTTP method (#2155152) check_users thresholds were not working exactly as documented (>= rather than >) Updated tinderbox_build script to point to new tinderbox server check_ifoperstatus -n flag now works as expected (sf.net #1569488) check_ifoperstatus now supports ifType based lookup for ifIndex check_ups now sends a LOGOUT string (debian bug #387001) Extra-opts (C plugins) now allows both '#' and ';' for comments (like N::P) Extra-opts (C plugins) does not allow trailing comments anymore (like N::P) Fixed dependency issue on libtap when ./configure --enable-libtap used. Warning: will install libtap Fixed segfault in extra-opts under some circumstance when reading multiple sections Fix long options parsing in check_disk, check_dns, check_mrtg, check_mrtgtraf and check_tcp Add missing long options for check_nt (for use with extra-opts) check_icmp now reports min and max round trip time perfdata (Steve Rader) Fixed check_http bug where additional headers with redirection caused a segfault (Dieter Van de Walle - 2089159) check_disk: make autofs mount paths specified with -p before we determine the mount list (Erik Welch) Fixed buffer overflow in check_ntp/check_ntp_peer (#1999319, Ubuntu #291265) 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 Fixed check_mrtg returning UNKNOWN instead of OK (bug #2378068) Fixed check_http behaviour: all check are now performed as long as a valid response is returned (sf.net #1460312) check_http --onredirect=sticky follows using the same IP address (sf.net #2550208) check_http --onredirect=stickyport also follows the same port Fixed coredump from check_nt when invalid drive is specified (#2179754 - Olli Hauer) Fixed crash from check_nt when -H unspecified or given multiple times (sf.net #2731755, debian #521097) Fixed passing of quotes in OID for check_snmp (#1985230 - Jan Wagner, patch by John Barbuto) Fixed check_http sending HTTP/1.0 with v1.1 headers (#2638765) Fixed check_http not timing-out on redirects Fixed negate not printing the real timeout in ALRM handler when left to default negate timeout result is now configurable Fixed segfault in check_mysql with old slaves (#2696823 - Oskar Ahner) check_nt can return UNKNOWN on timeouts (-u) Fixed typos for check_disk (Chris Pepper) Fixed check_mysql* not using password set in my.cnf (#2531905 - Ben Timby) - Specify an empty password explicitly if you need to override it. Fixed awk subst.in/subst script path error (#2722832 - Martin Foster) check_http: Add SSL/TLS hostname extension support (SNI) - (#1939022 - Joe Presbrey) Fixed wrong perfdata label for output traffic in check_mrtgtraf (#2654308 - Gavin Williams) Fixed check_by_ssh interpretation of quotes in -C parameter (#1985246, #2268675) check_snmp now supports standard threshold ranges and doubles (floating numbers) in thresholds check_fping now supports passing target timeout and interval to fping (#2347686 - Martin Foster) Fixed SNMPv3 behaviour of check_ifoperstatus and check_ifstatus. Added -P to define privprotocol (#2343438 - Robin Schroeder) check_ifoperstatus and check_ifstatus are now more user-friendly in case of missing arguments pst3 compile fix for Sun Studio Compiler (Grant Byers) 1.4.13 25th Sept 2008 Fix Debian bug #460097: check_http --max-age broken (Hilko Bengen) Optimised pst3 for systems with large number of processes (Duncan Ferguson) Updated Nagios::Plugin to 0.27 Fix Debian bug #479013: check_dig's -l is mandatory now (sf.net #1986306) check_dig now returns CRITICAL instead of WARNING when no answer section is found check_procs now captures stderr in external command and adds to plugin output check_snmp now only prints perfdata for non numeric values (#1867716) check_icmp now supports packet size modification check_http -e now accepts a comma-delimited list of expected status codes (Sven Nierlein) libtap now included with this distribution for easier testing. Run ./configure with --enable-libtap check_ntp_peer/check_ntp_time used to show port in --help but ignored the argument - now implemented Fix possible segfault in check_ntp_peer with deliberately invalid packets 1.4.12 27th May 2008 Added ./check_nt -v INSTANCES to count number of instances (Alessandro Ren) New check_icmp -s option to specify the source IP address check_dns now sorts addresses for testing results for more than one returned IP (Matthias Urlichs) Fix segfault in check_ntp_time and (deprecated) check_ntp (Bug #1862300) check_disk should now work with large file systems (2TB+) on all archs that supports it Fixed check_disk disk usage calculation when using --group=NAME (related to bug #1348746) Fix help text of check_ntp* (Bug #1880095) Fix bugs and flaws in best offset server selection of check_ntp_time and (deprecated) check_ntp check_ntp_peer now checks for the LI_ALARM flag Sync to latest Gnulib (includes new floorf function) check_pgsql now successfully builds with postgres lib v8.3 (Bug #1878972) check_procs now accepts --ereg-argument-array for a regular expression match to the argument array Reverted back to using pst3 for Solaris systems. Fixed issues re: -m64 needed to compile on 64bit systems If applicable, Gettext linked dynamically instead of statically check_dig can now pass arguments to dig by using -A/--dig-arguments (#1874041/#1889453) check_ntp and check_ntp_peer now show proper jitter/stratum thresholds longopts in --help check_dns now allow to repeat -a to match multiple possibly returned address (common with load balancers) check_mysql and check_radius now try clearing password in processlist just like check_mysql_query check_mysql and check_mysql_query now support sockets explicitely (-s, --socket) negate now has the ability to replace the status text as well (-s, --substitute) Added performance data to check_ping (Christian Schneemann) Added support for --extra-opts in all C plugins (disabled by default, see configure --help) Fixed passive option in check_by_ssh On non-skipped stderr, check_by_ssh now returns UNKNOWN or worse (result from command) instead of always UNKNOWN. Fix linking against OpenSSL where libdl is required 1.4.11 13th December 2007 Fixed check_http regression in 1.4.10 where following redirects to relative URLs on virtual hosts failed if both "-H" and "-I" were used Merged two new checks that deprecates check_ntp: check_ntp_peer and check_ntp_time. You should read the --help output so see which one is suitable for you. check_ntp_peer implement stratum thresholds support (feature request #1703823). check_ntp now returns UNKNOWN instead of WARNING if jitter is unavailable (jitter=-1.000000) as long as the thresholds range include -1. If no offset threshold is specified and the offset is unavailable, will return UNKNOWN as well. NOTE: If jitter thresholds are specified as integers it will return CRITICAL if jitter is "-1" as the default range starts at 0. See Examples in --help output. Fixed broken usage2 in check_snmp and check_cluster check_cluster now accepts all valid characters in its thresholds ("-", "@", "~") Fixed check_disk reporting OK if disk usage grows over 100% (bug #1348746). The problem happens to be in Gnulib but a workaround have been implemented in check_disk.c Fixed check_load argument handling when not passing triplets (bug #1831890) Fixed buffer overflow in check_snmp (CVE-2007-5623) Tinderbox builds now runs tests in a verbose mode Updated Nagios::Plugin to 0.22 VPATH problem fixed for compiling plugins-root 1.4.10 28th September 2007 Fix check_http buffer overflow vulnerability when following HTTP redirects (CVE-2007-5198) check_http now explicitly asks HTTP/1.1 servers to close the connection after completion of the response Check_ldaps' guessing which secure method to use (starttls vs. ssl on connect) is now deprecated. See --help for further information. Check_disk now calls stat() on all filesystems to check. (Old: only the ones selected using -p) A meaningful error message (eg "Stale NFS Handle") is printed if stat fails. New check_disk option -L: Only check local filesystems, but call stat() on remote ones, too. Thus accessibility of remote filesystems can be checked without any threshold comparison. Check_disk's --help now prints some examples for the new features introduced in 1.4.8 New check_disk -i/-I option to ignore pathes/partitions based on regular expressions New check_disk -A option to select all filesystems explicitly WARNING: check_disk's -E option must now be passed before -p or -r/-R arguments Passing -E after -p or -r results in UNKNOWN state, now This is needed due to the new ignore feature Fix check_disk bug when mixing case sensitive and case insensitive regex arguments New check_dhcp -u/--unicast option for emulating a DHCP relay in order to check DHCP servers on remote networks New check_dhcp -m/--mac option which allows for specifying the MAC address to use in the DHCP request The check_dhcp -r and -s options now accept host names, too Fix possible check_icmp bus errors on some (non-x86/AMD64) platforms Fix check_smtp's handling of multiple-packet server responses WARNING: Fix for negate which may break existing commands: - stop evaluating command line options through shell twice - enforce a full path for the command to run The "negate" utility can now remap custom states Check_radius now supports radiusclient-ng The (undocumented) positional parameter parsing which check_radius used instead of getopt(3) if 8 arguments were given is no longer available Check_by_ssh now supports multiline output IPv6 support can now be disabled using ./configure --without-ipv6 Fix check_ntp now honor ntp flags 1.4.9 4th June 2007 Inclusion of contrib/check_cluster2 as check_cluster with some improvements New/improved -E/--skip-stderr and -S/--skip-stdout options for check_by_ssh check_snmp now supports Counter64 Fix compilation of check_ldap, check_radius and check_pgsql check_load can optionally divide by number of cpus Fix check_time returning wrong OK when time is before the epoch on some arch Make check_http output more consistent Fix possible check_http segfaults when following HTTP redirects check_snmp don't warn anymore if something is printed on stderr Fix check_tcp segfault when multiple expect strings are given New option for check_tcp: -A/--all to test if all given expect strings match 1.4.8 11th April 2007 Respects --without-world-permissions for setuid plugins check_disk extra options for regex matching of filesystems and grouping of filesystems for collective thresholds Better configure test for mysqlclient availability Various check_ntp fixes 1.4.7 29th March 2007 check_procs uses /usr/ucb/ps if available - fixes pst3 problems on Solaris Fixed MKINSTALLDIRS problem in po/ ./configure now detects if possible to compile check_mysql Fixed broken HELO in check_smtp check_icmp now allows to set a minimum number of hosts required for successs (-m) check_icmp fix for *BSD when running for long time check_ping times out 1 second quicker if host is unreachable Root plugins installed with world executable check_sybase from contrib now maintained in MonitoringExchange --with-nagios-user/group reinstated ./configure option New --without-world-permissions ./configure option 1.4.6 5th February 2007 Reduced number of DNS lookups in check_ping and netutils.c for IPv6 configurations Fixed compile problems with *BSD re: alloca.h Fixed Solaris problems with check_swap (tested on Solaris 9) Fixed check_swap for HP/UX where swapinfo command was incorrect Fixed check_disk inode threshold checks, regressed at r1.4.4. Fixed crit/warn for check_disk perf data Fixed buffer overflow in check_procs Fixed error handling for UNIX sockets in netutils.c New -q and -o options for check_by_ssh which are handed over to ssh(1) as is Synced with latest GNUlib Fixed check_jabber always returns warning 1.4.5 Fixed bug in perl's is_hostname routine 1.4.4 New C based check_ntp. The perl version is now deprecated. New check_apt plugin Notice: plugins in contrib/ will start to be removed from this distribution. Please check at http://www.monitoringexchange.org for contributed plugins Major bug fixes to check_disk where values were incorrectly calculated and alerted on. check_udp2 removed. check_udp is now linked to check_tcp.c check_mailq now errors if the sub-program run returns non-zero return code. This would appear as if mailqs were okay when the nagios user could not query the mail-queues Compile problems with check_snmp fixed 1.4.3 Setuid plugins (check_dhcp, check_icmp) separated into plugins-root/. Run make install as root to install SSL plugins work with gnutls as well as OpenSSL check_mysql_query added to run arbitrary SQL commands, with threshold checking libtool now required for development systems Notice: check_udp (compiled from check_udp.c) will be deprecated in the next release. check_udp2 should be used instead and will be renamed to check_udp 1.4.2 Fix for Redhat ES4 for check_dns and check_dig 1.4 IPv6 support in check_ping, check_by_ssh, check_http, check_ldap, check_smtp, check_tcp Internationalisation support Performance data added to most plugins check_disk now using GNU coreutils code New plugins - check_dhcp, check_icmp contrib/check_citrix has been replaced by contrib/check_ica* (requires packet_utils.pm in libexec) check_http --min changed to --pagesize, added max so min:max in check check_vsz and check_rss deprecated - functionality moved into check_procs check_swap % thresholds changed to measure amount free, instead of amount used check_disk syntax changes for -p, -m/-M, defaults to MB instead of kB check_procs -C expects no path for the command name