@mickem mickem released this Mar 11, 2008 · 1577 commits to master since this release

Well, only a week or so late :)

A lot of new features and fixes, a lot more then intended in fact, in this maintenance release. I will try to
update the wiki to reflect this new version during the coming week or so but writing documentation is pretty boring so might take a while :)

The IA64 version will take a while as well, since I need to port the code to
VS-2008 before I can build. Main highlights in this new version are:

  • Logfile in Unicode (now logging in a galaxy far far away will also work :)
  • Improved Eventlog (can now properly render messages, return only unique errors and a lot of other enhancements)
  • New interactive Installer (very simple as of now, but still)
  • Variable packet size for NRPE module (needs recompile of check_nrpe)
  • New NRPE Client (to check "other" services via NRPE)
  • New CheckExternalScripts module (simpler then the "old" NRPE version)
  • New NSCA module with proper Encryption
  • New LUA module (write your own checks with LUA scripts)
  • Improved stability
  • Improved SysTray (nicer dialogs and improved stability)
  • Index-lookups of PDH counters (hopefully this will once-and.-for-all fixes the dreaded PDH counter thread issues)

Full change log below:

2008-03-08 MickeM
 * Changed so log is now in Unicode format
   Hopefully this will make it simpler to diagnose PDH issues in "strange locales".
   If anyone hates this let me know and I will add an option to use "old ansi log".
 * Fixed so the console is logged as ANSI (properly) and all Unicode's are discarded.
   This means "strangeness" in Unicode and non-us-ascii chars on the console,
    so for details refer to the log-file which is proper Unicode.
 + Since log module is loaded "after" the client has booted I added a "hello" message that prints the current version
    (if you find this annoying let me know, I will make it optional :)
 * Fixed some issues in the registry handling

2008-03-06 MickeM
 * Fixed silly ordering bug with the <> syntax.

2008-03-05 MickeM
 + Added debug to new section [Eventlog], when enabled it will (log) what lines matched what, this is a pretty big performance overhead so don't run with this one.
 + Added syntax to new section [Eventlog] used as a shorthand for the syntax to use as "default" (when no syntax=... option is given)
 * Fixed an issue with eventlog and . matching.
 + Added shorthand ! for != in "all" numeric filters (eventlog)
 + Added <> (same as ! and !=) as NRPE breaks the use of ! (in "all" numeric filters (eventlog))
   Try using: filter-eventType=<>warning to remove everything that is not a warning
 * Fixed two spelling mistakes in the SysTray module.
 * Fixed 64-bit issues with installer
 * Fixed so installer uninstalls/installs the service

2008-02-26 MickeM
 + Added installer

2008-02-22 MickeM
 * Fixed issues in the NRPE module (now returns the correct status)
 + Added a lot of "error log" for when the packet size in NRPEListener is not correct 
    (might make it simpler to diagnose problems)

2008-02-20 MickeM
 + Added new module NRPEClient that can act as a NRPE client, might be useful for testing things and 
   eventually for relaying events.
   Usage: nsclient++ -noboot NRPEClient -H -p 5666 -c check_something -a foo bar
   This is an early concept so don't expect much...
 * Fixed a bug in NSCA module (now it works again :)
 + Added a command wrapper for the NRPECLient module so now it can act as a check command.
   (No argument handling yet though), For a sample check out the [NRPE Client Handlers] section in NSC.ini

2008-02-19 MickeM
 + Fixed a buffer overflow in the NRPE socket handling.

2008-02-18 MickeM
 + Added proper output handling to process subsystem (now you can execute programs that return "much" data.
 + Added select support for SSL_write (now you can send "any amount of data" to the (SSL) socket.
   Since check_nrpe doesn't do this it wont work in that end, but still...

2008-02-16 MickeM
 + Re factored ExternalCommand handling so NRPE and new module does the same thing.

2008-02-14 MickeM
 + Added so commands starting in host_ (NSCA Handlers) are sent as host-commands
 * Fixed a copy constructor in NSCA Commands (now service checks are sent as service checks)

2008-02-13 MickeM
 + Added string_length to [Settings] as well (used internally) for all "injected" buffers.
 * Fixed issue with scripts result truncated after 1024 chars 
    (now they return "all" output and thus you can use the NRPE settings I added yesterday :)
 + Added hostname setting to [NSCA] section (must have been  when I did not add it before)
 + Added to NSCA truncates output when to long.

2008-02-12 MickeM
 + Added new option for the [NRPE] section string_length which is the length of the NRPE strings 
   (notice you need to recompile the check_nrpe to match this value)
 * Improved exception handling in the PDH collector (hopefully less deadlocks)

2008-02-11 MickeM
 + Added encryption support for NSCA module (about half of the algorithms are available, 
     if someone wants to use one not available let me know, and I will try to add it)

2008-02-09 MickeM
 + New module CheckExternalScripts to handle 1, external script (similar to the old NRPE but in its own module)
   - Can Check batch/vbs/programs/*
   - Works with NSCA module (if you don't want to have NRPE at the same time)
   - Simpler syntax (discarded old and added new section for alias)
   - Started to add "sample alias" to ease initial setup and give some nice ideas (please provide me with feedback on them)

2008-02-08 MickeM
 + Added some more default catch handlers (on the "core" side of plugin-calls).

2008-02-07 MickeM
 + Added default catch handlers to all wrapped plug in calls.

2008-02-05 MickeM
 * Fixed issue with checkEventLog (sometimes you got the wrong message back)

2008-02-04 MickeM
 *** Happy Birthday bogi!! :)
 * Fixed issues with performance counter rendering (mainly checkDisk)

2008-02-03 MickeM
 + Added encryption subsystem to NSCA module (still no mcrypt support, but at least you have "xor" and passwords)
 + Added API for scripts to register commands
 + Added command descriptions (for some modules)
 * Fixed issue in NRPE that displayed a console window when running commands
 * New improved "inject" dialog from the system tray
   Lists available commands, and shows command descriptions and a lot of other improvements.
 + Added an internal log windows that displays log in real-time.
 + Fixed some issues with the dialog procs (should work smoother now, especially Termination)

2008-02-02 MickeM
 * Might have fixed the "missing eventlog messages" problem.
 + Added %count% parameter to syntax which (when used with unique) will display the number of hits for each message displayed.

2008-01-27 MickeM
 * Fixed a memory-leak in format_time
 * Fixed so time/date is displayed in "local time" (not UTC) for the eventlog check
 + Added %message% to eventlog check. Will display the "proper formated eventlog message" as in the eventlog viewer.
   For this to work you need to have the descriptions flag set
   In short: /nrpe -H -c checkEventLog -a truncate=1024 "syntax=%generated%: %message%" descriptions=true file=System MaxWarn=1 MaxCrit=1 filter+eventType==error filter+generated=\<12h filter=new filter=all filter=in
 + Added option "unique" to CheckEventLog If this is present only unique errors will be returned.
   The uniqueness is defined by event-log, event-source, event-id and event-category.

2007-12-16 MickeM
 + A lot of new features in the LUA module only "arguments" missing (as well as exposing more of the API)
 * Changed some exceptions that were thrown wrong

2007-12-11 MickeM
 + Added support for index-lookups of PDH counters (hopefully *all* locale problems are now fixed (yeah right))

2007-12-10 MickeM
 + Added initial draft for LUA module

2007-12-09 MickeM
 + Added a check if the service is started when running with /test so you get a warning
 + Improved the socket thread with:
    * a default-catch
    * If the socket fails to start we still wait for it to shut down (no error message)
 + Added first version of the NSCA agent (NSCAgent.dll)
   (no encryption support as of yet, but will come)

// MickeM