nested macros allowed: 'normal' macros within objects.cache macros
change in child timeout handling: full time range is used for child checks now
macro substitution is case insensitive now (thx to Morbid Angel)
fixed empty plugin output in checkresults files (thx to Joerg Krueger)
added livestatus host expansion: livestatus [ tag ] = host.*
fix for checking of warning and critical perfdata fields, thx to makana
objects.cache macros added: $type:field:key:value$ is substituted by objects.cache value
restructured error messaging: messages are assigned to child checks whereever applicable
now accepting perfdata with trailing semicolons (like in PNP)
report mode 32768 now suppresses all OK states in
ASCII mode, thx to Joel Brooks
added old
XML structure input mode for upgrade issues, thx to Joerg Krueger
passive feeded service definitions can be created automatically now
added check for invalid name characters (allowed are A-Za-z0-9_-)
second version of livestatus [ tag ] = Filter: field ~ pattern (needs Monitoring::Livestatus)
added first version of livestatus [ tag ] = host:service (needs Monitoring::Livestatus)
fixes for eval[ tag::plugin ]. thx again, Henry
child checks are assigned to own process group (thx to Henry Rolofs)
timeout routine now also kills child checks with positive numbers (thanks to Henry Rolofs)
added new report mode which hides OK states / only shows problem states (thx to Timo Kempkens)
added ok/warning/critical/unknown state rules for particular child checks: check_multi goes check_generic
added fatal exit for two conditions: fork error and tmpfile error
added encode option for providing complete config files via command line, thx to Michael Kraus and Gerhard Lausser
added plugin_path variable, it allows to separate different plugins from libexecdir
restructured pnp variables, pnp_cgi is replaced by pnp_url and pnp_version
pnp popup errors fixed, thanks to Joerg Linge, Sebastian Waitz and Rene Rosenberger
added new variable child_interval to provide time interval between child checks (default: 0.0 seconds)
fixed status output for '-r 64': OK is only displayed, if plugin output does not contain OK itself, thanks to Jens Person
added extended_perfdata, with particular state counters and overall states, thanks to Gerd von Egidy and Joerg Linge
added support for icinga, 'configure –with-nagios_name=icinga'
command file can now be feeded via STDIN, thanks to Joerg Krueger for this idea
added 'snmp [ TAG ] = HOST:OID' (snmpget)
added variable mouseover_type to cover PNP 0.6 and 0.4 differences, default is PNP 0.6
first version of new 'cumulate' function, which aggregates data a la 'top'
fixed handling of non-existing signals, and non-existing RCs
invisible checks (eval) will not be counted any more, since this confused some people :)
added output [ TAG ] statement, it provides customizeable output everywhere, no more X plugins checked, Y plugins OK…
rewritten parsing code - now trailing backslashes are not necessary any more
replaced pnp_path by pnp_cgi with full path to PNP graph.php (PNP 0.6 coming soon)
'-' as tag-char was broken, thx Hendrik
added showcase / sample-config feed_passive to demonstrate feeding features
added -s suppress_service=<service1>,<service2> to exclude services from report_send_nsca and report_checkresults_file
added STDIN mode: check_multi now can report
XML output feeded via STDIN
hopefully userfriendly report mode specification: -r 1+4+8 is the same like -r 13
new report mode 'report_checkresults_file' added for direct injection of child checks as passive service check results
added caching for 'service [ tag ]'
added send_nsca report option 4096, it sends child results to NSCA master
added COUNT(ALL) to provide cluster rules like this one
state [ CRITICAL ] = COUNT(CRITICAL) < COUNT(ALL)-1
added 'service [ tag ] = host:service' to read service states from status.dat
again some fixes for configure
option action_mouseover now allows PNP popups in extinfo, thx to Amit Mor
added example section in documentation - find these examples in sample-config
at last: first configure version (including lots of cleanup and directory moving)
added PERFDATA_<tag> environment var: perfdata for child checks, thx Bjoern Becker
underscore is now allowed tag character
added pnp_path (as replacement for action_url) and image_path, thx Amit Mor
fixed html output for status_in_extinfo mode: <br /> instead of \n, thx Sascha
added query_examples.html with sample queries
status_query.cgi now with multiple combined queries
nagios_status.cgi renamed to status_query.cgi
added nagios_status.cgi to contrib directory, queries for all and everything ;)
added option to provide multi output also in status cgi view, thx Sascha
-
added FindBin and changed default libexec path to $FindBin::Bin, thx. Wolfgang
basename(plugin) - removed /path/from/<pluginname> for proper perfdata, thx. Gerhard
illegal_chars removal also for input (command lines)
added fork for execution of child checks (allows better timeout handling)
fixed main loop error handling (prevent repetition)
better timeout handling: kill process group leader instead of die avoids hang of program
removed newline cleanup for output
replaced old contrib notification template with new notify_service_html
fixed plugin counting (now reflects parent plugin)
fixed eeval treatment of invalid RCs (like command)
first preparation for data persistence
check_multi environment vars begin now all with MULTI_
data structure update: all settings now in $opt{set}
data structure update: parent data now in $cmds{0}
fixed initial RC (thx Henry)
minor fix in
HTML verbose output
removed CR from wintel output and stderr (thx Sascha)
add report option DETAIL_SERVICE_DEFINITION for multi_feed_passive
set xml_elements=<list> allows customization of
XML output
removed '# comments within lines
orphaned parameters check for command line
proper error handling for creation of tmp directory
fixed treatment of macros (-s-option): upper case → case sensitive
at last: EPN capability (without 'use strict')
first steps to flexible output definition
added tmp_dir for temporary files
added
URL to usage for documentation
commands extensible during runtime → call parse_lines within eeval
fixed missing escaping for '#'
improved verbose mode also for
HTML output
improved verbose mode for
ASCII output
removed suppress_perfdata for check_multi perfdata, PNP needs this
ok, convinced

removed forced drop_privileges, warning message is sufficient
moved drop_privileges before parameter evaluation: needs compile time UID now
drop_privileges if ran as root, default: run as user nagios
old exec with tempfiles is standard until new exec is validated (exec_open3:0)
redesign of exec_command: open3 from IPC module does the trick now

more indentation for
HTML view - indent_label var created
fixed handling of splitted multiline performance data (thx to Lorenz Bucher)
added '#' comments functionality within lines (not complete comment lines)
macro handling: non found $MACRO$ will be replaced by ''
fixed substitute_macros
minor fixes for notes_url links: alternation of link and icon, column spanning
added tag_notes_link to implement notes_url as link behind tag in extinfo
added notes_url for child checks and MULTI_TAG var
fixed perfdata parser (thx Gerhard)
added signal handler to catch terminating signals (cleanup,report)
macro_substitution now also in tags (thx Willi)
added error message if no plugin defined at all
fixed plugin state for command file not found to UNKNOWN (thx Rudolf)
added recursive call detection
collapse option to hide OK output in
HTML view
error messages in plugin output instead of long plugin output
indentation of recursive checks in
ASCII mode
perl module version check for Getopt::Long
added control variable for use of
HTML::Entities
restrict tag characters to A-Za-z0-9_:
add libexec path to PATH var during check_multi runtime
fixed regex in perfdata check routine (thx denschi)
fixed
CSS tags for
HTML output (thx TheCry)
print command runtime 0 if command is not executed due to timeout
last rc from eval will also be mentioned for state evaluation
added -x / execute option to provide commandline also for commands
added file_extension setting to specify config file extension
fixed perfdata label sanitizing (thx Jens)
added explicit perfdata plugin specification (thx to Joerg Linge)
fixed state substitution (now only for state statements)
fixed check_multi performance data labels
added
ASCII output into
HTML comments for notification scripts
splitted eval into eeval (echo eval) and eval
multi label fix backported into stable 0.16
minor cleanups
enhanced performance string error parsing
performance labels delimiters '::' → '_'
minor fixes(eval error output,
HTML::Entities use in eval…)
added $STATE_<tag>$ vars
fixed ::multi_label:: problems with ::tags
new option -s suppress_perfdata=<tag1>,[<tag2>][,…]
discarding incorrect perfdata (in order to save the other)
fixed
HTML::entities (thx to Gerhard Lausser)
added set option: –set ENV_VAR=xyz
added continuation lines capability for config files
some minor debugging changes
added eval [ TAG ] = PERLEXPR
ePN support removed again (too many error conditions)
fixed
HTML issues (table specific, thx to Wolfgang Barth)
ePN support
removed –state option (replaced by state evaluation)
replaced -r 64 (command list) and -r 1024 (state eval) by verbose option
added –verbose (level 0-3) option and DEBUG routine
added 'ignore_missing_cmd_file' option for command overloading
added –set option to add multiple config values
added command overloading mechanism
removed brackets from
HTML view
no MULTI label any more, standard is: no label
multiple config files supported: -f <file> -f <file>…
corrected line (<l10) of ePN optout statement
added state evaluation reporting
replaced ranges with state evaluation
fixed bug with recursive concatenated performance labels
added range support (check_multi now can replace check_cluster!)
prepared recursive calls, added dotted line to
HTML view
fixed bug with parent timeout smaller than child timeout
fixed error reporting for missing config file
reordered report functions
added NAGIOS2 report mode with most important info in one line
extra http report function
setting report standard to 13 (verbose header line, stderr and perfdata)
in order to get proper output on command line
extended html report mode to full table
performance star to the front (thx Joerg)
added PNP link option for extended info
added
HTML coloring for extended info
performance data label separator is now '::' to avoid mismatches
added DISPLAY_COMMAND_LIST to show full list of commands in extended_output
if plugin specified with full path, do not use libexec path
added blanks to result lists to provide wrapping in
HTML output