Updates on the 0.4.x branch
Hello everyone!
I have been working quite hard on the 0.4.x branch this summer (instead of fixing bugs in the 0.3.x branch) and things are finally starting to look good.
Right now the following is implemented:
- Settings subsystem (old, ini and registry)
- New plugin API (which is based off google protocol buffers)
- New Settings client (for plugins, which is wicked cool)
- NRPE client/server (all based off boost::asio)
- NSCA client
- CheckDisk, CheckEventLog, CheckExternalScripts, CheckHelpers, CheckSystem have all been ported and works
- FileLogger have also been ported
- The new scheduler is working (still needs a better grouping support though)
What is currently missing is:
- LUAScript, CheckTaskSched, CheckWMI
- .net wrapper plugin
- NSClientListener (check_nt)
- SysTray (a lot of work is required here and probably wont make it into 0.4.0)
- The installer (probably a lot of work to handle upgrades and such)
- Improve the scheduler to handle groups and such.
So we are getting fairly close to a set of alfa builds (sans installer) and I hope to have most of the above done in a few weeks.
It would be interesting in the next few weeks to get some people interested in testing it out and helping me with migration issues and how you like the new stuff.
// Michael Medin
Answers...
Hello,
I have updated most questions and what not which has dropped in during summer so if I have missed your question please post a follow up so I can see what I have missed and I will get back ASAP.
One of the big reasons for the inactivity and the delay is that I got a baby girl last week so things have been rather hectic leading up to (and since).
Another reason is that I have migrated my VPS to another host which means installing mail and what not all over again...
And yet another reason is the warm weather and nice summer which sometimes keeps me from spending time in front of my computer :P
// Michael Medin
Vacation mode!
Just a heads up: It is now 30+ degrees (centigrades) in Sweden so I am (and have been for the past week) in vacation mode which means I update things rather less frequently then i normally do.
If something is urgent drop me an email at michael <AT> medin <DOT> name (mention NSClient++ in the subject) and I will try to deal with it "slightly more" then elsewhere. I will hopefully try to work off the backlog every other week or so so not to seldom...
// Michael Medin
Lufthansa apparently is the worst airline, shall I change my license to reflect that?
Hello,
I have a question for you (the general public, the community, the...)
Would it be considered bad/immature/evil/* to add a clause to the license for the binaries which denies for instance Lufthansa to use NSClient++? This would not change the source code (which would still be OSS) but it would restrict them from using the binaries I provide.
The reason in short is they f*cked me right up the *ss when I was flying with them last week (ended up getting home one day later paying over 300 euro extra). Then in addition to this their "customer support" where extremely unfriendly and unhelpful. In essence they told "ohh... your life sucks, go buy a new one, I don't really care..."
And I am thinking (since I have hits from them) they are essentially using my program for free yet they care nothing for me when I am their customer?
So this is one of those questions, shall I give freely to someone who only takes from me?
// Michael Medin
0.3.8 Released!
Hello google bot! (and some happy weeks even the yahoo bot).
I have just released 0.3.8 version. It has a lot of new features and, I am especially, proud of the new event log filters. I will try to see if I can propagate it out to sourceforge and nagios forge during the weekend unfortunately I did not have time this morning...
For those who has not seen the eventlog filter I recommend reading up on the quick guide i wrote on the CheckEventLog/CheckEventLog page. It has a fairly good getting started guide I hope. But a quick note is that the new default filter is:
generated > -2d AND severity NOT IN ('success', 'informational')
Which I believe is a lot more readable the before.
Other news are many minor changes and fixes in the file7disk related checks as well as index in CheckCounter to allow handling multiple languages and locales.
The changelog grouped by module can be found here:
New commands - CheckSingleFile - to check spects of a single file use like so: CheckSingleFile file=d:\nrpe_512.pem warn=>100 check=line-count warn=>100 crit=>170 check=size - CheckSingleRegEntry CheckSingleRegEntry path=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\MaxSize "syntax=%path%: %int%" warn==20971520 crit==20971520 check=int ShowAll=long Scripts - Cleaned up scripts folder - Added new "NagiosPlugin library" from op5 - Added check_no_rdp.vbs (Checks that no RDP connection is online) - Added check_battery.vbs which checks batterys via WMI - Added check_printer.vbs to check printers via WMI CheckExternalScript - Added new "script templating" thing to simplify adding scripts: [Wrapped Scripts] test=check_test.ps1 ; (will use correct template for running ps1 commands) - Fixed erroneous error message "Failed to peek buffer" NSCA - Added obfuscated_password to NSCA section - Added so "global" ([Settings] password=...) passwords are read from the NSCA module CheckEventLog - Brand new filter syntax based on SQL where clauses Avalible operators are: =, !=, >, <, >=, <=, eq, ne, gt, lt, ge, le, OR, AND, like, IN, NOT IN CheckCounter - Added new index option to CheckCounter to allow looking up index and thus you can use the same checks on multiple locales and also use characters not present in "NRPE charset) CheckCounter index "Counter=\1450(_Total)\1458" ShowAll MaxWarn=500 MaxCrit=1000 nsclient++ -noboot CheckSystem pdhlookup Utskrifter - Optional new "safe" PDH subsystem (slower, but possibly safer) pdh_subsystem=thread-safe - Added checks for missing counters to CheckCounter CheckDriveSize - Added volume support for CheckDriveSize (CHeckAll) like so: CheckDriveSize MinWarn=50% MinCrit=25% CheckAll=volumes FilterType=FIXED FilterType=REMOTE - Changed "missing" disks are now a critical error and not unknown - Improved CheckDriveSize bad FilterType error message - Added option to return error messages to the client [CheckDisk] show_errors=1 (defauilt is off 0) CheckFile2 - Dates are signed (means you can use neagitve dates to check the future) CheckFile2 debug path=D:\tmp\dates filter+creation=<-30m MaxWarn=1 MaxCrit=1 "syntax=%filename%: %creation%" CRITICAL:future.txt: C: Thursday, December 31, 2009 12:47:11, found files: 1 > critical|'found files'=1;1;1; - Added checks for missing path and missing filter on CheckFile2 thus - Fixed so files locked for reading can be checked (basic checks) - Improved speed of file chyecking (does not check file data twice) - Changed so missing files and such generate an error - Fixed major issue with date matching in CheckFile* which was not working at all. - Exe file version checks: CheckFile2 path=D:\tmp pattern=*.exe filter+version=!=6.0.2900.5512 "syntax=%filename%: %version%" MaxWarn=1 - Line count check: CheckFile2 path=D:\tmp pattern=*.txt filter+line-count=ne:3 "syntax=%filename%: %line-count%" MaxWarn=1 - Added ignore-errors to "ignore" any filesystem related errors (NOTICE this is probably not what you want) - Added master-syntax to CheckFile2 to change the overall message like so: %list%, %files%, %matches% CheckFile2 MinWarn=10 MinCrit=10 path=D:\WINDOWS\system32 filter+size=gt:0 truncate=10 ignore-errors "master-syntax=%matches%/%files%" - Added %user% to syntax to print user who generated message CheckEventLog file=application file=system filter=new filter=out MaxWarn=1 MaxCrit=1 filter-generated=>2w filter-severity==success filter-severity==informational truncate=1023 unique descriptions "syntax=%user% (%count%)" CRITICAL: (1), (2), NT INSTANS\SYSTEM (3), NT INSTANS\SYSTEM (3), NT INSTANS\SYSTEM (3), missing (3), missing (5), (4), missing (2), missing (2), missing (2), missing (2), (1), eventlog: 33 > critical|'eventlog'=33;1;1; Generic: - Added != to all string comparisons - Changes syntax of performance counters: Alias is '<alias> %' and it also has the "full" non % data as '<alias>' CheckDriveSize CheckAll MaxWarnUsed=80% MaxCritUsed=90% CRITICAL:CRITICAL: C:\: Total: 146G - Used: 140G (95%) - Free: 6.31G (5%) > critical, D:\: Total: 152G - Used: 148G (97%) - Free: 3.59G (3%) > critical|'C:\ %'=95%;80;90; 'C:\'=140.17G;117.18;131.83;0;146.48; 'D:\ %'=97%;80;90; 'D:\'=147.93G;121.21;136.3;0;151.52; - Added warning message ewhen numerical filters evaluate to zero (and are not 0) - added a new "option" in conjunction with -c you can now do -m to specify the module to load. nsclient++ -m CheckDisk.dll -c CheckDriveSize MaxWarn=100 CheckAll
Please try it and let me know, if nothing major pops up I will release 0.3.8 tomorrow.
// Michael Medin
New (and final) Release Candidate for 0.3.8!
Hello google bot! (and some happy weeks even the yahoo bot).
I have just released the final (I hope) release candidate for the 0.3.8 version. It has a lot of new features and, I am especially, proud of the new event log filters.
For those who has not seen the eventlog filter I recommend reading up on the quick guide i wrote on the CheckEventLog/CheckEventLog page. It has a fairly good getting started guide I hope. But a quick note is that the new default filter is:
generated > -2d AND severity NOT IN ('success', 'informational')
Which I believe is a lot more readable the before.
Other news are many minor changes and fixes in the file7disk related checks as well as index in CheckCounter to allow handling multiple languages and locales.
The changelog grouped by module can be found here:
New commands - CheckSingleFile - to check spects of a single file use like so: CheckSingleFile file=d:\nrpe_512.pem warn=>100 check=line-count warn=>100 crit=>170 check=size - CheckSingleRegEntry CheckSingleRegEntry path=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\MaxSize "syntax=%path%: %int%" warn==20971520 crit==20971520 check=int ShowAll=long Scripts - Cleaned up scripts folder - Added new "NagiosPlugin library" from op5 - Added check_no_rdp.vbs (Checks that no RDP connection is online) - Added check_battery.vbs which checks batterys via WMI - Added check_printer.vbs to check printers via WMI CheckExternalScript - Added new "script templating" thing to simplify adding scripts: [Wrapped Scripts] test=check_test.ps1 ; (will use correct template for running ps1 commands) - Fixed erroneous error message "Failed to peek buffer" NSCA - Added obfuscated_password to NSCA section - Added so "global" ([Settings] password=...) passwords are read from the NSCA module CheckEventLog - Brand new filter syntax based on SQL where clauses Avalible operators are: =, !=, >, <, >=, <=, eq, ne, gt, lt, ge, le, OR, AND, like, IN, NOT IN CheckCounter - Added new index option to CheckCounter to allow looking up index and thus you can use the same checks on multiple locales and also use characters not present in "NRPE charset) CheckCounter index "Counter=\1450(_Total)\1458" ShowAll MaxWarn=500 MaxCrit=1000 nsclient++ -noboot CheckSystem pdhlookup Utskrifter - Optional new "safe" PDH subsystem (slower, but possibly safer) pdh_subsystem=thread-safe - Added checks for missing counters to CheckCounter CheckDriveSize - Added volume support for CheckDriveSize (CHeckAll) like so: CheckDriveSize MinWarn=50% MinCrit=25% CheckAll=volumes FilterType=FIXED FilterType=REMOTE - Changed "missing" disks are now a critical error and not unknown - Improved CheckDriveSize bad FilterType error message - Added option to return error messages to the client [CheckDisk] show_errors=1 (defauilt is off 0) CheckFile2 - Dates are signed (means you can use neagitve dates to check the future) CheckFile2 debug path=D:\tmp\dates filter+creation=<-30m MaxWarn=1 MaxCrit=1 "syntax=%filename%: %creation%" CRITICAL:future.txt: C: Thursday, December 31, 2009 12:47:11, found files: 1 > critical|'found files'=1;1;1; - Added checks for missing path and missing filter on CheckFile2 thus - Fixed so files locked for reading can be checked (basic checks) - Improved speed of file chyecking (does not check file data twice) - Changed so missing files and such generate an error - Fixed major issue with date matching in CheckFile* which was not working at all. - Exe file version checks: CheckFile2 path=D:\tmp pattern=*.exe filter+version=!=6.0.2900.5512 "syntax=%filename%: %version%" MaxWarn=1 - Line count check: CheckFile2 path=D:\tmp pattern=*.txt filter+line-count=ne:3 "syntax=%filename%: %line-count%" MaxWarn=1 - Added ignore-errors to "ignore" any filesystem related errors (NOTICE this is probably not what you want) - Added master-syntax to CheckFile2 to change the overall message like so: %list%, %files%, %matches% CheckFile2 MinWarn=10 MinCrit=10 path=D:\WINDOWS\system32 filter+size=gt:0 truncate=10 ignore-errors "master-syntax=%matches%/%files%" - Added %user% to syntax to print user who generated message CheckEventLog file=application file=system filter=new filter=out MaxWarn=1 MaxCrit=1 filter-generated=>2w filter-severity==success filter-severity==informational truncate=1023 unique descriptions "syntax=%user% (%count%)" CRITICAL: (1), (2), NT INSTANS\SYSTEM (3), NT INSTANS\SYSTEM (3), NT INSTANS\SYSTEM (3), missing (3), missing (5), (4), missing (2), missing (2), missing (2), missing (2), (1), eventlog: 33 > critical|'eventlog'=33;1;1; Generic: - Added != to all string comparisons - Changes syntax of performance counters: Alias is '<alias> %' and it also has the "full" non % data as '<alias>' CheckDriveSize CheckAll MaxWarnUsed=80% MaxCritUsed=90% CRITICAL:CRITICAL: C:\: Total: 146G - Used: 140G (95%) - Free: 6.31G (5%) > critical, D:\: Total: 152G - Used: 148G (97%) - Free: 3.59G (3%) > critical|'C:\ %'=95%;80;90; 'C:\'=140.17G;117.18;131.83;0;146.48; 'D:\ %'=97%;80;90; 'D:\'=147.93G;121.21;136.3;0;151.52; - Added warning message ewhen numerical filters evaluate to zero (and are not 0) - added a new "option" in conjunction with -c you can now do -m to specify the module to load. nsclient++ -m CheckDisk.dll -c CheckDriveSize MaxWarn=100 CheckAll
Please try it and let me know, if nothing major pops up I will release 0.3.8 tomorrow.
// Michael Medin
Away for a bit
I'll be in Cologne/Marl? in Germany for a few days so wont be able to reply much...
// Michael Medin
First RC for 0.3.8
Hello everyone.
Time for a RC:s for the up-coming 0.3.8 so please try it out and let me know. I will try to post a note later on with the cumulative updates but for now you will see whats new in this version only.
2010-04-21 MickeM - 0.3.8 RC1
+ Added support for strings and int (values) to CheckSingleRegEntry
Use like so (int):
CheckSingleRegEntry path=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\MaxSize "syntax=%path%: %int%" warn==20971520 crit==20971520 check=int ShowAll=long
CheckSingleRegEntry path=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\MaxSize "syntax=%path%: %int%" warn==30971520 crit==30971520 check=int ShowAll=long
Use like so (string):
CheckSingleRegEntry path=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\MaxSize "syntax=%path%: %string%" warn==20971520 crit==20971520 check=string ShowAll=long
CheckSingleRegEntry path=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\MaxSize "syntax=%path%: %string%" warn==30971520 crit==30971520 check=string ShowAll=long
This can ofcourse be combined and all valid operators (like regexp, substr, lt, gt, ne etc etc are supported.
// Michael Medin
New nightly build
New minor build with a new command: CheckSingleRegEntry? Used for checking registry entries (at the moment only existence) Scedule postponed 1 week since the eventlog took a bit more time ten I had anticipated and this weekend will be mountainbike weather!!! :)
SOON It is currently building and hopefully will be posted after that.
2010-04-16 MickeM
+ Added new Check to CheckSystem: CheckSingleRegEntry
Similar to the previous CheckSIngleFile but can be used to check aspects of registry entries.
CheckSingleRegEntry path=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\MaxSize "syntax=%path%: %exists%" warn==true crit==true check=exists ShowAll=long
CheckSingleRegEntry path=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\MaxSizeYY "syntax=%path%: %exists%" warn==true crit==true check=exists ShowAll=long
Currently only supports checking existanse of keys but more checks will be added soon.
2010-04-14 MickeM
! Fixed erroneous error message "Failed to peek buffer"
// Michael Medin
New nightly with support for dates in new CheckEventLog
Hello.
A new nightly build is out. It features support for date/time in the new CheckEventLog. Dates are handled somewhat differently from before, but more "logical" I hope. Dates are specified like so:
generated gt -2d
This means event record was generated more recently then "2 days ago". In other words 'generated > (now - 2 days)'. You can of course also specify 'generated gt 2d' which means records generated "in the future" (not very sensible really) but for consistency I think this is much better then "having them then other way around".
This can be combined with the usual AND/OR expressions I mentioned earlier.
generated gt -2d AND severity = 'error'
The above means all records from the last 2 days which has severity error.
A sample command for instance would look like this:
CheckEventLog debug=true file=application file=system MaxWarn=1 MaxCrit=1 "filter=generated gt -2d AND severity = 'error'" truncate=800 unique descriptions "syntax=%severity%: %source%: %generated% %strings% (%count%)"
The overall scheduling for the up-coming 0.3.9 release is RC sometimes this week and unless something pops up a release set for next 2 weeks or so.
// Michael Medin
New nightly with the "new" event log checker
Hello,
The eventlog checker code is now live in the latest nightly build. You can try it wout using something along the lines of the following:
CheckEventLog debug=true file=application file=system MaxWarn=1 MaxCrit=1 "filter=severity = 'error' AND strings like 'SQLEXPRESS'" truncate=800 unique descriptions "syntax=%severity%: %source%: %strings% (%count%)"
Most things are similar the "new" option is: filter=<where expression> where the <where expression> is similar to a SQL where clause.
Operators supported are:
=, !=, >, <, >=, <=, eq, ne, gt, lt, ge, le, OR, AND, like
Keywords supported:
id, source, type, severity, message, strings, written, generated
Types supported:
string, int, severity
In pother words since date is NOT supported you cant really use the written and generated options since you have no way to specify "time" this will be fixed next week. Same thing goes for type which cant (like severity) parse strings into integers.
But PLEASE try this out despite the limitations as I would like some feedback on what kind of features you would need and also find any bugs.
A few examples:
severity = 'error' OR severity = 'warning' (severity = 'error' OR severity = 'warning') AND strings like 'SQLEXPRESS' (severity = 'error' OR severity = 'warning') AND (strings like 'SQLEXPRESS' OR strings like 'SOMETHING ELSE') (severity = 'error' OR severity = 'warning') AND (strings like 'SQLEXPRESS' OR strings like 'SOMETHING ELSE') OR 1 = 1 OR 1 = 2
// Michael Medin
The all-new eventlog checker is working!
Hello everyone (and that is you Google index bot!)
News
Today I can announce the first ever all-new EventLog? check working on my development machine. It was (actually) much much harder to make this then I had initially anticipated and halfway through I almost gave up. The checkin (in a few days or so) will be around 2000 lines of code (thats around 10% of NSClient++) so it was a pretty long haul. Given the complexity I think this will be in beta for a while but I really think the new syntax will be pretty awesome!
How it works
The check I run today looks like so:
CheckEventLog debug=true file=application file=system MaxWarn=1 MaxCrit=1 "filter=severity = 1" truncate=1023 unique descriptions "syntax=%severity%: %source%: %message% (%count%)"
Most of the options are the "same old":
- debug=true Enable debugging (something I always do when I develop things :)
- file=application / system What to check
- MaxWarn/MaxCrit? When it is bad/worse
- truncate Make sure it fits
- unique Keep the result minimal (ie. don't report multiple items)
- descriptions This might be removed as it is sort of superfluous but I am not sure yet.
- syntax Same old same old.
And here it comes
"filter=severity = 1"
- filter Has a new meaning in this case saying report all messages with a severity of 1
Changing this parameter to for instance:
"filter=severity = 1 AND severity = 2"
yields no results as severity cant be BOTH 1 and 2 at the same time where as
"filter=severity = 1 OR severity = 2"
yields more results as we now have both 1 and 2 as allowed values.
As you can see the values are "numeric" at the moment but that will be fixed a bit later on as I get all the conversion code ready.
The nitty gritty details
Another interesting thing is how this works. The expression is parsed into a tree which is "enhanced" in several passes. If we look in the debug log we can see this:
d \CheckEventLog.cpp(648) Using: where
Use the new "where" mode.
Parsing
d \CheckEventLog.cpp(302) Parsing: severity = 1 OR severity = 2 AND 1='1'
d \CheckEventLog.cpp(310) Parsing succeeded: {tbd}op:or({tbd}op:=({tbd}:severity, {tbd}#1), {tbd}op:and({tbd}op:=({tbd}:severity, {tbd}#2), {tbd}op:=({tbd}#1, {tbd}'1')))
Expression was parsed into the tree. All the "tbd" here is the types which at the moment are unknown which the parser will do next.
Type inference
d \CheckEventLog.cpp(318) Type resolution succeeded: {bool}op:or({bool}op:=({int}:severity, {int}#1), {bool}op:and({bool}op:=({int}:severity, {int}#2), {bool}op:=({int}#1, {int}fun:auto_convert({string}'1'))))
Here we have looked up the types.
Automatic conversion
An interesting point here is the
{int}fun:auto_convert({string}'1')
This phase discovered that an "int" was compared to a "string" and "solved" this by converting the string to an int.
Static evaluation
Next up is a static evaluation
d \CheckEventLog.cpp(326) Static evaluation succeeded: {bool}op:or({bool}op:=({int}:severity, {int}#1), {bool}op:and({bool}op:=({int}:severity, {int}#2), {bool}#1))
And as you can see here the function is removed and replaced by an "boolean value" (true). Since the expression does not contain any variables the static evaluation figures out it is pointless to do this over and over and thus removes it.
Variable Binding
d \CheckEventLog.cpp(334) Binding succeeded: {bool}op:or({bool}op:=({int}:severity, {int}#1), {bool}op:and({bool}op:=({int}:severity, {int}#2), {bool}#1))
Here we cant really see a difference since the bindings are not showed but what has happen is that the filter is bound to the variables which will contain the data. This is actually much faster than the old version which did "string" comparisons for every check. Now it already knows what it will do and just executes the code. I have yet to run any tests on this but presumably a well written where clause will be faster then the previous version.
That is all for now good people you can expect nightly builds with this functionality either this week or the next.
// Michael Medin
I am not dead! :)
Hello everyone,
Sorry for being "off-line" last few weeks but I have actually been working more diligently then usual.
What I am working on is a parser for defining filter expressions. The first use case for this is the event log check but in the future this might be added to more places.
The syntax is similar to "SQL WHERE" Clauses so the following will for instance be a valid check:
CheckEventLog MaxWarn=1 MaxCrit=1 "filter=(id = 123 OR id = 321) AND (severity='warning' OR severity='error')"
// Michael Medin
New nightly out...
A new nightly out. Nothing major just a few fixes to the CheckFile related module.
2009-02-26 MickeM * Changed fo missing files and such generate an error * Added option to return error messages to the client [CheckDisk] show_errors=1 (defauilt is off 0) * Added warning message ewhen numerical filters evaluate to zero (and are not 0) * Fixed major issue with date mathing in CheckFile* which was not working at all.
Note though that this new release is built with a new "kit" ie. new version of boost, openssl, and what not so things might be a bit more experimental then usual...
// Michael Medin
Welcome Opsview (Opsera)
Hello,
I would like to welcome Opsera as a Gold sponsor for the NSClient++ project.
In other news I have been mad busy at work and with Windows 7 installes so nothing in the ways of updates. But hopefully after the weekend.
Also I can say: "Windows 7?" I actually dont get the hype. What is "new" it is pretty much like "XP" so in that regard it is a lot better then Vista (which I hated) but I cant really say there is much of a reason to upgrade from XP?
Most of the "addons" I already had in the form of third party products...
Well, we shall see, maybe it will grow on me?
(still havent installed a US enligh spellchecker in Firefox so excuse my spelling errors :)
// Michael Medin
Network trafic!
I forgot to post that the nice people at netways have worked some magic which makes the site A LOT snappier!
The reason for the "slow down" is the 60+Gb/month traffic you all help generate. You can read some more on the netways blog over here http://blog.netways.de/2010/02/10/nsclient-plus-speed/.
// Michael Medin
Welcome community!!! :P
Hello community!
Awesome to see someone actually helping out here :P Really really nice!
Also if there are any handy unix using people out there I will starting next week be doing a small (controlled) alpha of the up-coming 0.4.x branch which will (in addition to windows) also run on unix. The version is far from finished but it would be interesting to see how well it builds out there in the "big world" outside my Debian here at home.
The features currently supported in the 0.4.x branch is:
- NRPE Server
- NRPE Client
- NSCA Client
- Scheduler (NSCA does not have one anymore)
- Logging (to text file)
- CheckHelpers (simplest module)
- CheckExternalScripts
I would also really really like to get feedback on what people would like to see in the form of features and such. Especially on *nix where I am just now starting to thread lightly... Also feel free to let me know if I am stone crazy and should give upon this! :)
And again wicked big thanks to everyone who helps out and such on the forum/wiki/* here!!!
// Michael Medin
Warsaw visit
Hello,
I thought Id quickly post here that I will be in Warsaw (course about coherence) so probably wont be much updates this week. If anyone has any sightseeing ideas or wanna grab a beer or something like that drop me an email at michael at medin dot name.
As for the client there is a new nightly build out a few days ago with some fixes and such. I am currently reworking some stuff in the 0.4.x brance wich I hope to have a beta for in the next few weeks.
// Michael Medin
New 0.3.8 Nightly build out!
Again more improvements and changes to the disk related checks.
Highlights are:
- Better performance data for CheckDrive? (now always shows absolute sizes) so you can plot better graphs.
- Volume support for CheckDriveSize (CheckAll?=volumes)
- User support in syntax for CheckEventLog
- Support for "future dates"
Now is a very good time to submit all feature requests for disk related checks as I am working over those parts.
Full changlog
2009-12-31 MickeM
* Fixed CheckFile* time handling so it is "signed"
This means you can check for "future dates" as well as future dates works correctly:
Like so:
CheckFile2 debug path=D:\tmp\dates filter+creation=>30m MaxWarn=1 MaxCrit=1 "syntax=%filename%: %creation%"
CRITICAL:past.txt: Thursday, December 31, 2009 08:47:30, found files: 1 > critical|'found files'=1;1;1;
CheckFile2 debug path=D:\tmp\dates filter+creation=<-30m MaxWarn=1 MaxCrit=1 "syntax=%filename%: %creation%"
CRITICAL:future.txt: C: Thursday, December 31, 2009 12:47:11, found files: 1 > critical|'found files'=1;1;1;
+ Added volume support for CheckDriveSize (CHeckAll) like so:
Like so:
CheckDriveSize MinWarn=50% MinCrit=25% CheckAll=volumes FilterType=FIXED FilterType=REMOTE
+ Added %user% to syntax to print user who generated message.
Like so:
CheckEventLog file=application file=system filter=new filter=out MaxWarn=1 MaxCrit=1 filter-generated=>2w filter-severity==success filter-severity==informational truncate=1023 unique descriptions "syntax=%user% (%count%)"
CRITICAL: (1), (2), NT INSTANS\SYSTEM (3), NT INSTANS\SYSTEM (3), NT INSTANS\SYSTEM (3), missing (3), missing (5), (4), missing (2), missing (2), missing (2), missing (2), (1), eventlog: 33 > critical|'eventlog'=33;1;1;
2009-12-21 MickeM
! BREAKING CHANGE!
! New perfoamcen data syntax for ALL % checks
Alias is '<alias> %' and it also has the "full" non % data as '<alias>'
Like so:
CheckDriveSize CheckAll MaxWarnUsed=80% MaxCritUsed=90%
CRITICAL:CRITICAL: C:\: Total: 146G - Used: 140G (95%) - Free: 6.31G (5%) > critical, D:\: Total: 152G - Used: 148G (97%) - Free: 3.59G (3%) > critical|'C:\ %'=95%;80;90; 'C:\'=140.17G;117.18;131.83;0;146.48; 'D:\ %'=97%;80;90; 'D:\'=147.93G;121.21;136.3;0;151.52;
CheckDriveSize CheckAll MaxWarnFree=20% MaxCritFree=10%
OK:OK: All drives within bounds.|'C:\ %'=5%;20;10; 'C:\'=140.17G;29.29;14.64;0;146.48; 'D:\ %'=3%;20;10; 'D:\'=147.93G;30.30;15.15;0;151.52;
CheckDriveSize CheckAll MaxWarnUsed=100G MaxCritUsed=150G
WARNING:WARNING: C:\: Total: 146G - Used: 140G (95%) - Free: 6.31G (5%) > warning, D:\: Total: 152G - Used: 148G (97%) - Free: 3.59G (3%) > warning|'C:\ %'=95%;32;4294967294; 'C:\'=140.17G;100;150;0;146.48; 'D:\ %'=97%;35;2; 'D:\'=147.93G;100;150;0;151.52;
CheckDriveSize CheckAll MaxWarnFree=20G MaxCritFree=10G
OK:OK: All drives within bounds.|'C:\ %'=5%;87;94; 'C:\'=140.17G;20;10;0;146.48; 'D:\ %'=3%;87;94; 'D:\'=147.93G;20;10;0;151.52;
// Michael Medin
New nightly out!
Mainly disk and file related additions:
- New command: CheckSingleFile?
- A few new options for CheckFile2
Full changelog here
2009-12-13 MickeM
+ Added new command: CheckSingleFile to check aspects of a single file use like so:
CheckSingleFile file=d:\nrpe_512.pem warn=>100 check=line-count warn=>100 crit=>170 check=size
+ Added option debug to CheckFile2 to enable printing of debug information
+ Added ignore-errors to "ignore" any filesystem related errors (NOTICE this is probably not what you want)
+ Added master-syntax to CheckFile2 to change the overall message like so:
It takes three options (and char data):
* %list% A list of all "files" (syntax controls this)
* %files% number of files
* %matches% number of files matched
CheckFile2 MinWarn=10 MinCrit=10 path=D:\WINDOWS\system32 filter+size=gt:0 truncate=10 ignore-errors "master-syntax=%matches%/%files%"
OK:7177/7...|'found files'=7177;10;10;
2009-12-06 MickeM
+ Added != to all string filters
+ Sorted out the alias handling it is now wither what you specify or "files found" (this makes performance data work)
+ Added version to CheckFile2
CheckFile2 path=D:\tmp pattern=*.exe filter+version=!=1.0 "syntax=%filename%: %version%" MaxWarn=1
CheckFile2 path=D:\tmp pattern=*.exe filter+version=!=6.0.2900.5512 "syntax=%filename%: %version%" MaxWarn=1
+ Added line count to CheckFile2 to count lines
CheckFile2 path=D:\tmp pattern=*.txt filter+line-count=!=2 "syntax=%filename%: %line-count%" MaxWarn=1
CheckFile2 path=D:\tmp pattern=*.txt filter+line-count=ne:3 "syntax=%filename%: %line-count%" MaxWarn=1
0.3.7 Released
New version out mainly a fix for the problems of 0.3.6 version.
Major changes:
* Added argument support to NRPE Client * Some additions and fixes CheckWMI * Improved installer (works on w2k8 etc) * NSCA feature and stability improvments * New command line switchs to easily use NSClient++ from external scripts * Added "firewall exception" to installer * Fixed an issue with the socket data buffer * Fixed issue with CheckExternalScripts and script_dir * Fixed issue with CheckDisk and paths * Documentation!
I think the major thing is the documentation apart from some bug fixes and installer improvements such. Regardless it is a recommended update.
NOTE It is late so I shall update sourceforge and what not tomorrow.
// Michael Medin
Full changelog:
2009-10-11 MickeM + Added argument support to NRPE Client This is temporarily enabled by the same options under the NRPE section. BUT this will change int he future so be ware when using them. 2009-09-20 MickeM * Fixed alias in CheckWMI (now works) + Added columnSyntax to CheckWMI to allow formating of returned data (default is %column%=%value%) + Added columnSeparator to CheckWMI to allow formating of returned data (default is ", ") 2009-09-13 MickeM * Fixed some more issues with the installer should not "work" on Windows 2008 as well as slightly simpler to configure. 2009-09-06 MickeM + Added new option to [NSCA Agent] string_length=<size> of the NSCA_MAX_PLUGINOUTPUT_LENGTH option on the NSCA server. * Readded all the "installer configuration" crap which I accidentaly removed when I fixed the installer... *sigh* 2009-08-30 MickeM + Added -c and -d command line options like so: NSClient++ -c CheckFile2 path=c:\test pattern=*.txt MaxCrit=1 filter+written=gt:2h NSClient++ -c <command> <argument 1> <argument 2> ... -d Is the same thing but with debug enabled. + Added uninstall of old client (sort of broken but works) 2009-08-29 MickeM * Fixed issue with CheckFile (directory) * Rewrote the CA:s in the installer to work "better" (hopefully) in general it should be have more like a propper installer. 2009-07-18 MickeM * Fixed issue with no loggers avalible and "memory leak" * Added "firewall exception" to installer * Fixed an issue with the socket data buffer * Added new option to NSC.ini [NSCA] socket_timeout=30 (timeout in seconds when reading from NSCA sockets) * Fixed issue with NSCA socket. 2009-07-05 MickeM * Fixed issue with CheckExternalScripts and script_dir: not adding the commands properly. * Fixed issue with CheckExternalScripts and script_dir: not using relative paths (#310). 2009-06-20 MickeM * Fixed issue with CheckDisk and paths not working out properly
Release candidate for 0.3.7 out
A new version (release candidate) for the next minor release is out.
Nothing major in the application this version mainly installer work as well as some bugfixes. But and this is a big but it now features both an reference manual as well as a Nagios guide to get you started from Nagios. The material comes from the now up-dated wiki so it is nothing new but a nice touch I hope.
2009-09-20 MickeM * Fixed alias in CheckWMI (now works) + Added columnSyntax to CheckWMI to allow formating of returned data (default is %column%=%value%) + Added columnSeparator to CheckWMI to allow formating of returned data (default is ", ") 2009-09-13 MickeM * Fixed some more issues with the installer should not "work" on Windows 2008 as well as slightly simpler to configure. 2009-09-06 MickeM + Added new option to [NSCA Agent] string_length=<size> of the NSCA_MAX_PLUGINOUTPUT_LENGTH option on the NSCA server. * Readded all the "installer configuration" crap which I accidentaly removed when I fixed the installer... *sigh* 2009-08-30 MickeM + Added -c and -d command line options like so: NSClient++ -c CheckFile2 path=c:\test pattern=*.txt MaxCrit=1 filter+written=gt:2h NSClient++ -c <command> <argument 1> <argument 2> ... -d Is the same thing but with debug enabled. + Added uninstall of old client (sort of broken but works) 2009-08-29 MickeM * Fixed issue with CheckFile (directory) * Rewrote the CA:s in the installer to work "better" (hopefully) in general it should be have more like a propper installer. 2009-07-18 MickeM * Fixed issue with no loggers avalible and "memory leak" * Added "firewall exception" to installer * Fixed an issue with the socket data buffer * Added new option to NSC.ini [NSCA] socket_timeout=30 (timeout in seconds when reading from NSCA sockets) * Fixed issue with NSCA socket. 2009-07-05 MickeM * Fixed issue with CheckExternalScripts and script_dir: not adding the commands properly. * Fixed issue with CheckExternalScripts and script_dir: not using relative paths (#310). 2009-06-20 MickeM * Fixed issue with CheckDisk and paths not working out properly
// Michael Medin
Server downtime
Hello,
Sorry everyone for the downtime but apparently a hardware failure occurred, everything is back up and running now again and I think given the situation this spring it is a huge improvement! Especially since this is the first downtime in months!
UPDATE No planned downtime tomorrow! Just got a quick shout from Bernt Erk at netways that they wont have to move the host tomorrow so no planned downtime for tomorrow.
So once again a big thank you to the people at netways awesome hosting!
// Michael Medin
New nightly: Improved installer
New nightly build out. Mainly this has a much improved installer so please let me know how it work out.
Also if you have an old version of NSCLient++ (which is not upgraded/uninstalled propperly) send mt the install log (msiexec /l* log.txt /i <MSI>) so I can add it to the "uniinstall thingy" I have added.
There is also some fixes in the CheckFile department which fixes a few issues here and there.
// Michael Medin
New guide as well as some wiki updates
Hello everyone (yes, I know.. no one reads this but anyways feels better pretending not talk to myself)...
I have added a new guide (it I hope illustrates the basics of using NSClient++ with Nagios) on how to check if a process is running on a windows machine. It draws upon the earlier guides I published recently and tries to be very through and detailed. Please let me know if they are helpful or not and how I can improve them. The guide ca be found here or from the new Check Guides Page.
I have also reworked the "menu system" for the wiki to something slightly more "compact" and hopefully easier to work with, please let me know what you think.
| Old | New |
![]() |
|
Also don't forget the Netways Conferance this fall:
I will also give a presentation on Application Monitoring where I will dive into how to monitor your Java based middleware via (amongst other things) JMX.
Details on the conference can be found at the web page http://www.netways.de/en/osmc/y2009/splitpage/.
I will be pressenting at Open Source Monitoring Conference
Netways will be holding an Open Source Monitoring Conference with a strong focus on Nagios again this year. I shall (again) be speaking and this year. Last year I did a presentation on Windows monitoring and I will follow up that this year with a workshop. The topic for the workshop will focus around windows monitoring and we will install/configure NSClient++ and then setup a series of checks to monitor your windows environment.
In Addition to this I will also give a presentation on Application Monitoring where I will dive into how to monitor your Java based middleware via (amongst other things) JMX.
Details on the conference can be found at the web page http://www.netways.de/en/osmc/y2009/splitpage/.
Feel free to hit me with questions before and I shall try to incorporate the answers in my presentation. Also if you attended last year feel free to provide me with some feedback so I might improve this years presentation!
// Michael Medin
New Guide and a big thank you to Netways!
Hello everyone.
I have some really nice news and lets get started by a big big thank you to the guys over at netways in Germany for hosting the site. It is an amazing performance improvement!
Secondly to start off the summer I have written a guide on how to use NSClient++ with Nagios (NSClient, NRPE and NSCA) it is brand new and feedback is appreciated!
The guide can be found on the wiki as well as a PDF (attached below). The idea is to distribute the PDF with the installation package as the first step in improving the documentation of NSClient++.
Next up is 0.3.7 build which will fix a few issues and (if I have time) add some new stuff. I shall also go over the wiki and try to update the documentation but it is lengthy and (perhaps more so) boring work.
As always if anyone wants to donate to the project and help keep up my documentation spirit feel free to visit the donation page and become a "fan" of NSClient++. Donations are always welcome!.
And finally another big shout out to the guy at netways!
0.3.6 Release!
Finally after and long overdue is the new version here. This is a major update and a recommended one as there are memory leaks in the previous version.
The highlight in addition to all the fixes and minor things are the experimental new installer which allows you to configure some options while installing NSClient++. The installer should I hope work better and provide easier error handling and such. The only issue thus far are some reports on windows 2007 where it requires administrative privileges to install. I do not have windows 2007 so I cannot confirm this (if someone has windows a spare 2007 or want to sponsor this platform get in touch with me).
A few of the highlights:
* Improved installer * A lot of bugfixes and improvements * Serious memory leak fixed * Added a few new options to NSCA module * New service name and description * Improved CHeckFile2 (new option max-dir-depth, path, pattern) * Added support for changing name and description of service from the /install command line * Added more filter operators to all numeric filters so they accept eq:, ne:, gt:, lt: in addition to =, >, <, <>, !, !=, in: (#269) * Added better support for numerical hit matching in the eventlog module. You can now use exact and detailed matching. * Cleaned up the checkProcState code and it is not a lot better. * Added new option 16bit to checkProcState. When set checkProcState will enumerate all 16 bit processes found running under NTVDM. * Added new command line options pdhlookup and pdhmatch (to CheckSystem) to lookup index and names. * Added new module A_DebugLogMetrics.dll which can be used to generate debug info. * Brand new build environment based upon boost build!!! * Modified /about so it now shows a lot of useful(?) info.
For all changes refer to the changelog.
On a side not I will during the night switch over to a new host so hopefully the site will be more stable as well!
// Michael Medin
Last minute pre-flight check for the up-coming 0.3.6 version
Not much news in this build which contains a bunch of bug-fixes as well as a compleate version of the new installer.
- CheckFileAge? (was broken)
- NSCA config option time_delay was off by 1000.
- Eventlog monitoring with descriptions flag was crashing on x64.
- CheckProc? works better on x64
- New installer is "finalized"
The RC is called X this time as I did not want to rename all the others. If no one reports in bugs this will become 0.3.6 release in 24 hours or so.
Full change log:
2009-06-07 MickeM * Fixed issue with CheckFileAge incorrectly working in recursive mode. * Finalized the installer 2009-05-22 MickeM * Fixed time_delay option in NSCA config (now uses the correct base was 1000 times to large before) 2009-05-21 MickeM * Fixed issue with eventlog parsing and 64 bit machines (descriptions option) * Fixed issue with "modern windows" and installing the service (should not have the correct privlaiges) 2009-05-17 MickeM * Changed default buffer size for process enumeration (64K now instead of 1K should I hope work better on 64bit OS:es) 2009-05-10 MickeM + Added write support for modules to installer
// Michael Medin
Pressentation from Nordic Meet on Nagios
Hello,
Since the presentation I did on Noric Meet on Nagios is on bambuser I figured I would share the link to it so you might all enjoy :)
Topics are:
- Basic Usage of NSClient++
- Basic Monitoring features
- Eventlog monitoring
- WMI
- Scripting (very briefly)
For the presentation go here.
I also held a workshop on scripting on the "windows side" which unfortunately was not filmed. But I shall add the slides and material to the wiki this weekend.
// Michael Medin
Nordic Meet on Nagios Live feeds
Just saw that there are live feeds from the Nordic Meet on Nagios avalible here in about an hour or so I will give my presentation on windows monitoring.
// MickeM
Webcast 001: Introduction to debugging NSClient++
Because I got a request (Elad Shapira) as well as a recommendation for a tool ( wink) I decided to try it out:
This is a short and quick webcast (demo?) on starting NSClient++ in debug mode and stopping it and how to intercept calls from nagios and see what happends in real time. This is just a quick thing to try it out let me know how what you think...
// Michael Medin
SPAM! (disabled anonymous posting)
Hello,
Since spam is picking up I have, again, disabled anonymous posting to see if this helps a bit. It is op to post just register a user (capta) and you should be fine. If anyone has problems with this let me know at michael<at>medin<dot>name
// Michael Medin
New RC fixes memoryleak!
Hello everyone.
I have for the past few weeks been trying to track down a memory leak which has been plaguing me for some time now. And after spending literal hundreds of hours looking over everything trying various simulations and what not I found it. And felt pretty silly as I have suspected that function (and looked at it) for quite some time. I think I shall create a RAII wrapper for the arrayBuffer to prevent such issues in the future.
Anyways, there are a few other things as well but nothing dramatic but a memory leak is always worth an upgrade!
I shall fix the last few bits and pieces with the installer and then release the new version so expect that in the coming week or so. Yes, yes I know I have said so for quite some time but I wanted to fix this darn memory leak and it really took a long time to find...
// Michael Medin
Nordic Meet on Nagios 09
Hello,
Just thought I'd post a short notice since I (Michael Medin) will be speaking on the up-coming "Nordic Meet on Nagios 09" conference.
I will again speak on windows monitoring (this time more advanced stuff) and in addition to this I will also hold a workshop where I will look more into application monitoring both Java and .net as well as some WMI.
For conference details go to the website:
// Michael Medin
RC8 out!
Hello everyone (and yes that is probably only me, since no one ever comments on theses :)
Anyways, new RC out as promised, nothing really new from last nights build but I have been running some tests and such to see if I can track down the errant memory leak I found... and I did... ut I have yet to fix it, but dont worry the leak was in the shared session code so just disable shared session and you are fine. I shall (post 0.3.x) I think fix the shared session but depending on how easy it it this might be fixed before.
The highlight from this new RC is instead the brand new installer! It is much improved and works as an installer *should* so all you "MSI package people" let me know what you want configurable. The new installer will (after you pick target directory) read the old config and populate up the parameters used on the "configure dialog" the dialog "wont save" anything as of yet this will come in the next version but I wanted to get some feedback on the contents of the dialog. So if you have any ideas on what you want let me know!!! (yes... I mean that... let me know!!!) :)
Full changelog since last RC are here:
2009-03-15 MickeM
* New service name (displayname)
* New service description
2009-03-14 MickeM
* Rebuilt installer UI (still missing write config function)
* Added debug entry to log filename used by debug log metrics.
* Fixed so alias will not require the allow_nasty_meta_chars option set under external sripts module.
2009-03-02 MickeM
* Added catch handlers and error logging to NSCA Thread
* Fixed issue with CheckProcState and administrator login!
+ Added debug module to installer
+ Added option max-dir-depth to CheckFile and CheckFile2 like so:
CheckFile "file=c:\test\*.txt" filter-size=<24g
"syntax=%filename%: %size%" MaxCrit=1 max-dir-depth=0
Will only find files on the "first level"
where as max-dir-depth=1 would find all parents and children etc.
(-1 is the default and means find all)
* Fixed issue with finding sub-folders and *.txt now it will always
look for subfolders if they are present
// Michael Medin
I disabled wget :(
I disallowed wget since it use up quite a lot of "my" resources, please respect this and don't "try to get around it" if you have a legit reason for it let me know and I can help you out.
// Michael Medin
Snappier site i hope...
I have added some caching to css/js which will make the site a bit snappier as well as (I hope) reduce the load on the slice. I was at a customer doing a review on a public "high profile" website and remarked on this issue and on the way home I got to thinking... wonder if I do that on my trac site... and apparently I did not as the performance increased a lot (at least for me).
As always let me know if you have any problems with it...
Also, tonight there will be some sweet updates as well! (if you do not want to wait another 24 or so hours, try the installer for the latest nightly build... :)
// Michael Medin
Updated slice to new debian as well as some other tweaks...
...so hopefully everything will run a bit faster and smoother now and especially I hope things will run more stable. If there are any issue let me know as I had to re-install trac to get things working with debian apt.
// Michael Medin
New RC out! (fixes NSCA problems)
The latest RC out in a bit will fix the issues with missing encryptions on NSCA connections. A good way to verify this is too run:
NSClient++ /about
Which yields the following:
...
l NSClient++.cpp(339) * NSCAAgent (w/ encryption) (NSCAAgent.dll)
l NSClient++.cpp(342) Passive check support (needs NSCA on nagios server).
l NSClient++.cpp(342) Avalible crypto are: {
0=No Encryption (not safe), 1=XOR (not safe), 2=DES, 3=DES-EDE3,
4=CAST-128, 6=XTEA, 8=Blowfish, 9=Twofish, 11=RC2,
14=AES, 20=Serpent, 23=GOST}
...
where it lists available encryption algorithms. After this I shall investigate the process check issue and after then I shall (if nothing else pops up) release the new version.
// Michael Medin
Trac 11 is aparently crap :(
Sight... Apparently (I just discovered) trac 11 was a big mistake memory usage has gone through the roof as well as overall performance. I shall investigate if I can downgrade again this weekend or possibly dist-upgrade and see if python 2.5 is better then 2.4 (apparently it is somewhat better on memory usage). But for the moment you will have to live with a reealy slow site!
// MickeM
Site upgraded to Trac 0.11!
To reduce the spam I have upgraded to Trac 0.11 so let me know if something does not work. Along the way I guess there are some new features and what not as well...
// Michael Medin
Updates
Updates regarding NSClient++
RC3 out and trac upgrade!
Hello again,
RC3 is out with two changes to event log. I will also (during the weekend) be upgrading trac to 0.11 in hopes to reduce spam (as it allows email verification for registration of users). Change log:
2009-02-05 MickeM * Fixed so the error message for "to small eventlog buffer" specifies the required size. * Changed so that event log buffer problems are "ignored in the result" (still logged in the error log).
// Michael Medin
0.3.6 RC2 out!
New RC for the 0.3.6 series some minor updates to the building code to make it build a proper manifest (works on vista and above now). As well as a new time_delay option for the NSCA handling to allow you to modify the "time" used when sending responses back to the server. Changelog:
2009-02-03 MickeM * Added support for changing the time when using NSCA with the time_delay in NSC.ini time_delay=+4h or time_delay=-1h etc should can now be used when system time not the same as NSCA time.
// Michael Medin
First RC for the 0.3.6 version!
Nothing major new but have been tested on NT4 and a few other images to make sure the new building subsystem and such works. Will do some more load and performance tests and unless there are any bugs new version will be out in a few days. But please take the time to try it out and help me find any bugs.
I also took the time to rename all files making it simpler to find them now they are sorted on version instead of on platform.
New features:
- Allows specifying service name with start/stop/install/uninstall to change the default name of the service.
2009-01-30 MickeM * Added support for changing name and description of service from the /install command line NSClient++ /install [gui] [start] [service name] [description] NSClient++ /uninstall [gui] [stop] [service name] NSClient++ /start [gui] [service name] NSClient++ /stop [gui] [service name]
// Michael Medin
New nightly up!
New nightly up with mainly fixes to a handful of issues. from the changelog
2009-01-25 MickeM * Fixed issue with checkVersion (#242) * Fixed spelling error (#244) * Fixed crash in CheckFile when a file was locked in exclusive mode (#254) + Improved error handling in all CheckDIsk/CheckFile checks. Should report errors better now. * Updated the config file a bit: remving "beta" from a bunch of modules no longer in beta. (#270) + Added more filter operatos to all numeric filters so they accept eq:, ne:, gt:, lt: in addition to =, >, <, <>, !, !=, in: (#269)
// MickeM
New nightly up!
New experimental build system as well as some fixes. I need to check linkage and such and make sure it wont require a lot of 3:d party modules so use with care. It also features a 16bit support for CheckProcState as well as a complete rewrite to make the process enumeration better faster and perhaps most of all safer.
2009-01-23 MickeM * Cleaned up the checkProcState code and it is not a lot better. - Removed race conditions (crashes?) as well as improved perfoamnce and better error handling. + Added new option 16bit to checkProcState. When set checkProcState will enumerate all 16 bit processes found running under NTVDM. * Fixed NRPE version reported "incorrectly". (Version is now takedn from NSClient++) 2009-01-21 MickeM + Added experimental 16 bit process support to checkProcState
New nightly up!
A new nightly build up. This is an up coming 0.3.6 witch features a brand new build system (boost build). Notice this build is still built from within visual studio but it can be built with boost as well but currently the renaming of the zip-file and upload has not been fixed (which I hope to do shortly).
The new version also features some important fixes to two fairly important bugs
- Handle leak inside the External Scripts module
- Broken CheckWMI (when no filter was specified).
It also has a brand new module for helping track down leaks and such:
- A_DebugLogMetrics.dll If you enable this module a file will be created under %APP_DATA%/nsclient++/process_info.csv which contains important metrics like handles, memory and such. This is very helpful if you suspect there is a memory leak inside NSClient++.
It is important to understand that this will SEVERELY impact performance in a negative way as all commands will be routed through it so don't enable unless you want to check for a problem. Full changelog is here:
2009-01-20 MickeM * Fixed issue with CheckWMI when no filter was specified. 2009-01-17 MickeM + Added new command line option pdhlookup (to CheckSystem) to lookup index from names. Probably not usefull to anyone but me :) Usage: "nsclient++ -noboot CheckSystem pdhlookup Antal bindningsreferenser" * Fixed so PDH Collectors use the same exception as the rest of the PDH stuff (might give better errors when PDH breaks, but I doubt it) * removed debug output from -noboot + Added new command line option pdhmatch to use pattern matching on PDH queries Usage: nsclient++ -noboot CheckSystem pdhmatch \Process(*)\Antal trådar * Improved error reporting in the PDH subsystem. + Added new module A_DebugLogMetrics.dll which can be used to generate debug info. Enable the module and a file called process_info.csv will be created under %APP_DATA%/nsclient++/process_info.csv which contains metrics. * Fixed handle leak in CheckExternalProcess and NRPEListsner (executing commands). 2009-01-13 MickeM * Fixed issue with 64-bit installer (now installs under Program Files (and not x86) + Brand new build enviornment based upon boost build!!! Use batch file to build (release-build.bat or modify to make your own) * Modified /about so it now shows a lot of usefull(?) info. 2008-11-13 MickeM + Added truncate option to checkServiceState 2008-09-24 MickeM * Imroved the installer (now auto-updates the version when built)
// Michael Medin
New NSCA Article
Posted an in depth article by Wojciech Kocjan about NSCA checking. It is an extract from the book "Learning Nagios 3.0" by Packt Publishing.
Hab.la chat...
Added a hab.la "chat widget" (lower left). Unfortunately it is a bit flaky so it often shows my status as "online" even when I am away so if I do not reply I am probably away :)
// Michael Medin
Moving apartments (not servers)
Hello everyone. Since I assume I have a lot of readers on this "blog" I figured you were all worried thinking I might have died so I better post a status update.
NO I am not dead!
Anyways, I got fed up with my old apartment when I had the third (if you remember) water leak earlier this summer. So I ended up in the exchange queue for a new apartment at my land lord and got an offer for a new apartment which I accepted.
Then we have this moving thing, I sort of estimated "on the outside" 3-4 days moving, one day packing, one day moving and one day unpacking. And boy do I feel stupid 2 weeks later when I just barely have unpacked my things. I shall never move again!!!
But, apart from a few down-side, I kind of like the new apartment. The neighbors are actually nice, the water is actually warm, there is almost space enough for my stuff (pretty impressive that I managed to "fill" the new apartment since I just moved from 26m2 to 75m2 :) Anyways, The major drawback is that the trains run 24x7 outside my window :(
And finally now I only need to save up so I can actually buy furniture, it is amazing how expensive IKEA is :)
Anyways, the point of all this was to say: Sorry for not responding for 2 weeks, but now I am back again!
// MickeM
Merge..
For those who keep track I have just merged the trunk with the 0.3.6 changes so soon there might be nightly builds from that branch but we shall see.
I have some ideas on re shuffling the order of the "new features" as well, mainly moving the graphic configuration UI to a later build (possibly 0.5.x or beyond) and instead focus on moving the sockets over to boost Asio (a socket library) as well as some other minor changes. The main reason being that it might allow me to start sketching on a new "protocol" to "replace" NRPE but we shall see.
I am also working on some improvements to the install (the 0.3.x branch) so there might be a 0.3.6 version in the near future (a few weeks) which will have a slightly improved installer. There is also plans on a new "CheckFile" command with a syntax similar to the EventLog? to make it more useful (it is already there in a sort of beta for 0.3.5).
I also need to go and update the documentation since there is a new version but that is boring so we shall see when I get around to doing that ;)
// Michael Medin
0.3.5 Released!
Just a quick note that I released a new version 0.3.5 which is mainly a bugfix in 0.3.4 fixing an issue with CheckServiceState and CheckAll?.
// Michael Medin
0.3.4 Released!
Just a quick shout to everyone as I have just released the 0.3.4 version of NSClient++. The major new things are:
- The new system tray that works on Vista and beyond
- Many fixes and improved error handling.
A slightly more detailed list:
- Minor tweaks to CheckServiceState ("missing services" are now handled better)
- Added some "reasonable checks under [External Alias] for the CheckExternalScripts.dll module.
- CheckEventLog now supports "long eventlog names" (you can now use the alias used in the event viewer)
- BREAKING CHANGE filter=new is now the default so unless you use the new filtering you need to specify filter=old instead!
- Brand new (but highly unstable) System tray support for windows Vista and beyond
- SVN tree now has a sample net plugin (with C++ wrapper)
- Installer now "uninstalls" as it "should"
- Improved error handling for the WMI checks as well as some additions.
- Fixed issue with & and : on some commands via check_nt.
- Added sample powershell script as well as a workaround for making them run.
- Added DebugOutput? to service handling features so if you experience trouble try using sysinternals DebugView? to see logging before the agent startes.
- Removed all (I think) asserts replacing them with exceptions (should I hope reduce crashes and instead leave some form of errors)
Full change log for this release is here:
2008-09-18 MickeM - 0.3.4
* Changed so "missing services" are treated as stopped.
CheckServiceState missing=stopped ShowAll
OK: missing: not found
* Fixed issue with : in service name.
+ Added some "reasonable default cheks" under [External Alias] for the CheckExternalScripts.dll module.
2008-09-17 MickeM - 0.3.4 RC-6
* Added option [EventLog] lookup_names=0 to disable the evetlog name lookup (default is on)
2008-09-17 MickeM
* Fixed issue on all filters so == takes the "usual" 2 equalsigns (old still works).
* Added so tray icon can get "propper" name from core for "description".
* Added lookup of "long" eventlog names (you can now use the alias used in the event viewer)
2008-09-16 MickeM - 0.3.4 RC-5
* Fixed an issue with the session launcher
2008-09-15 MickeM
* Fixed so NSCLient++ can load with "broken plugins" (before it printed an error and exited)
+ Added a very basic simple .net plugin (and a wrapper)
2008-09-14 MickeM - 0.3.4 RC-4
* Fixed an issue with the session launcher
* Fixed an issue with the uninstaller (should not "fail" when problems uninstalling)
2008-09-14 MickeM - 0.3.4 RC-4
* Fixed issue with OS detection (again)
* Fixed issue with plugin unloading (again)
* Fixed issue with SSL socket not unloading properly
* Fixed issue with "login" and "no session" (should work now I hope) (#222)
* Changed so all projects build under "tmp" instead of under respecitve directory. (simpler to remove all "tmp" files now)
2008-09-12 MickeM
* Thanks to everyone who listened in on my session at NETWAYS Nagios Konferenz 2008!
2008-09-09 MickeM - 0.3.4 RC-3
* Improved error handling for the WMI checks.
+ CheckWMI: Added support for extracting numbers from strings
* Fixed performance data for "large float values" to be rendered without scientific notation. (#151)
* Fixed issue with & and some commands via check_nt.
* Fixed a crash on exit (which I added in Rc1).
* Added 10 "bytes" the CPU buffer: (#174)
+ Added new option to [EventLog] section buffer_size to change the size of the buffer used when scanning the evenlotg (defaults to 64k).
* Fixed error handling in CHeckEventLog so errors are repoorted properly (#184)
2008-09-08 MickeM - 0.3.4 RC-2
* Fixed issue in windows 2008 with system tray (shared_session).
* Fixed installer issue (should run (i hope) service installer on install now on 64 bit os)
* Fixed issue with unloading plugins and log (causing "timeouts" when exiting some times)
2008-09-07 MickeM
+ Added sample powershell script as well as a workaround for making them run.
* Fixed an issue making powershell scripts (and possibly others) not timeout properly.
+ Added upgrade support to the installer (still need to add support for keeping .ini file so be ware)
2008-09-06 MickeM
* Improved error reporting in the eventlogchecker
* *BREAKING CHANGE* filter=new is now the default so unless you use the new filtering you need to specify filter=old instead!
I Recomend everyone to stop using the "old" filtering.
2008-09-04 MickeM
* Fixed issues with new service stuff on NT4 and W2K (should work fine now)
+ Added some DebugOutput to service handling features so if you experience tropubel try using sysinternals DebugView too se logging before the agent startes.
* Fixed a memory leak in the error formating code
2008-08-24 MickeM
* Changed NSCA "general problem" error message to be more descriptive.
* Fixed issue with CheckCPU not returning a valid performance unit (%) see issue #219 for details.
2008-08-16 MickeM
* *WARNING* THIS IS VERY VERY UNSTABEL (possibly)
* *WARNING* A lot of new untested code here so dont run in production enviornments :)
+ Added shared session so system tray can communicate with master
+ Added new system tray handlig (via TS so FUS should work with it)
+ Added new option [System] / shared_session=0 (or 1) to enable / disable the new shared memory framework (it is for now disabled by default)
If you want to try this remember to change that option but also beware! it is dagerous and not finnished and and also there is as of now no security at all.
2008-08-09 MickeM
+ Added ChangeWindowMessageFilter so systray should maybe work on vista and beyond!
2008-07-28 MickeM
* Improved the error handling for the check proc state.
* Removed all (I think) asserts replacing them with exceptions (should I hope reduce crashes and instead leave some form of errors)
2008-07-25 MickeM
+ Built a garage at the summer house
* cut down all the reeds and shrubbs at the summer house.
2008-07-03 MickeM
* Fixed (again) issue with performance data and CheckDriveSize (when using "Min" bounds)
+ Added some more error messages for when counters are not found.
* Fixed an issue with the new namespace option
// Michael Medin
0.3.4 RC-4 out!
Fixes a few small but all so important issues. The issues here has lead me to believe I need to do some more testing so I will wait a bit more for a release. But please please try it out and report back bugs. Would be nice to have a "working" 0.3.4 without any bugs :)
Changelog (since last I posted: RC-2)
2008-09-14 MickeM - 0.3.4 RC-4 * Fixed issue with OS detection (again) * Fixed issue with plugin unloading (again) * Fixed issue with SSL socket not unloading properly * Fixed issue with "login" and "no session" (should work now I hope) (#222) * Changed so all projects build under "tmp" instead of under respecitve directory. (simpler to remove all "tmp" files now) 2008-09-12 MickeM * Thanks to everyone who listened in on my session at NETWAYS Nagios Konferenz 2008! 2008-09-09 MickeM - 0.3.4 RC-3 * Improved error handling for the WMI checks. + CheckWMI: Added support for extracting numbers from strings * Fixed performance data for "large float values" to be rendered without scientific notation. (#151) * Fixed issue with & and some commands via check_nt. * Fixed a crash on exit (which I added in Rc1). * Added 10 "bytes" the CPU buffer: (#174) + Added new option to [EventLog] section buffer_size to change the size of the buffer used when scanning the evenlotg (defaults to 64k). * Fixed error handling in CHeckEventLog so errors are repoorted properly (#184)
// MickeM
0.3.4 RC2 out!
Did a few fixes as well as close and round off a lot of tickets. Fixes in this release are:
2008-09-09 MickeM * Fixed issue with & and some commands via check_nt. * Fixed a crash on exit (which I added in Rc1). * Added 10 "bytes" the CPU buffer: (#174) + Added new option to [EventLog] section buffer_size to change the size of the buffer used when scanning the evenlotg (defaults to 64k). * Fixed error handling in CHeckEventLog so errors are reported properly (#184)
// MickeM
First RC for the 0.3.4 version!
Well, time for the first RC for the 0.3.4 upcoming release. This issue has (since the last nightly a few days ago) a few bug fixes and some minor additions. The plan is still to try to get 0.3.4 out next week (unless something big pops up) I consider this release pretty stable so feel free to start trying it out.
2008-09-08 MickeM * Fixed issue in windows 2008 with system tray (shared_session). * Fixed installer issue (should run (i hope) service installer on install now on 64 bit os) * Fixed issue with unloading plugins and log (causing "timeouts" when exiting some times) 2008-09-07 MickeM + Added sample powershell script as well as a workaround for making them run. * Fixed an issue making powershell scripts (and possibly others) not timeout properly. + Added upgrade support to the installer (still need to add support for keeping .ini file so be ware) 2008-09-06 MickeM * Improved error reporting in the eventlogchecker * *BREAKING CHANGE* filter=new is now the default so unless you use the new filtering you need to specify filter=old instead! I Recommend everyone to stop using the "old" filtering.
// MickeM
New version, need testers!
Hello,
A new version is about to be released I would say next week (unless something happens) so I will start out:ing RC,:s during the weekend.
The latest nightly build (NSClient++-Win32-20080905-0714.zip/.msi) is pretty stable. It has been tested on NT 4.0 (SPx), w2k, XP as well as Vista. It has a few major improvements and a lot of fixes.
The highlights are:
- New reworked SystemTray that works on Vista and "beyond".
- Improved exception/error handling.
"out-of-the-box" the new SystemTray is disabled and you can enable it via the "shared_session=1" option under [settings] in nsc.ini. Be warned that the "new" SystemTray will remain in beta through out the next version so only enable it if you are comfortable with the risk of running beta software. :) If the option is "off" (default) it should not have any major impact.
So try it out, let me know how it works out and hopefully by the end of next week there will be an über stable 0.3.4 version :)
// Michael Medin
New nightly first prototype of the System Tray fix!
Hello everyone.
Finally managed to shake my illness (glandular fever) so here it is, the biggest one in a while... A new nightly, is up. But beware this one is a monster (several hundred new lines of code) so take care when you play around with it. (it should be safe to run with the shared session off). To see everything in action do the following:
- install (unzip or installer)
- install service (nsclient++ /install)
- DONT enable the Systray module.
- Enable the shared session ([settings] / shared_session=1)
- Start (net start nsclient++)
- WTH?!?!?! where did that systray come from you ask?
- Use the systry and;
- see the logs
- see the logs when you restart the service
- see the logs when the service crashes
- stop (and start) the service.
In short this is the proper way to make system trays in "modern" windows.
- The service creates (when a user logs in) a process in the user realm that runs the system tray
- The service and the system tray uses an IPC framework to speak to each other.
Simple, beautiful and elegant...and ohh so dangerous!
- First off I have been ill last few weeks so much of this code has been written with me having a temperature around 40 centigrades (104 for you over in the old world) eating only fluid "food" which means quality is not 100%.
- Secondly IPC frameworks are hard to write there are a lot of considerations and a lot of things that can go wrong.
- Thirdly there is fundamental security issue here, since the "service" (privileged user) creates and takes instructions from a user (level process) so what should we allow the user to do?
- Forth it is several hundred new lines of code and a lot of changes.
So let me know what you think and in which direction you want me to take this. This is a prototype in its current form, but as I said before if you disable the shared session it should be safe to use the new client (if not let me know) so don't be to scared.
There is a a ton more things I should say here but I think we should maybe move this to a discussion?
// Michael Medin
Good tidings on the System Tray front...
Greetings everyone... just popped in quickly to let you know that the SysTray issue might soon be resolved. I yesterday just before going to bed managed to get my all-new IPC framework up-and-running so hopefully in a week or so we will have a beta that once and for all fixes the System tray issues!
Also in other news I just saw that I had managed to check all my changes into the old "server" so the source repository is not up-to-date at the moment (I will try to fix in the next few days)
// Michael Medin
Wondering why there was no new version this week?
Whilst at the summer house I started to wonder why they always cover the lawnmower with a tarpaulin every time so I went to the barn and found some old boards and such and decided to build a "garage". Since it was a bit of a "for fun" project everything was built scavenging in the barn so everything is a bit "off" and leans and nothing is perfect... but it sure is nicer then a tarpaulin and it was pretty fun to just build something from scratch without any plans ideas or even a blue print.
Unfortunately the rain free summer decided to end so I had to go out to rescue the half-built garage from the rains and storms. Ironically the tarpaulin I had covered the garage with blow off in the storm so there was some minor water damage to the roof. Anyways now it is a lot more finished (still need a door as well as a wall above it) so I think it will survive the weather for a few more weeks...
// MickeM
Nagios Konferenz 2008 (more conferences)
Just a quick shout out to everyone in Germany I will be attending and speaking on the NetWays? Nagios Konferenz 2008 in Nuremberg on September 11. - 12. 2008. My session (late Friday) will, not entirely unsurprising, be on Windows Monitoring with NSClient++.
And if there are any ideas and or things you want me to mention let me know. It would also be of interest if anyone have any thoughts on the issues I will talk about so feel free to let me know at: michael (at) medin (dot) name.
- Conference: http://www.netways.de/english/nagios_konferenz/y2008/
- My session: http://www.netways.de/nagios_konferenz/y2008/programm/v/nagios_nsclient/
The session will be about:
Getting the most from your windows monitoring experience. Learn how you can take the step far far beyond the simple cpu/mem/disk checks.
Short introduction to windows monitoring:
- Various agents and what they can do.
- Various monitoring schemes and how they can be used.
EventLog? monitoring:
- Introduction to eventlog monitoring with NSClient++
- Filtering events: Monitor problems not noise!
- Short demo
WMI monitoring:
- Introduction to WMI (Windows Management Instrumentation) with NSClient++
- What can you check: WS 2k8 has over 100 providers.
- Short demo
Beyond the basics:
- Writing your own scripts
// Michael Medin
[update] Everyone that has a crash on 0.3.3!!!
Resolved or so they tell me...
Could you try the nightly in "test mode". I would like to know what causes the crash.
If you start a command prompt (ie. Start->Run, "cmd", <enter>) and run the following:
cd <nsclient dir> nsclient++ /stop nsclient++ /test # wait till it crashes, and post the log to me (feel free to search replace out any IP/port/passwords). nsclient++ /start
The latest nightly has some changes that might change some "crashes" into proper errors (I have changed a few assets into exceptions).
Nightly can be found under download and is called: NSClient++-Win32-20080728-2044.zip I have gotten reports that this new build fixes this issue so let me know if it remains if not I will release a bug fixed version in the next few days or so.
// MickeM
Back again....
Hello,
Sorry for being "away" but I went on vacation and discovered that the fabulous Internet I used last year was "over sold" so it was impossible to use. Right now I have, to recoup, set my Firefox to auto-browse random pages so hopefully I shall be normal again in a bit, two weeks without Internet is a harsh punishment :)
Anyways, since you have all been working greatly I shall go over the back log and post replies in the next few days, need to do some laundrey and what not as well so might take a day or two...
// Michael Medin
New server, new domain, new upload for sourceforge new....
The server move (I hope) has been smooth and everything is working (I think). Also all the new domain are "officially" in service so point your browser to http://nsclient.org instead of the old slightly offensive nakednuns address :) Hopefully the new host will be faster and perform better also the new installation has some minor tweaks.
For instance you can now register for an account and thus get email notifications without leaving your wamil address on the Internet.
I have also uploaded new binaries to source forge and redirected the download files to the new host (forgot that last time).
Please report any problems you have as I will close down the track on the old "host" (with a redirect) tomorrow.
// Michael Medin
Moving servers
Site will be read-only until the move to a new server is complete please bear with me I hope performance will be better at the new home.
I Am currently using ByteMark? but feel the performance to be pretty bad so I shall move over to SliceHost? and see if things improve my tests show SliceHost? to be lightning fast in comparison.
Data was just migrated to the new host and domain transfers are i progress so let me know any problems you have: michael@….
This is the "new" host so everything "should" be fine here...
// Michael Medin
0.3.3 Released (and updated)
New build just out (not on sourceforge yet, lets see if there are any other minor fixes first). The updated version has a few minor quick bug-fixes.
A few new things but mainly a bug fix:
- Fixed a crash when parsing external commands.
- Installer (i hope) will be better (in so far as w32 and x64 are "different").
- Namespace support for WMI.
- Some issues with CheckDriveSize has been fixed.
- New checks to CheckHelpers (mainly for NSCA)
2008-07-02 MickeM
! 0.3.3 Released (take 2)
+ Added new option alias to controll the name for performance counters when using checkfile use like so:
checkfile alias=foo file=C:\boot.ini filter-written=>1000d syntax=gurka MaxCrit=1
* Fixed issue with performance data and CheckDriveSize (when using "Min" bounds)
! 0.3.3 Released (take 1)
* Fixed some issues (?) with the installer the w32 and x64 are now different components (GUIDs).
2008-07-01 MickeM
+ Added new option (namespace) to CheckWMI and CheckWMIValue use like so:
CheckWMI namespace=root\\cimv2 MaxCrit=3 MinWarn=1 "Query:load=Select * from win32_Processor"
2008-06-30 MickeM
* Fixed issue with CheckFile and performance data ( #156 )
+ Added option (InvalidStatus) to CheckCounter to allow other then UNKNOWN return state when counters are missing ( #167 ).
*NOTICE* this is all reasons (so if the counter is missing or some such the same will happen not just when the instance is missing)
Message will reflect reason.
* Fixed issue in the arraybuffer (one of the plit functions had a problem with multiple chars of the same) ( #190 )
2008-06-25 MickeM
* Fixed issue with CheckDriveSize and CheckAllOthers (#188)
2008-06-24 MickeM
+ Added new check (to CheckHelpers): CheckOK: Just return OK (anything passed along will be used as a message).
+ Added new check (to CheckHelpers): CheckWARNING: Just return WARN (anything passed along will be used as a message).
+ Added new check (to CheckHelpers): CheckCRITICAL: Just return CRIT (anything passed along will be used as a message).
+ Added new check (to CheckHelpers): CheckVersion: Just return the nagios version (along with OK status).
* Better error messages in the check service thingy.
2008-06-18 MickeM
* Fixed an issue in regards to reading the return packet in the in the NRPEClient (now it works).
Before only the first 1024 bytes were used.
2008-06-15 MickeM
* Applied patches from Jeff Goldschrafe <goldschr AT cshl.edu>
+ CheckDriveSize now uses "all drives" when no drive is specified.
* Fixed misspellt Container
2008-06-14 MickeM
* Fixed error message from external commands (better reporting now)
Changes in the rather broken 0.3.2:
2008-05-14 MickeM
* Fixed memoryleak in the service checker.
I am really sorry I usualy write better code then this.
2008-04-03 MickeM
* Moved COM init to "core" (from WMI module)
+ Added new Check command: CheckTaskSched Use like so:
CheckTaskSched +filter-exit-code==1 ShowAll MaxWarn=1 MaxCrit=1
2008-03-21 MickeM
+ Added command line support for process checks
New option: cmdLine will toggle so full command lines are used instead of just process names.
+ Added regular expression matching to process checks
New option: match=regexp (match=strings is the default and "old" way)
+ Added substring matching to process checks
New option: match=substr (match=strings is the default and "old" way)
This is *NOT* case blind so might be hard to use, plan to add case blindness to it in the future.
: Sample command: check_nt ... -v PROCSTATE -l cmdLine,match=regexp,.*exp.* -d SHOWALL
* Ohh yeah... it is 2008 this year... not 2007, fixed a few entries in the :)
- BREAKING CHANGE! -- Removed TOOLHELPER API as PSAPI is simpler and toolhelp is really only useful on w9x (which I don't officially support)
2008-03-20 MickeM
+ Added host-lookupos for NSCA server (#149)
+ Added option (cache_hostname=1|0) to cache the NSCA host name (Ie. only lookup once)
* Fixed service check: check_nt -v SERVICESTATE -l CheckAll so it works as advertised (#150)
* Fixed issue with check_nt MEMUSE/CPULOAD/UPTIME if something is "broken" they will now return an error instead of "0". (#134)
Added option debug_skip_data_collection to simulate this (just for kicks)
2008-03-18 MickeM
* Added some more error messages to the NSCA module
* Added support for arguments to LUA module.
syntax: function debug (command, args) -- args is a table with all arguments
A bit of summer cleaning (new nightly with some fixes).
I have closed a bunch of issues and gone through them and fixed some of them. I shall see if I cant do the same tomorrow and then release the long overdue 0.3.3. If you have an issue you want fixed in that release get in touch with me tomorrow and I shall see what I can do. (I am mainly looking at fixing various 64-bit/installer issues for tomorrow so if there is anything else let me know)
2008-07-01 MickeM + Added new option (namespace) to CheckWMI and CheckWMIValue use like so: CheckWMI namespace=root\\cimv2 MaxCrit=3 MinWarn=1 "Query:load=Select * from win32_Processor" 2008-06-30 MickeM * Fixed issue with CheckFile and performance data ( #156 ) + Added option (InvalidStatus) to CheckCounter to allow other then UNKNOWN return state when counters are missing ( #167 ). *NOTICE* this is all reasons (so if the counter is missing or some such the same will happen not just when the instance is missing) Message will reflect reason. * Fixed issue in the arraybuffer (one of the split functions had a problem with multiple chars of the same) ( #190 )
The nightly is named: NSClient++-Win32-20080701 to download click the "Download" tab above.
// MickeM
New nightly
Fixes an issue with the NRPEClient.
2008-06-18 MickeM * Fixed an issue in regards to reading the return packet in the in the NRPEClient (now it works). Before only the first 1024 bytes were used.
New w32 nightly up! (not as broken as 0.3.2 I hope)
Sorry everyone for the rather sorry 0.3.2 last month I have (due to my water leak) not been able to spend as much time as I wanted on NSClient++ last month so I haven't been able to fix a new version till now.
New nightly (NSClient++-Win32-20080614-1856.*) has the mem-leak fix as well as all the other post 0.3.1 updates such as regexp support and working check-services and such. I shall add some patches and see if there are any other minor things I can fix up and then try to ship a 0.3.3 during the next week. Hopefully my water leak will be sorted the coming week and then I shall also start shipping nightlies of the new 0.4.x branch wich some pretty cool new features :)
Highlights (since 0.3.1):
- New Task-schedule checker (let me know what you think of it it is a just an idea)
- Memory leak fix!!!
- command line option for check process
- reg-exp support for check-process
- improvments and such here and there
// Michael Medin
Full changelog here:
2008-06-14 MickeM
* Fixed error message from external commands (better reporting now)
2008-05-14 MickeM
* Fixed memoryleak in the service checker.
I am really sorry I usualy write better code then this.
2008-04-03 MickeM
* Moved COM init to "core" (from WMI module)
+ Added new Check command: CheckTaskSched Use like so:
CheckTaskSched +filter-exit-code==1 ShowAll MaxWarn=1 MaxCrit=1
2008-03-21 MickeM
+ Added command line support for process checks
New option: cmdLine will toggle so full command lines are used instead of just process names.
+ Added regular expression matching to process checks
New option: match=regexp (match=strings is the default and "old" way)
+ Added substring matching to process checks
New option: match=substr (match=strings is the default and "old" way)
This is *NOT* case blind so might be hard to use, plan to add case blindness to it in the future.
: Sample command: check_nt ... -v PROCSTATE -l cmdLine,match=regexp,.*exp.* -d SHOWALL
* Ohh yeah... it is 2008 this year... not 2007, fixed a few entries in the :)
- BREAKING CHANGE! -- Removed TOOLHELPER API as PSAPI is simpler and toolhelp is really only useful on w9x (which I don't officially support)
2008-03-20 MickeM
+ Added host-lookupos for NSCA server (#149)
+ Added option (cache_hostname=1|0) to cache the NSCA host name (Ie. only lookup once)
* Fixed service check: check_nt -v SERVICESTATE -l CheckAll so it works as advertised (#150)
* Fixed issue with check_nt MEMUSE/CPULOAD/UPTIME if something is "broken" they will now return an error instead of "0". (#134)
Added option debug_skip_data_collection to simulate this (just for kicks)
2008-03-18 MickeM
* Added some more error messages to the NSCA module
* Added support for arguments to LUA module.
syntax: function debug (command, args) -- args is a table with all arguments
Nagios Nordic Meet!
Just wanted to thank OP5 for arranging and inviting me to Nagios Nordic Meet ( http://www.nagiosnordicmeet.wmr.se/). A really amazing event with a lot of interesting speakers as well as a lot very very of nice participants from around the world. It was really overwhelming to see that there are so many users of NSClient++ out there and a big extra thank you to all of you! I would also take the opportunity to thank everyone who I bumped into and came with nice feedback and ideas for NSClient++. I shall post a few snapshots from the event when I am at home again (tomorrow) and also try to summarize some of the ideas that you might expect in NSClient++ in the future.
// MickeM
Nagios Nordic Meet and other news...
Good news everyone (if you live in Sweden and/or the Nordic region).
I shall be attending the Nagios Nordic Meet ( http://www.nagiosnordicmeet.wmr.se/) so if you have any questions ideas or suggestions please feel free to bump into me and ask them live :) The attendance has been kindly sponsored by OP5 ( http://www.op5.se).
And in other news the new settings systems is "working" (and a huge improvement if you ask me) and I am now playing around with the API and a mock-up of a future configuration UI! So expect betas for 0.4.0 hopefully soon after the conference.
As always I am swamped in problems, this time a water main broke in my wall so last week I was living "with friends" so everything takes a lot longer, but I have an "evacuation apartment" now but it still means half my stuff are in my old apartment and half is at a friends place with the last half (yes I suck at math) in my new apartment. Fortunately I live in Sweden, the land of cheap wireless broadband, so I am actually programming via terminal server over a HSDPA wireless modem! And it works splendidly so hopefully hence forth I shall be better insulated against water leaks :)
// Michael Medin
New version out - Fixed Memoryleak!
New version (0.3.2) with a quite serious bugfix
I recomend everyone to update, the fix relates to the CheckService? command which leaked a lot of memory each time you used that check.
// Michael Medin
no i am not dead :)
as always... sorry for the lack of updates but things are moving forwards albeit a tad slow. Main reasons beein
- refacttoring the settings system takes a while (it is a lot of new code to write)
- work is a bitch at the moment. And no, I actually dont do this at work, so work usually comes first :)
- New hosting provider. I will soon move things over to slicehost so hopeefully the speed will improve. I will also then add so you can register users and such on the trac site.
- Forms of Hands :)
For those not well wersed in the noise subgenre of electronic music it is a really nice festival in gladbeck germany that i usually attend. Right now I am sitting at the, always excelent, Station hostel in cologne (Køln) posting this on my nokia n810 having a cold one :)
Hopefully the new settings subsystem will be functional in a week or so and after that we will se some new features I hope :)
// MickeM
Ads?
I hope no one finds this too offensive but I added google ads as an experiment, more to see if it generates any revenue then to get money from it. I will let it run for a few weeks and then evaluate the result.
If anyone thinks it is a bad idea drop me a line and I shall think it over again, as I said it is more of an experiment then anything else.
As for status updates I am working on a checkScheduledTasks module (out in beta soon I think) tried to make it as a Lua script first but Lua and COM did not like each other much :( I shall see about that would be nice to have proper COM support for the Lua module though.
// Michael Medin
Wiki documentation updated...
I have gone over the docs (wiki) and I hope updated most things to reflect the "new" 0.3.1 version.
If anyone finds anything amiss let me know And remember: nows the time to suggest new features for 0.4.0 version! :)
// MickeM
0.3.1 Released!
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 borig 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 unicodes are discarded.
This means "strangness" 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) wat lines matched what, this is a pretty big performance overhead so dont 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 misstakes 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 192.168.0.1 -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 192.168.0.147 -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
More spam filtering
After looking for a few days now and not finding any way to add spam filtering to the trac discussion plugin I wrote on myself. SO hopefully there shall be less forum spam now. It is a bit of a hack since I don't know much about python nor trac development but it seems to work but if you have any problems let me know. It works much like all the other "normal" spam filtering i.e. it is a simple adapter between them so it has all the usual features like akismet and such.
I was a bit impressed by how easy it was to implement it so cudos to the trac team for making trac such a nice modularized system :)
// MickeM
0.3.1 RC3 out!
New RC out but nothing major, installer has some tweaks, and a few fixes/additions in the eventlog module. Sorry for the delay, but I was away at High Voltage Festival in Hanau and another gig in Köln enjoyed some nice powernoise instead of coding last weekend :)
The change log:
2008-03-05 MickeM + Added debug to new section [Eventlog], when enabled it will (log) wat lines matched what, this is a pretty big performance overhead so dont 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 misstakes in the SysTray module. * Fixed 64-bit issues with installer * Fixed so installer uninstalls/installs the service
// MickeM
0.3.1 RC2 out!
I sort of skipped RC1 (or at least I never posted it) anyways here is a spanking brand new one which actually is not that new. Main new things are;
- the installer (Yaaaay!) it is just a quick hack so don't expect much.
- the NRPE client module now works as a "check command" (so now you can check other things from nsclient++)
- and some fixes here and there (notably NSCA modules return code)
The change log:
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 192.168.0.1 -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
UPDATE Yes I know, the x64 installer build is broken... sorry, will fix tonight... :(
// MickeM
New w32 nightly up!
A few tweaks and fixes and some new stuff (nothing spectacular)
- New option System/NRPE section: string_length can be used to tweak return buffer size (for 0.4 we will rewrite so this is more dynamic) With this option you can set the return data for NRPE to be larger then the default 1024 bytes but this requires you to recompile the NRPE agent.
- Improvements to the PDH mutexes. Should be able to handle more load, and better, handle situations where the load becomes to high.
- Some improvements to the NSCA plug in (should work better now)
- Re factored and improved the external command handling. Should be better and more secure now as well as handle "long output".
- New module: NRPEClient to run NRPE queryes from the CLI (will soon have support for running NRPE queries from within NSClient++ (ie act as a proxy).
We are starting to come up on the 3.1 release so now would be a good time to report all bugs and problems, expect 3.1 RC during the week end and hopefully a 3.1 release end of month.
Changelog
2008-02-19 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 192.168.0.1 -p 5666 -c check_something -a foo bar
This is an early concept so don't expect much...
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 tat 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)
// MickeM
New w32 nightly up!
Finally the long awaited (not really, but was a b*tch to fix) encryption support for NSCA module has been fixed. We only support: None, Simple XOR, DES, 3DES (Triple DES), CAST-128, xTEA, BLOWFISH, TWOFISH, RC2, RIJNDAEL-128 (AES), SERPENT) as they were reasonably "straight forward" the others had various "problems" and since I dont really think anyone ever use them I decided to not spend the time to fix it (let me know if you actually use any of the missing ones and I will see if I can get it added). The important thing is that you can encrypt the data if you ask me :).
There is also a new module (CheckExternalScripts) which is similar to NRPE (I would recommend it over NRPE) in that it can run external scriupts/programs but it has been streamlined a bit and most importantly if you don't want to use NRPE (think NSCA) you can still run external scripts and such.
And finally I have improved exception handling quite a bit and hopefully things will be "more stable".
We are starting to com up on the 3.1 release so now would be a good time to report all bugs and problems... Changelog:
2008-02-11 MickeM
+ Added encryption support for NSCA module (about half of the algorithms are avalible,
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 plugin 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)
// MickeM
New w32 nightly up!
Would be interesting to get some feedback on this. Since there is still a lot of issues with the locale and PDH I have decided to make a 3.1 release "soon" that will fix this (have been in the nightly a while now). ANd while I am at it I will add the following new features:
- NSCA support
- LUA Script support
- Enhancements to the eventlog check.
- Improved SysTray functions and dialog.
The NSCA support is for thos who want to use passive checks only (using this nagios-server you can have the client "phone home" with results instead of nagios asking all the time).
LUA scripts is for those who want to have a bit more control, there you can write and modify your own checks "inside" NSCP without the need for external script, don't know how interesting it is but it is there. The use-case that brought this on was: "I don't want the demon to do X can you change this?" With a LUA script you can change it :)
Enhancements to the event log check (and keep coming up with more ideas)
- A unique filter (only return 1 log entry for each problem-kind.
- Fixed "time-zone" issues (entry are now returned in the proper local time and not UTC)
- New %message% format option to display the *proper* eventlog message instead of the previous crap :)
Enhancements to the SysTray dialog are numerous: the dialog has been reworked and an API to list/describe commands have been implemented.
I would really like to get some feedback on the new modules as well as the new eventlog check., I will try to finalize some issues and have a release out by the end of February or so.
// MickeM
Added spam filtering
Since I just got some 300 or so spam tickets last night I added a spam filter, let me know if it gives you problem posting.
// MickeM
NSCA Module
First version of the NSCA module is out. Module can be used to supply passive check results to nagios (instead of active checking). This is a simple mock-up which lacks many features (encryption to name one) but it would be interesting to know what people thinks of the "concept" and also if it "works" in real-world environments.
To try the new module:
- enable the NSCAAgent.dll
- edit [NSCA Agent] section
- add your favorit checks to [NSCA Commands]
Changlog for the new nightly:
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 failes 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
0.3.0 Released!
Finally, after much strife and hardship, the new version seems to be stable (or possibly all my wondrous beta testers (yes... I mean you, there can be only one) have just been lazy and not reported all the bugs they found in the RC :)
Anyways, for those will on 0.2.7 there is a lot of new features and I think a lot of stability improvements. For those on the bleeding edge there is nothing new (a few bugs fixed since RC1 is all).
The main new features in the 0.3.x line is:
- Improved WMI module
- Unicode support (that means people in <insert country far away here> can use performance counters.
- *FIXES* in the socket handling (hopefully it actually works now)
- Some new performance counters as well as slightly better handling
Hopefully things are working, if not let me know, I shall wait till tomorrow before posting to sourceforge so feel free to let me know any bugs before then so I can quick-fix them :)
// MickeM
0.3.0 RC1 out!
Finally, first release candidate for the 0.3.0 version is out. Let me know any issues you have and I shall fix them ASAP.
A bunch of minor/major issues have been fixed (mainly some NT4 and UNICODE issues) in this version and all but 1 ticket for the 0.3.0 series is closed so hopefully things are looking good.
We also have all platforms built ie. w32/x64/IA64 so feel free to try it on various platforms and OS combinations.
The RC:s are under the x-0.3.0 folder (not nightly) so make sure you grab the "correct" one.
2007-11-28 MickeM
* Fixed some UNICODE issues with process-listings
+ Added an error message if the "detected" process enumeration method is not available.
+ Fixed some more unicode issues Password encrypt/decrypt: #107
* Fixed unicode issues with "external programs" #109
* Fixed so default string for check_nt:s FILEAGE command is "delta" is 5 minutes ago (and not absolute ie. 1970...), Issue #39
+ added support for <date strings> to check_nt:s FILEAGE command, Issue #39
append: .<date string> if you want to use a "custom date" like so: ... -v FILEAGE -l c:\\windows,Date: %Y-%m-%d %H:%M:%S" -w 5 -c 6 ...
Only the above listed %<char> works, and default to 0 so might not be to pretty but works...
// MickeM
Cleaned up tickets!
I have cleaned up all tickets and closed old and outdated ones. So if your ticket is not listed among the ones for milestone 0.3.0 it will mot likely not be in the next version (unless you convince me it is a good idea) and if your issue has been closed (and you still have the issue) feel free to reopen it.
There is also a new w32/x64 build out that fixes a pretty nasty socket issue I had inadvertently added. So *grab* the new version if you are using nightlies or you will have a lot of nasty issues.
2007-11-26 MickeM
+ Fixed a socket issue (erroneously reported "Could not read NSClient packet from socket :(")
* More 2k5 build tweaks
// MickeM
New w32/x64 build!
Hello, a new build (and hopefully the last before I start doing RC:s next week)
Whats new?
*A lot* (internally) I have changed to a unicode build so virtuall *all* string handling have been tinkerd with so things might be broken, but it seems to work, so lets hop it is all good. I have also added a long awaited feature: you can now escape strings with ":s in the nclient++ /test mode but that is not so usefull actually, just for me when I do testing of WMI stuff :)
If things work as nicely on vista/2k3/x64 I shall come up with a itanium build and start doing RC (Release Candidates) for the 0.3.0 version early next week.
Also done some changes to the page so hopefully it shall be slightly esier toi navigate (as the "tabs" were starting to fill up)
// MickeM
2007-11-23 MickeM
* Converted to unicode (damn sometimes I **HATE** C++)
+ Added support for escaping " on the /test syntax so now you can do: CheckWMI MaxCrit=3 "MinWarn=1" "Query:load=Select * from win32_Processor"
2007-11-22 MickeM
* Fixed so the "default path" is correct even when running as a service (issue: #96)
2007-11-21 MickeM
* Fixed process counter so checkProcState now return the *correct* number (previously it was correct-1)
* Fixed som missing exceptions that were not caught
+ Added "AliasCol" option to CheckWMIValue to allow a column to be used as "alias" for a result set:
CheckWMIValue -a "Query=select Caption, ThreadCount from Win32_Process" MaxWarn=50 MaxCrit=100 Check:threads=ThreadCount AliasCol=Caption
will give you: "System threads: 98 > warning, svchost.exe threads: 87 > warning"
- Removed documenation from SVN (as it is old and outdated and no longer used)
2007-11-20 MickeM
+ Added new option to CheckSystem to override detected language (force_language=0x0014)
New w32 build
This one should work on nt4 so everyone still using that platform feel free to try it. There is also some other neat features into it mainly related to the "Configuration" handling
* Fixed a minor issue in reading registry keys + Added -noboot option to startup used for running command line utilities without booting the client "nsclient++ -noboot RemoteConfigruation ini2reg" for instance + Added fallback to try <module> and <module>.dll if the module was not loaded (when running command lines) * Migrated 2008 project files to new name and back-ported to 2005 project files.
next release delayed :(
Have a bit of sad news, just discovered that Visual Studio 2008 Beta 2 does not build programs that run on NT 4.0 (regardless of SP) so I shall have to revert back to 2005 again. This will take me a while to "back-port" my build environment *sigh* not a show stopper but will take a bit of time. In the meantime let me know any bugs as the "next version" is now "feature complete" and as soon as it "runs" on NT it will be out.
// Michael Medin
New w32/w64/ia64 build
A new build for all platforms are out. Nothing major new apart from fully working 64-bit builds. Let me know how the 64-bit builds work out.
2007-11-12 MickeM + Added option to configure socket_timeouts (default is now 30 seconds) should (I hope) fix issue #85 2007-11-11 MickeM + Added option to configure the behavior of CheckService CheckAll (#64)
New w32 build!
Feature compleate (unless someone has any throught) WMI plugin (much better now I hope). Will start to wrap up now, will run a bit more extensive test during the weekend and then maybe next week a new version unless I get any nasty new bugs. Fixed issue(s): #89
2007-11-08 MickeM
+ Added CheckWMIValue to check result-values from a WMI Query
* Changed so performance values are "collapsed" ie 75362115584 = 70.0G (#89)
If anyone dont want this let me know and I will make an option for it.
2007-11-06 MickeM
+ Added CLI interface to CheckWMI to check queries
// MickeM
New w32 build!
Started to rework the WMI plugin (much better now I hope) also have a few more thing splanned in that regard so stay tuned. Also some other minor fixes here and there so try it out and let me know how things do. Will start to wrap up when I get the WMI function all together and then we will have 0.2.8
2007-11-04 MickeM * Rewritten WMI handling as well as checks so things should be more usefull now (cf. the wiki page for details) 2007-10-29 MickeM * Restructured build and include to work from CLI + Started to add makefiles to build from CLI + Added finnish counters (#98) * Fixed performance counter issue with check_nt (#99)
// MickeM
New x64/w32 build!
New nightly (x64/w32) up witch should (I hope) work on w64 and w32. Fixed in this version is a new automated "build system" so revisions and dates should reflect build-date and not when-i-remembered-to-change-dates. Also cleaned up the w32 builds to fit with the x64 clean-up I did yesterday. Again the
Changelog highlights
2007-10-06 MickeM + Added auto-update of versions and dates on build to make versions better updated. + Fixed x64 build and cleanup a bit.
// MickeM
New W64 build!
New nightly (w64) up witch should (I hope) work on w64... Let me know how it turns out, this is an "initial build" I shall look over the code and such so only use for testing (but please do use it for testing). There might be issues with wrong pointer size and such here and there. Also found a slight problem with the nsclient listener that might have caused the "invalid password" issue that some have experienced but I shall investigate that a bit more before I close the issue.
Changelog highlights
N/A
// MickeM
New Nightly up
New nightly, hopefully a few more during the coming week so keep checking back every week or so...
Issues resolved: #69, #75, #76, #73
Changelog highlights
* Added Dutch performance counters to counters.defs * Added Spanish performance counters to counters.defs * Added #69 [includes] directive to INI-file to include other files * Fixed #75 (spelling issue)
and as always: *please* *please* *pleas* cant someone help me with a 64 bit rig somehow?
// MickeM
New Nightly: 64bit
Just a test build cross compiled 64 bit version, let me know if it is a 64 bit program, and what works and what not. Since I (as I have pointed out before) don't have a 64 bit box I cant really support development but feel free to let me know if it work, some times you are lucky :) It lacks regexp (boost did not seem to have any 64-bit option) as well as some module (check whats there) Again I cannot stress this enough I don't have a 64 bit reg to try anything on so this is a blind compile! Don't expect things to work and ABSOLUTLY DON NOT roll this out to all your 64 bit boxes (it wont work).
But it is something...
Ohh, and look under download fore the x64 nightly (the w32 ones will hence forth be called Win32).
// MickeM
New "nightly" build up
**UPDATED**
Added a new nightly build that should work, please try it out and get back to me, this will be become 0.2.7 in the near future.
Resolved: #16, #17, #22, #26, #29, #32, #33, #34, #35, #38, #11, #39
If nothing else pops up I will release 0.2.7 tomorrow...
Changelog
2006-03-05 MickeM
* Fixed -v FILEAGE check_nt (NSClient) check.
* Added licence agreement header to all files
2006-03-04 MickeM
+ Added script_dir option to NRPE scetion as well as some sample scripts in the scripts/
subdirectory. The script_dir will use all files in this directory as scripts for NRPE
+ Added japanese counters to counters.defs from patch (thanx!!!)
2006-02-25 MickeM
+ Added possibility to check many memory checks in one go, just stack type options.
type=paged type=physical etc...
* Fixed a performance check bug in the last nightly.
* Fixed a potential crash when a maleformed check-file-age command was issued.
+ Added support for more then and NSClient command
+ Added netmask support to allowed_hosts (try with 192.168.0.1/24 and such)
2006-02-22 MickeM
+ Added debug output to see if the socket is bound and/or has shutdown.
* Fixed a potential bug in the threadmanager.
+ Added configuration option for suppressing performance datat to the NRPE section.
Set performance_data=0 to stop sendoing performancedata to nagios
+ New (better?) (simpler?) eventlog checking
+ Added option to most commands (ignore-perf-data) to suppres performance data
+ Added option CheckAll for checking all auto-start services to checkServiceState.
Also an exclude=<service> to exclude checking that.
* Fixed return syntax for PROCSTATE nsclient
2006-02-21 MickeM
* Fixed "broken password check" (again) in NSClient listener (this time it is correct! :)
New "nightly" build up
Added a new nightly build that should work, please try it out and get back to me, this will be become .26 in the near future.
Resolved: #18
Changelog
2006-12-02 MickeM + Managed to build so it works on NT 4.0 (SP6a) and W2K3 * Fixed "broken password check" in NSClient listener
New "nightly" build up
Build scripts now automagically uploads the built files to the server so hopefully the "nightly" directory will show builds more rapidly then before, at least it is simpler for me to manage uploads :)
Fixes in this version:
2006-11-18 MickeM + Added support for empty NRPE checking (i.e.. chec_nrpe without a -c argument) * Added error message when detected language is missing from counters.defs + Added Swedish locale to counters.defs (yes, I switched to Swedish XP on my computer :) * Fixed : (and possibly other problems) in counters when checking from check_nt (via NSCLient protocol) + Added CheckAllExcept to CheckDrive to check all except the specified drives. * Fixed a display error in the various size functions (1000-1024 byte was displayed incorrectly)
// MickeM
Closed all bugs/features...
Fixed all (but one) tickets so if you have any issues or features you want add a new ticket.
I will also go through some of the past emails and see if I can find any issues there, but best way to get new feature/bugs fixed is o add a ticket...
// MickeM
Trac Site
Created a trac site for the project feel free to add/fix things...
2006-10-09 New version
Again untested, but I haven't had time to setup a test environment since the "hibernation" during summer... But no major changes so hopefully it will work :)
HUGE thanks to "Johnny Wetlaufer" for the logo (im gonns do the resize a bit better in photoshop when I heve the time) ! Thanx
- Fixed a W2k3 "bug" (actually just an incorrect error) but the: "e .\PDHCollector.cpp(130) Failed to query performance counters..." is no more... + Added option to NRPE/NSClient section to not-cache host names (for dyndns etc.) NOTICE this is "not safe" really in so far as someone might hi-jack your DNS and quickly gain access to your nagios box (probably only a theoretical problem but hey! :) NOTICE this is "slow" since all hosts in the list are "looked up" each time you get a NRPE/NSClient request it will be "slow" but I think it is not that much of a problem really. NOTICE I dont have the posibility to test this so feel free to report if it works and if it doesn't. Set cache_allowed_hosts=0 to disable host cache
2006-04-04 New version
I really don't want to release this as I haven't had time to test it properly (and see what happened last time I didn't test properly). But hopefully it will at least work better then the previous build.
NOTICE A major change is that the NSC.ini file now needs an option to allow NSClient++ to read it (so if that is missing (and it most likley is as it is a new option) NSClient++ wont even start!
[Settings] ; ;# USE THIS FILE ; Use the INI file as opposed to the registry if this is 0 and the use_reg in the registry is set to 1 ; the registry will be used instead. use_file=1
If you dont add the above to your setting file you will endup with the following:
e .\NSClient++.cpp(162) Could not find settings: No settings method specified, cannot start e .\NSClient++.cpp(106) Service *NOT* started!
The reason for this is that you can now have the settings in the registry if you so wish. (to test this enable the RemoteConfiguration module and try the follwoing:
NSClient++.exe RemoteConfiguration ini2reg NSClient++.exe RemoteConfiguration reg2ini This is not perfect (actually it is sort of buggy so roundtripping is not a good idea, but you can move from INI -> reg without problems)
The RemoteConfiguration has *major* security implication so I wouldn't use it unless you really want to (you can use it for moving the registry but safely enough though) but leavnig it there means anyone with NRPE access can reconfigure you client (not a very secure thing).
2006-04-04 MickeM
- Fixed a few more bugs to the INI/REG readers
- Could all magicians stop trying to kill me? *Please* i don't like to die!
- Damn necromancers! stop 0wning my ass all the time!
- Added API for saving/reading settings
- Added REG/INI parsers
- *NOTICE* You need to add an option (use_file=1) to your nsc.ini file or new builds wont work.
- Oblivion f*cking roxx!
- Fixed bug in INI-file reader (memory leak)
- Fixed bug in CheckFile (now dates work correctly)
2006-02-26 New version
Alot of update in this version and a few "major" things to the socket so verify that it works alright before you roll it out... Also note that the SysTray has to be installed prior to use so dont forget that if you do a new install.
- Added syntax option to CheckFile (%filename%, %creation%, %access%, %write%, %size%).
- Fixed Sections problem (now sections can be any size)
- Added bind_to_address option to both NRPE and NSClient section in the INI file. Allows you to bind the listener to a specific IP address (only dotted number not host name). This might break things as I had to do some internal rewrite of the Socket classes so be careful :)
- Disabled default-debug logging (as things are fairly stable, you can still enable it by using debug=1 in the NSC:ini file)
- "Fixed" socket backlog to use "max responsible value" as opposed to "10" if no value is specified.
- Added option socket_back_log to both NRPE and NSClient section that allows you to tweak the "back-log" of incoming connections to keep. This is an advanced setting and should not be used. If you get "connection refused" when running many client this might be something you want to tweak though. And if you then start getting "Socket timeout" you might wanna tweak the timeout value as well because larger value here means it takes "longer" to process a socket.
- I have looked into the event log problem and dates seem to work here so if anyone still have problems (use the syntax option to debug) let me know.
- Moved listpdh and debugpdh into the CheckSystem module
- Removed PDH dependencies from "core exe" means you can run NSClient++ without PDH (though you cant use the CheckSystem module)
- Added new Interface for Modules (NSCommandLineExec that allows modules to execute things give from command line. Syntax is NSClient++ <module name> <command> [arguments] and if a module doesn't support this it is simply ignored.
- Added new install/uninstall command to SystemTray module: NSClient++.exe SystemTray install NSClient++.exe SystemTray uninstall That will install/uninstall the system tray module this sets the "Allow Service to Interact with Desktop" flag for the service.
- Removed the "Allow Service to Interact with Desktop" flag from the /install option so that it no longer defaults to on (see commands to set this above).
- Fixed so checkProcess isn't case sensitive.
- Added (not finished) syntax option to event log checker to format the outputted data
2006-02-10 New version
+ Added support for host name resolve to allowed_hosts







rss





