Hello
We are monitoring Windows servers with own customized NSClient++ without
using offered by opsview.
How do we monitor Windows servers?
We are using NSClient++ ver. 0.3.6 now( Opsview is offering .msi packaged
NClient++ ver. 0.3.5.? )
We seperated common configuration and per-host customized configuration like
these.
*<nsc.ini>*
[modules]
;# NSCLIENT++ MODULES
;# A list with DLLs to load at startup.
;FileLogger.dll
CheckSystem.dll
CheckDisk.dll
NRPEListener.dll
;SysTray.dll
CheckEventLog.dll
CheckHelpers.dll
CheckWMI.dll
CheckExternalScripts.dll
[Settings]
allowed_hosts=
;# 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
[log]
;# LOG DEBUG
; Set to 1 if you want debug message printed in the log file (debug
messages are always printed to stdout when run with -test)
;debug=1
;# LOG FILE
; The file to print log statements to
file=nsclient.log
[NSClient]
;
[Check System]
;# CPU BUFFER SIZE
; Can be anything ranging from 1s (for 1 second) to 10w for 10 weeks.
Notice that a larger buffer will waste memory
; so don't use a larger buffer then you need (ie. the longest check you do
+1).
;CPUBufferSize=1h
;# CHECK RESOLUTION
; The resolution to check values (currently only CPU).
; The value is entered in 1/10:th of a second and the default is 10 (which
means ones every second)
;CheckResolution=10
;-----------------------------------------------------------------
[NRPE]
;# NRPE PORT NUMBER
; This is the port the NRPEListener.dll will listen to.
port=5666
;# COMMAND ARGUMENT PROCESSING
; This option determines whether or not the NRPE daemon will allow clients
to specify arguments to commands that are executed.
allow_arguments=1
;# COMMAND ALLOW NASTY META CHARS
; This option determines whether or not the NRPE daemon will allow clients
to specify nasty (as in |`&><'"\[]{}) characters in arguments.
allow_nasty_meta_chars=1
;# USE SSL SOCKET
; This option controls if SSL should be used on the socket.
use_ssl=1
[NRPE Handlers]
;NSClient++ checks
;nsc_checkdrivesize=inject CheckDriveSize $ARG1$
;nsc_checkfilesize=inject CheckFileSize $ARG1$
;Old Style
[External Script]
;# COMMAND TIMEOUT
; This specifies the maximum number of seconds that the NRPE daemon will
allow plug-ins to finish executing before killing them off.
;command_timeout=60
;
;# COMMAND ARGUMENT PROCESSING
; This option determines whether or not the NRPE daemon will allow clients
to specify arguments to commands that are executed.
allow_arguments=1
;
;# COMMAND ALLOW NASTY META CHARS
; This option determines whether or not the NRPE daemon will allow clients
to specify nasty (as in |`&><'"\[]{}) characters in arguments.
allow_nasty_meta_chars=1
;
;# COMMAND ALLOW NASTY META CHARS
; This option determines whether or not the NRPE daemon will allow clients
to specify nasty (as in |`&><'"\[]{}) characters in arguments.
;script_dir=c:\my\script\dir
[External Scripts]
;check_es_long=scripts\long.bat
;check_es_ok=scripts\ok.bat
;check_es_nok=scripts\nok.bat
;check_vbs_sample=cscript.exe //T:30 //NoLogo scripts\check_vb.vbs
;check_powershell_warn=cmd /c echo scripts\powershell.ps1 | powershell.exe
-command -
check_hostname=scripts\check_hostname.bat
[External Alias]
;---CheckDisk
check_filesize=CheckFileSize $ARG1$
check_drivesize=CheckDriveSize $ARG1$
check_file=CheckFile $ARG1$
;---CheckEventLog
check_eventlog=CheckEventLog $ARG1$
;---CheckSystem
check_cpu=CheckCPU $ARG1$
check_uptime=CheckUpTime $ARG1$
check_servicestate=CheckServiceState $ARG1$
check_procstate=CheckProcState $ARG1$
check_mem=CheckMem $ARG1$
check_counter=CheckCounter $ARG1$
;---CheckHelpers
check_multiple=CheckMultiple $ARG1$
check_version=CheckVersion
;---CheckWMI
check_wmi=CheckWMI $ARG1$
check_wmivalue=CheckWMIValue $ARG1$
[EventLog]
;buffer_size=151009
[includes]
;For custom setting of each server
custom.ini
*<custom.ini>*
; add custom settings here
[External Scripts]
[External Alias]
----------------
Here are some sample servicecheck configuration for windows servers.
Win CPU Usage check_nrpe -H $HOSTADDRESS$ -c check_cpu -a 'warn=95
crit=100 time=1 time=5 time=15 ShowAll=long'
Win Disk Queue Length check_nrpe -H $HOSTADDRESS$ -c check_counter -a
'"Counter=\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" ShowAll'
Win Disk Usage check_nrpe -H $HOSTADDRESS$ -c check_drivesize -a
'MaxWarnUsed=90% MaxCritUsed=95% CheckAll FilterType=FIXED ShowAll=long'
Win Disk Write Bytes/sec check_nrpe -H $HOSTADDRESS$ -c check_counter -a
'"Counter=\\PhysicalDisk(_Total)\\Disk Write Bytes/sec" ShowAll'
Win Memory Pages/sec check_nrpe -H $HOSTADDRESS$ -c check_counter -a
'"\\Memory\\Pages/sec" ShowAll'
Win Memory Usage check_nrpe -H $HOSTADDRESS$ -c check_mem -a 'MaxWarn=99%
MaxCrit=100% type=physical ShowAll=long'
Win PageFile Usage check_nrpe -H $HOSTADDRESS$ -c check_mem -a
'MaxWarn=90% MaxCrit=95% type=page ShowAll=long'
Win TCP Established check_nrpe -H $HOSTADDRESS$ -c check_counter -a
'"\\TCPv4\\Connections Established" MaxWarn=8000 MaxCrit=10000 ShowAll'
Win Web Service Current Connections check_nrpe -H $HOSTADDRESS$ -c
check_counter -a '"\\Web Service(_Total)\\Current Connections" ShowAll'
Things that you should be cautious of
When you test in unix shell, you should do like this.
check_nrpe -H 10.10.10.10 -c check_counter -a '"*\*Memory*\*Pages/sec"
ShowAll'
but When you configure servicechecks in opsview WEB UI, you shoud do like
this
check_nrpe -H $HOSTADDRESS$ -c check_counter -a '"*\\*Memory*\\*Pages/sec"
ShowAll'
*Watch out blackslash !!!*
I hope this will be helpful for you.
On Fri, Oct 29, 2010 at 3:44 AM, Matt White <[email protected]>wrote:
> Hi James,
>
>
>
> This is an extract from my running Opsview config to check disk queues:
>
>
>
> check_nrpe -H $HOSTADDRESS$ -p 5666 -c checkCounter -u -a "Counter:Average
> Queue Length=\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" ShowAll
> MaxWarn=1 MaxCrit=2
>
>
>
> One of the pre-defined Opsview checks is:
>
>
>
> check_nrpe -H $HOSTADDRESS$ -c nsc_checkcounter -a '"\\MSExchangeTransport
> Queues(_total)\\Largest Delivery Queue Length" MaxWarn=100 MaxCrit=200
> ShowAll'
>
>
>
> Hope this helps
>
>
>
> M
>
>
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *James Whittington
> *Sent:* 28 October 2010 19:00
>
> *To:* Opsview Users
> *Subject:* Re: [opsview-users] Having issues checking counter in Win08
> server
>
>
>
> Matt,
>
>
>
> “James – have you tried putting double slashes in the Opsview service
> definition:”
>
> I’m pretty sure I tested that as well, but at the time I was under a major
> time crunch to get this thing in place.
>
> For the short term I just added it as a custom command in NSC.ini on the
> Windows server.
>
>
>
> So that line would look like this:
>
> web_curr_conn=inject CheckCounter "Counter:connections=\Web
> Service(_Total)\Current Connections" ShowAll MaxWarn=40 MaxCrit=100
>
>
>
> With service check looking like this:
>
>
>
> check_nrpe -H $HOSTADDRESS$ -c nsc_checkcounter -c web_curr_conn -a ShowAll
>
>
>
> It worked but I like to keep the remote servers Opsview agents as generic
> as I can so folks don’t have to know to add custom lines as new servers are
> monitored.
>
>
>
> If I get it solved I’ll be sure to post the solution.
>
>
>
> James
>
>
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Matt White
> *Sent:* Thursday, October 28, 2010 3:03 AM
> *To:* Opsview Users
> *Subject:* Re: [opsview-users] Having issues checking counter in Win08
> server
>
>
>
> James – have you tried putting double slashes in the Opsview service
> definition:
>
>
>
> “\\Web Service(_Total)\\Current Connections” – I had a similar thing with
> file sizes have to be stored as D:\\MDBDATA\\priv1.edb etc
>
>
>
> Matt
>
>
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *James Whittington
> *Sent:* 26 October 2010 18:26
> *To:* Opsview Users
> *Subject:* [opsview-users] Having issues checking counter in Win08 server
>
>
>
> I am trying to create a Service check to check web connections on my
> Windows 2008 web servers.
>
> I check service state through Opsview Agent/nsclient++ already on the same
> server so I figured checking some counters would be pretty easy.
>
>
>
> This command works properly as user nagios from the Opsview monitoring node
> doing the polling:
>
> ./check_nrpe -H xxx.xxx.xxx.xxx -c nsc_checkcounter -a '"\Web
> Service(_Total)\Current Connections" MaxWarn=100 MaxCrit=300 ShowAll'
>
>
>
> “OK: \Web Service(_Total)\Current Connections: 1|'\Web
> Service(_Total)\Current Connections'=1;100;300;”
>
>
>
> The service definition I created in Opsview looks like this:
>
> check_nrpe -H $HOSTADDRESS$ -c nsc_checkcounter -a '"\Web
> Service(_Total)\Current Connections" MaxWarn=100 MaxCrit=300 ShowAll'
>
>
>
>
>
>
>
> This is the error that appears in Opsview:
>
> ERROR: Web Service(_Total)Current Connections: PdhAddCounter failed:
> -1073738816: Unable to parse the counter path. Check the format and syntax
> of the specified path.
>
>
>
> I figure others out there has come across this previously (maybe something
> needs to be escaped?) so I figured I’d post it to the group.
>
>
>
>
>
> James Whittington
>
> VC3, Inc.
>
>
>
>
>
> _______________________________________________
> Opsview-users mailing list
> [email protected]
> http://lists.opsview.org/lists/listinfo/opsview-users
>
>
_______________________________________________
Opsview-users mailing list
[email protected]
http://lists.opsview.org/lists/listinfo/opsview-users