Author: | Michael Medin |
---|
The main goals of the 0.5.0 is t make NSClient++ easier to use and more future proof.
- New and improved WebUI
- Metrics support
- Improved clients and better support for graphite et.al.
- Fixed count in filters which was not working before
- Added floating point number support to filters
- Numerous bugfixes and minor enhancements
PLEASE NOTE NRPE has been changed (from 0.4.3), for details read below.
While I really loved the new WebUI in 0.4.3 it is much a proof of concept. I have in 0.5.0 reworked this to be much more feature complete and usable but more importatly (for me) better architected. The WebUI is now I think ready for prime time and will probably make configuring NSClient++ much much simpler. A side effect of the new WebUI is the REST support which NSClient++ now has meaning you can now check/configure/* NSClient++ using a REST API.
While metrics might seem like a dumbed down check command (as it lacks the checks) it is actually the foundation of there next generation of NSClient++. But for end-users the main goal right now is that Graphite and Collec-t becomes much simpler. In the future it will also allow for checking compound metrics and other advanced things which is difficult to do today.
The client for instance check_nrpe was a bit buggy in 0.4.4 and 0.4.3. They have been rewritten from scratch and work much more smoothly now. They also work in many instance where before they did not for instance graphite now works.
Another small but important change is allowing floating point support in filters the only real benefit of this currently is that you can specify 2.3G as well as check_pdh where you can now check floating point counters. But as this required a major overhaul of the filter framework it has been long in the making and another important milestone.
count has been a pain for many people as it accidentaly broke in 0.4.3. The problem was that the filter evaluates count on every item this means count < 5 will always be true as the first time count is always 1. This has been fixed and in many cases it will just work. There is however a case when you need to change your filter and that is when you check BOTH count and a value. For instance the following will not work: “count < 5 and load > 20%”. The problem is that count is not avalible when we check load. Thus “the first core” ends up again in an impossible state count is unknown and once count is known the various cou values are no longer avalible. To work around this you can splt them up into multiple filters like so: “filter=count<5” “filter=load>20%”.
- check_eventlog: Eventlog rendering failures are now returned as messages instead of nsclient++ log messages
- check_eventlog: Change the default eventlog command to set warnings for warning in eventlog and crit for errors (instead of using count)
- check_drivesize: default check only checks mounted drives
- External Scripts: #238 Added killer so processes are killed when NSClient++ exits
- check_tasksched: Renamed status to task_status as it clashes with regular status (Fixed #170)
- check_service: removed trigger detection from default service state Fixes #249 I think this causes more confusion then good so for people who want this please do it manually instead... i.e. add “and is_trigger = 0”
The full list of changes (sorted by contex) can be found here:
- New command: check_and_forward to run a check forward check results as passive data check_and_forward command=check_cpu target=NSCA
- New command check_nscp_version to check the NSClient++ version
- New experimental command: check_network
- New command check_ping (CheckNet module)
- New concept metrics
- New Module and check: check_nscp to check nscp via REST
For a list of all changes in 0.4.4 see What’s new in NSClient++ 0.4.4