Page 2 of 3

Re: Alert when UpTime gets to large

Posted: Mon Sep 29, 2014 1:07 pm
by Box293
These errors are OK, you can ignore these.

Seeing as we created a new ini file from scratch you just need to define the options:

[/settings/default]
allowed hosts = 127.0.0.1

Change this to your Nagios host.


[/settings/NRPE/server]

; COMMAND ARGUMENT PROCESSING - This option determines whether or not the we will allow clients to specify arguments to commands that are executed.
allow arguments = true

; COMMAND ALLOW NASTY META CHARS - This option determines whether or not the we will allow clients to specify nasty (as in |`&><'"\[]{}) characters in arguments.
allow nasty characters = true


[/modules]
CheckDisk = 1
CheckEventLog = 1
CheckExternalScripts = 1
CheckHelpers = 1
CheckNSCP = 1
CheckSystem = 1
CheckWMI = 1
NRPEServer = 1
NSCAClient = 1
NSClientServer = 1


Save the file and restart the NSClient++ service.

Now try the check:

Code: Select all

./check_nrpe -H SQL1 -p 12489 -n -c CheckCounter -a "Counter=\System\System Up Time" ShowAll MaxCrit=5184

Re: Alert when UpTime gets to large

Posted: Tue Sep 30, 2014 1:05 pm
by JohnFLi
I made sure all the settings in the ini file matched what you said

Code: Select all

# If you want to fill this file with all avalible options run the following command:
#   nscp settings --generate --add-defaults --load-all
# If you want to activate a module and bring in all its options use:
#   nscp settings --activate-module <MODULE NAME> --add-defaults
# For details run: nscp settings --help


; Undocumented section
[/modules]

; CheckDisk - CheckDisk can check various file and disk related things. The current version has commands to check Size of hard drives and directories.
CheckDisk = 1

; Event log Checker. - Check for errors and warnings in the event log. This is only supported through NRPE so if you plan to use only NSClient this wont help you at all.
CheckEventLog = 1

; Check External Scripts - A simple wrapper to run external scripts and batch files.
CheckExternalScripts = 1

; Helper function - Various helper function to extend other checks. This is also only supported through NRPE.
CheckHelpers = 1

; Check NSCP - Checkes the state of the agent
CheckNSCP = 1

; CheckSystem - Various system related checks, such as CPU load, process state, service state memory usage and PDH counters.
CheckSystem = 1

; CheckWMI - CheckWMI can check various file and disk related things. The current version has commands to check Size of hard drives and directories.
CheckWMI = 1

; NRPE server - A simple server that listens for incoming NRPE connection and handles them.
NRPEServer = 1

; NSClient server - A simple server that listens for incoming NSClient (check_nt) connection and handles them. Although NRPE is the preferred method NSClient is fully supported and can be used for simplicity or for compatibility.
NSClientServer = 1


NSCAClient = 1
NSClientServer = 1

[/settings/NRPE/server]

; COMMAND ARGUMENT PROCESSING - This option determines whether or not the we will allow clients to specify arguments to commands that are executed.
allow arguments = true

; COMMAND ALLOW NASTY META CHARS - This option determines whether or not the we will allow clients to specify nasty (as in |`&><'"\[]{}) characters in arguments.
allow nasty characters = true

; Undocumented section
[/settings/default]

; ALLOWED HOSTS - A comaseparated list of allowed hosts. You can use netmasks (/ syntax) or * to create ranges.
allowed hosts = g1vpnag01


; A list of aliases available. An alias is an internal command that has been "wrapped" (to add arguments). Be careful so you don't create loops (ie check_loop=check_a, check_a=check_loop)
[/settings/external scripts/alias]

; alias_cpu - Alias for alias_cpu. To configure this item add a section called: /settings/external scripts/alias/alias_cpu
alias_cpu = checkCPU warn=80 crit=90 time=5m time=1m time=30s

; alias_cpu_ex - Alias for alias_cpu_ex. To configure this item add a section called: /settings/external scripts/alias/alias_cpu_ex
alias_cpu_ex = checkCPU warn=$ARG1$ crit=$ARG2$ time=5m time=1m time=30s

; alias_disk - Alias for alias_disk. To configure this item add a section called: /settings/external scripts/alias/alias_disk
alias_disk = CheckDriveSize MinWarn=10% MinCrit=5% CheckAll FilterType=FIXED

; alias_disk_loose - Alias for alias_disk_loose. To configure this item add a section called: /settings/external scripts/alias/alias_disk_loose
alias_disk_loose = CheckDriveSize MinWarn=10% MinCrit=5% CheckAll FilterType=FIXED ignore-unreadable

; alias_event_log - Alias for alias_event_log. To configure this item add a section called: /settings/external scripts/alias/alias_event_log
alias_event_log = CheckEventLog file=application file=system MaxWarn=1 MaxCrit=1 "filter=generated gt -2d AND severity NOT IN ('success', 'informational') AND source != 'SideBySide'" truncate=800 unique descriptions "syntax=%severity%: %source%: %message% (%count%)"

; alias_file_age - Alias for alias_file_age. To configure this item add a section called: /settings/external scripts/alias/alias_file_age
alias_file_age = checkFile2 filter=out "file=$ARG1$" filter-written=>1d MaxWarn=1 MaxCrit=1 "syntax=%filename% %write%"

; alias_file_size - Alias for alias_file_size. To configure this item add a section called: /settings/external scripts/alias/alias_file_size
alias_file_size = CheckFiles "filter=size > $ARG2$" "path=$ARG1$" MaxWarn=1 MaxCrit=1 "syntax=%filename% %size%" max-dir-depth=10

; alias_mem - Alias for alias_mem. To configure this item add a section called: /settings/external scripts/alias/alias_mem
alias_mem = checkMem MaxWarn=80% MaxCrit=90% ShowAll=long type=physical type=virtual type=paged type=page

; alias_process - Alias for alias_process. To configure this item add a section called: /settings/external scripts/alias/alias_process
alias_process = checkProcState "$ARG1$=started"

; alias_process_count - Alias for alias_process_count. To configure this item add a section called: /settings/external scripts/alias/alias_process_count
alias_process_count = checkProcState MaxWarnCount=$ARG2$ MaxCritCount=$ARG3$ "$ARG1$=started"

; alias_process_hung - Alias for alias_process_hung. To configure this item add a section called: /settings/external scripts/alias/alias_process_hung
alias_process_hung = checkProcState MaxWarnCount=1 MaxCritCount=1 "$ARG1$=hung"

; alias_process_stopped - Alias for alias_process_stopped. To configure this item add a section called: /settings/external scripts/alias/alias_process_stopped
alias_process_stopped = checkProcState "$ARG1$=stopped"

; alias_sched_all - Alias for alias_sched_all. To configure this item add a section called: /settings/external scripts/alias/alias_sched_all
alias_sched_all = CheckTaskSched "filter=exit_code ne 0" "syntax=%title%: %exit_code%" warn=>0

; alias_sched_long - Alias for alias_sched_long. To configure this item add a section called: /settings/external scripts/alias/alias_sched_long
alias_sched_long = CheckTaskSched "filter=status = 'running' AND most_recent_run_time < -$ARG1$" "syntax=%title% (%most_recent_run_time%)" warn=>0

; alias_sched_task - Alias for alias_sched_task. To configure this item add a section called: /settings/external scripts/alias/alias_sched_task
alias_sched_task = CheckTaskSched "filter=title eq '$ARG1$' AND exit_code ne 0" "syntax=%title% (%most_recent_run_time%)" warn=>0

; alias_service - Alias for alias_service. To configure this item add a section called: /settings/external scripts/alias/alias_service
alias_service = checkServiceState CheckAll

; alias_service_ex - Alias for alias_service_ex. To configure this item add a section called: /settings/external scripts/alias/alias_service_ex
alias_service_ex = checkServiceState CheckAll "exclude=Net Driver HPZ12" "exclude=Pml Driver HPZ12" exclude=stisvc

; alias_up - Alias for alias_up. To configure this item add a section called: /settings/external scripts/alias/alias_up
alias_up = checkUpTime MinWarn=1d MinWarn=1h

; alias_updates - Alias for alias_updates. To configure this item add a section called: /settings/external scripts/alias/alias_updates
alias_updates = check_updates -warning 0 -critical 0

; alias_volumes - Alias for alias_volumes. To configure this item add a section called: /settings/external scripts/alias/alias_volumes
alias_volumes = CheckDriveSize MinWarn=10% MinCrit=5% CheckAll=volumes FilterType=FIXED

; alias_volumes_loose - Alias for alias_volumes_loose. To configure this item add a section called: /settings/external scripts/alias/alias_volumes_loose
alias_volumes_loose = CheckDriveSize MinWarn=10% MinCrit=5% CheckAll=volumes FilterType=FIXED ignore-unreadable 

; default - Alias for default. To configure this item add a section called: /settings/external scripts/alias/default
default = 

Ran the command at you said

Code: Select all

@g1vpnag01 libexec]$ ./check_nrpe -H SQL1 -p 12489 -n -c CheckCounter -a "Counter=\System\System Up Time" ShowAll MaxCrit=5184

the message I get from teh command line

Code: Select all

CHECK_NRPE: Received 0 bytes from daemon.  Check the remote server logs for error messages.
And the message in the log file (I dont have a password set anywhere)

Code: Select all

2014-09-30 11:02:38: e:..\..\..\..\nscp\modules\NSClientServer\NSClientServer.cpp:254: Invalid password (

Re: Alert when UpTime gets to large

Posted: Tue Sep 30, 2014 1:27 pm
by Box293
Argh I copied and pasted the wrong test command LOL (the one with the wrong port).

Try this

Code: Select all

./check_nrpe -H SQL1 -n -c CheckCounter -a "Counter=\System\System Up Time" ShowAll MaxCrit=5184

Re: Alert when UpTime gets to large

Posted: Tue Sep 30, 2014 1:31 pm
by JohnFLi
log file says

Code: Select all

2014-09-30 11:30:45: e:c:\build\nscp\include\socket/connection.hpp:236: Failed to establish secure connection: unknown protocol

Re: Alert when UpTime gets to large

Posted: Tue Sep 30, 2014 1:37 pm
by Box293
drop the -n

Code: Select all

./check_nrpe -H SQL1 -c CheckCounter -a "Counter=\System\System Up Time" ShowAll MaxCrit=5184

Re: Alert when UpTime gets to large

Posted: Tue Sep 30, 2014 1:38 pm
by JohnFLi
got a much different response

Code: Select all

CRITICAL: \System\System Up Time: 5.48727e+006 > critical|'\System\System Up Time'=5487271.678;0;5184

Re: Alert when UpTime gets to large

Posted: Tue Sep 30, 2014 1:41 pm
by Box293
WOOOHOOO AWESOME

Must apologize for the drawn out process, normally I am spot on with NSClient++.

Re: Alert when UpTime gets to large

Posted: Tue Sep 30, 2014 1:47 pm
by JohnFLi
lol no worries at all.

any ideas how to get it to display better?

it shows

Re: Alert when UpTime gets to large

Posted: Tue Sep 30, 2014 2:03 pm
by Box293
Try this one instead:

http://www.nsclient.org/nscp/wiki/Check ... heckUpTime

Code: Select all

check_nrpe -H SQL1 -c CheckUpTime -a MaxCrit=60d
Example:

Code: Select all

./check_nrpe -H 192.168.207.1 -c CheckUpTime -a MaxCrit=1d

CRITICAL: uptime: 1d 1:11 > critical|'uptime'=90666000;0;86400000

Re: Alert when UpTime gets to large

Posted: Tue Sep 30, 2014 3:10 pm
by JohnFLi
looks good to me,

The output now reads "CRITICAL: uptime: 9w 0d 13:46 > critical "


Thank you for your help