The main new things is a much improved client syntax as well as fully functional client modules and much improved handling of "Clients".
Get it from the download section (113) or here:
- On linux just checkout trunk and build (see build page)
I will post a guide to getting started with 0.4.0 later tonight.
Full change log:
2011-12-06 MickeM * Fixed so command line client wont try to run commands in modules which does not support it. * Changed to when no settings is found a default one is created * Removed old "location" key from switch context and changed so it use the new number scheme 2011-12-06 MickeM * Added python unittests to make sure threading is working properly * Simpliefied and cleaned up the command line syntax a bit * Now --exec is the default option for client mode (but it will notify you it thought so) * Added "command-less" execution to PythonScript so you can do --exec --script ... (without having --exec run) * Fixed an issue related to python threading * Fixed Scheduler header propgation * Fixed so all Client module use "complex" API meaning headers are propagated correctly * Fixed scheduler alias issue 2011-11-27 MickeM * Fixed some NSCA issues (reading from new conf) * Fixed some linux build issues (related to refactoring) 2011-11-27 MickeM * Major refactoring in the command line interface * Added support for alias to many common module (command line) so: nscp eventlog (is the same as nscp client --module CheckEventLog) * Fixed issue with CheckEventLog message rendering and eventid * Refactored all Client modules to all support command line, commands and submissions. * Added uniform handling of "everything" to all Client plugins * Fixed SyslogClient to work "as advertised" (ie. all hardcoded stuff is removed) * Fixed utf8 issue with text strings (now have a working concept which needs to be implementd "all over the place") * Many issues and fixes related to clients. * Fixed so CheckEvent log (insert) works much better (added new options)
We now have the first beta version of 0.4.0 released. The main goal of this version is to verify that everything works "smoothly" for existing users. So essentally try to upgrade an existing 0.3.x version and let me know if everything is working out alright.
Everything should be the same after upgrading to 0.4.0 and you should not notice any differences. But this is an early release so please be carefull as it probably will have many issues and defects yet.
But it would realley help me and speed things along if a lot of people could help test this version with various existing configurations.
Also please do a backup of your existing configuration before installing this version (in case the installer is broken).
Also I will tonight try to start answering all questions last few weeks, I have been busy elesewhere last few weeks...
Since elfichero asked for a changelog I pasted it in. Notice These are changes since 0.4.x was split apart. But during a lot of the internal work I did not keep track of changes are things were moving back and forth so the "internal changes" will not be reflected here in detail.
I will write up a blog post about "whats new" in 0.4.x but in essence the "core" is new whereas the plugins (check_xxx) are the same (ish). There is also also a lot of new plugins (which were not part of 0.3.9).
2011-11-14 MickeM * Fixed issue with installer not saving nsc.ini when upgrading from 0.3.9 2011-11-09 MickeM * Added initial SyslogClient module to allow syuslog forwarding (of passive checks ish) Still requires template support and configuration options (mainly PoC right now). * Added initial SMTPClient to allow sending messages via SMTP. Still requires template support and configuration options (mainly PoC right now). * Fixed unicode log issue (still not sure message format is correct) * Renamed Message to log in internal wrapper API * Fixed issue in settings old (regarding readin new keys, not 100% supported yet) 2011-11-06 MickeM * Had some "vacation" so no updates for a while * A lot of fixes to the NSCA parts (now 100% compatible with old settings file) * Added option to read sections (to plugin API) * Fixed issues in settings wrapper so child paths are also mapped (not just keys) * Many fixes related to NRPE/NSCA/* * "RC quality" expect RC within the week (only need to fix default config file somehow) * Upgraded all unit test to use the simplified API * Fixed a some unicode issues in PythonScript module * Improved threading a bit * Fixed CheckSystem (service check) * Fixed duplicate keys (when replacing) in old settings client 2011-10-21 MickeM * Some more threading issues in Python (works perfectly(?) now) * Refactored the tests a bit making test suites runable from a central hub * Fixed soo everything builds and works on Linux 2011-10-19 MickeM * Fixed some threadding issues in PythonScript * Still working on refactoring the unittest helpers a bit 2011-10-16 MickeM * Fixed issue with loading zero-byte UTF-8 config files * Fixed some issues with settings subsystem (debug log as well as createing instances for --generate) * Added ability to set event log to real-time * Added support for multiple eventlogs in real-time 2011-10-09 MickeM * Real-time CheckEventLog working (still only for one, and I think application log) * Added python tests to validfate that Real-time eventlog is working. * Fixed som defects here and there (now builds on Linux again) * Fixed so it builds in "debug mode" * Fixed issue in grammar which caused infiniate loop in som cases * Fixed so error rendering in eventlog works with "infininate number of argumnets" * Added support for targeting execs (in API) * Fixed some invalid return messages * Streamlined submissions wrappers to be more inline with "other wrappers" * Fixed a myrriad of minor python script bugs * Added sleep command (which sometimes causes issues so use with care) 2011-10-06 MickeM * Initial command for createing eventlog records * Initial real-time eventlog checker * Fixed obscure c-tor issue with filters 2011-09-27 MickeM * Fixed many many issues all over the place as I tried to make things working for my pressention at nwc. 2011-09-24 MickeM * Started on NSCA unit-tests in python * Refactored channel API a bit to better suite NSCA (and how it actually works) * Changed how headers are created (nothice this might have broken NSCP stuff, havent checked) * Created helper lib for Python Unittests 2011-09-21 MickeM * Renamed NSCAAgent to NSCAClient (to be consistant) * Created a NSCAServer module (again for consistancy) This will be the defenition of the new "channels" so keep a lookout in the next few weeks 2011-09-18 MickeM * Implemented first version of DistributedClient and DistributedSServer which work so now we have a proper message based transport. Still a lot of rough edges such as cookie and authentication support is hard coded. We also need a proper two way distributed server as well as implement "all" payload types. 2011-09-11 MickeM * Massive overhaul here and there * Added new helper for handling "targets" (so they are the same) * Extracted "command line handling" so all clients will work the same * Extracted command processor to a common class to make all clients work the same * Added initial zeromq stuff (nothing usable) * Added an implementation layer for NSCP protocol parsing (so zeromq stuff can reuse it) 2011-09-05 MickeM * Cleaned up some dependencies (on config.h) * Fixed invalid data in config.h.in 2011-09-03 MickeM (0.4.0.93) * Created a protcol buffer free version of the python test script * Upgraded to new version of simpleinin class * Added new component for python protocol buffer library to installer * Added installer for unittests to test.py run like so: nscp --client --module PythonScript --command execute-and-load-python --script test.py * Fixed so settings are created if not existing * Fixed so plugins are not loaded in client mode * Fixed so core is booting correctly in client mode * Added new option --settings --switch <context> to allow switching context without migrating data * Fixed unicode error on linux (settings file) 2011-09-02 MickeM * Fixed several issues in PythonScript * PythonScript supports loading multiple instances as well as scripts * Added some basic channel test to test.py script (the idea is that this will become "unit tests" eventually) 2011-09-01 MickeM * Implemented registration of channels (so no longer faked) * Added settings key to change the NSCAAgent channel name * Addded proper channel handling to PythonScript module * Improved error handling in channels API * Rewrote wrapper API to use templates and classes instead of macros (ish) * Improved the internal plugin wrapping API to support multiple plugin load * Fixed so PythonScript module supports multiple plugin load (with new argument for plugin_id) * Added API for registrying routers and handling routing (almost there now) 2011-09-01 MickeM * Fixed issue with messages due to new API 2011-08-31 MickeM * Added support for loading same plugin twice (in different sessions) * Added preliminary support for routing passive checks 2011-08-30 MickeM * Fixed uncaught exception in test client * Added protocol buffers to source (needs to be added to installer as well) * Added example python protocol buffer handler * Added lib folder to python scripting (and automagicall load) 2011-08-29 MickeM * Fixed some *nix build issues... 2011-08-25 MickeM * Fixed some issues in the NSCPClient * Fixed debug log issue in core * Added support for "pushing" passive checks via NSCP 2011-08-24 MickeM * Sever refactoring of the new API (there is now two pb files ipc for NSCP protocol and plugin for plugin communication) * Cleaned up API helper functions * Fixed client argument for "client mode" to allow arbitrary arguments * Cleaned up the argument processor code now requires "mode" to be first argument 2011-08-23 MickeM * Fixed issue in the NSCP server 2011-08-22 MickeM * Added initial NSCP protocol implenmentation (very vrude and not really usefull yet) * Fixed so it builds on linux * Fixed so automagic plugin renaming add lib<LIB name> on *nix. * Fixed so it works on linux (fixed issues with timeout) 2011-08-16 MickeM (0.4.0.85) * Added support for remote WMI checking using target/username/password options like so: CheckWMI target=192.168.0.123 user=\\foobar password=foobar namespace=root\\cimv2 MaxCrit=3 MinWarn=1 "Query:load=Select * from win32_Processor" * Added support for looking up targets to CheckWMI CheckWMI target=my_test_xp MaxCrit=3 MinWarn=1 "Query:load=Select * from win32_Processor" Where <target> is defined under /settings/targets as well as /settings/targets/my_test_xp 2011-08-15 MickeM * Readded allowed hosts function * Moved default socket options to /settings/default/socket * Added more default socket options * Added support for target in default plugin helpers * Added remote WMI commands * Added target section under /settings/targets 2011-08-14 MickeM * NRPEClient now works on linux * Added "portable" settings map file to installer (so it will work with old installed versions) * Rename Function to Registry in PythonScript API as well as some other function renames * Started to clean up the helpers around the API * Added support for execute to PythonScripts to execute commands * BUG: just realised that static plugin instances prevent multiple instances :) Will fix but not now as it is not important (for me)... * Added initial support for channels to PythonScript Core still lacks support for subscribing to arbitrary channels 2011-08-13 MickeM * Added support for command line execution to PythonScript module * Readded support for specifying module on command line with --client mode * Fixed some issues with the NRPEClient module 2011-08-12 MickeM * Finnished (rough) adding back command line exec (with modern API) * Fixed so installer uses correct name for dll:s (now Server not Listsener) 2011-08-11 MickeM * Started to add back command line exec (with modern API) 2011-08-10 MickeM * Fixed linus issues and defect * Fixed some issues in the test python script regarding how prefix is handled * Fixed PythonScript module to actually use the correct function map :) * Fixed so it builds and runs on linux (but parser had issues so disabled som grammar rules whichneeds to be enabled again) * Added a lot of freatures and cleand up the PythonScript module * Started to merge som features from PythonScript back to Lua script 2011-08-07 MickeM * Fixed a lot of issues with PythonScript module adding suport for alias and "raw command processing" * Fixed issue with loading plugins and aliases as well as duplicate plugin detection 2011-08-01 MickeM * Added new module: PythonScript 2011-07-25 MickeM * merged in all 0.3.9 changes * refactored where filter to be "non template" to drastically reduce compile time (as well as potentially size if I ever go dll instead of static link) * streamlined checkeventlog toi be same as "the other" where filters as well as dropped support of "old" syntax. 2010-02-05 * Multiple fixes all over the place * Availible modules: CheckExternalScripts, CheckHelpers, FileLogger, NRPEClient, NRPEServer, Scheduler ! Performance data is still missing (will be for a while yet) 2010-01-31 MickeM + Added google protocol buffers ! Changed internal handle command logic (now uses protocol buffers) - Removed (temporarily) performance data (due to protocol buffer changes) 2010-01-19 MickeM + Rename NRPEListener to NRPEServer + Added NRPEServer to CMake build