check nrpe

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
MPIvan
Posts: 213
Joined: Thu Nov 22, 2012 6:09 am

check nrpe

Post by MPIvan »

Hi all,
I have nagios on ubuntu server and im trying to monitoring windows machines especial there hard drive health. Im in a search of a plugins and other stuff on another topic and i kind get in trouble with NRPE !
As i understand nrpe let you to send some kind of signal to tell the NSClientt++ or to tell the windows machine to execute some scripts or something and when the windows machine get the results it sends to the Nagios. So in my experiment here i was able to get to work this NRPE and here it is the results i get
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 172.25.1.101 -c alias_cpu
OK CPU Load ok.|'5m'=12%;80;90 '1m'=11%;80;90 '30s'=11%;80;90
root@nagios:/usr/local/nagios/libexec#
i have the nrpe_nt.0.8b-bin.zip file unziped in C:\ containing this files
1) libeay32.dll
2) nrpe.cfg
3) NRPE_NT.exe
4) ssleay32.dll
5) test.cmd
6) nrpe_nt.log

but i guess i don't need this because i have this next thing in the nsclient.ini file

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


; Undocumented section
[/settings/default]

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

; PASSWORD - Password used to authenticate againast server
password = MyPC


; 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 = 


[ERS]
port = 5666
command_timeout = 60
allow_arguments = 1
allow_nasty_meta_chars = 1

use_ssl = 1
bind_to_address = 
allowed_hosts = 
socket_timeout = 30


[External Alias]
alias_cpu = checkCPU warn = 90 crit = 95 time = 5m time = 1m time = 15m
alias_disk = CheckDriveSize MinWarn = 10% = 5% MinCrit checkAll
FilterType = FIXED
alias_service = checkServiceState checkAll
alias_mem = checkMem maxwarn = 80% = 90% MaxCrit ShowAll type = physical

so my question here is how when i run the ./check_nrpe -H 172.25.1.101 -c alias_cpu is gave me the results. where is this alias_cpu or checkCPU script is or how is executing because there is nothing similar in the NSClient++ folder. And the importing thing is how can i execute new script that i made or already made to be execute and warped with nsclinet ++ so the check_nrpe can tell the NSClient++ to execute and i can get the info back.
slansing
Posts: 7698
Joined: Mon Apr 23, 2012 4:28 pm
Location: Travelling through time and space...

Re: check nrpe

Post by slansing »

Yes you do not need those files....because NSClient++ is the NRPE agent for windows as the documentation shows..

That CPU check is calling an internal module within NSClient++ it is not calling a plugin, in order to add additional custom plugins you would need to place them in the scripts folder of NSClient++ and follow their documentation for wrapping a definition within NSClient++ so you can remotely call the plugin.

http://www.nsclient.org/nscp/

An example from our documentation can be found here:

http://assets.nagios.com/downloads/nagi ... ios_XI.pdf
MPIvan
Posts: 213
Joined: Thu Nov 22, 2012 6:09 am

Re: check nrpe

Post by MPIvan »

Hi slansing and tnx for reply

i have try the the example you suggest http://assets.nagios.com/downloads/nagi ... ios_XI.pdf and i get some errors like
Sort : Exception getting "InstalledOn": "Exception calling "Parse" with "1" argument(s): "String was not recognized as
a valid DateTime.""
At C:\Program Files\NSClient++\scripts\Check-Updates.ps1:191 char:41
+ [DateTime]$Date = $( $WMIData | Sort InstalledOn -Descending -Unique | S ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidResult: (\\MYPC\r...PackInEffect="":PSObject) [Sort-Object], GetValueInvoc
ationException
+ FullyQualifiedErrorId : ExpressionEvaluation,Microsoft.PowerShell.Commands.SortObjectCommand

-137 Days since last update. Within grace period.
PS C:\Program Files\NSClient++\scripts>
also i have some errors in nagios like

Code: Select all

root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -c alias_cpu                                                                                                 OK CPU Load ok.|'5m'=11%;80;90 '1m'=11%;80;90 '30s'=10%;80;90
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -c alias_upd                                                                                                 ates
No handler for command: check_updates
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -t 120 -p 56                                                                                                 66 -c check_updates
No handler for command: cmd
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -t 120 -p 12                                                                                                 489 -c check_updates
CHECK_NRPE: Error - Could not complete SSL handshake.
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -t 120 -c ch                                                                                                 eck_updates
No handler for command: cmd
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -c check_upd                                                                                                 ates
No handler for command: cmd
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -c check_sma                                                                                                 rtpfa
No handler for command: check_smartpfa
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -c sectionch                                                                                                 eck_smartpfa
No handler for command: smartpfa.vbs
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -c smartpfa
No handler for command: smartpfa
slansing
Posts: 7698
Joined: Mon Apr 23, 2012 4:28 pm
Location: Travelling through time and space...

Re: check nrpe

Post by slansing »

root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -c alias_cpu OK CPU Load ok.|'5m'=11%;80;90 '1m'=11%;80;90 '30s'=10%;80;90
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -c alias_upd ates
No handler for command: check_updates
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -t 120 -p 56 66 -c check_updates
No handler for command: cmd
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -t 120 -p 12 489 -c check_updates
CHECK_NRPE: Error - Could not complete SSL handshake.
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -t 120 -c ch eck_updates
No handler for command: cmd
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -c check_upd ates
No handler for command: cmd
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -c check_sma rtpfa
No handler for command: check_smartpfa
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -c sectionch eck_smartpfa
No handler for command: smartpfa.vbs
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -c smartpfa
No handler for command: smartpfa
Port 12489 won't for for NRPE as the documentation shows that is check_nt's default port, and the timeout rate should not matter since that is not the error you are receiving. Did you run the commands at the top of the nsclient.ini file? The new versions require you to run that to expand the entire configuration file "which you will need to do to set up ANY new commands, including the document I asked you to follow."
MPIvan
Posts: 213
Joined: Thu Nov 22, 2012 6:09 am

Re: check nrpe

Post by MPIvan »

Yes i know that 12489 port wont work for NRPE, i just try to see what will be the reaction ... any way ... sorry i dont understand you well here, correct me if im wrong
Did you run the commands at the top of the nsclient.ini file? The new versions require you to run that to expand the entire configuration file "which you will need to do to set up ANY new commands, including the document I asked you to follow."
You mean to put/write the commands at top/beginning of the nsclient.ini file (if so, i did and same thing same errors).
And errors like
Sort : Exception getting "InstalledOn": "Exception calling "Parse" with "1" argument(s): "String was not recognized as
a valid DateTime.""
At C:\Program Files\NSClient++\scripts\Check-Updates.ps1:191 char:41
+ [DateTime]$Date = $( $WMIData | Sort InstalledOn -Descending -Unique | S ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidResult: (\\MYPC\r...PackInEffect="":PSObject) [Sort-Object], GetValueInvoc
ationException
+ FullyQualifiedErrorId : ExpressionEvaluation,Microsoft.PowerShell.Commands.SortObjectCommand

-137 Days since last update. Within grace period.
PS C:\Program Files\NSClient++\scripts>
i get this when i execute the Check-Updates.ps1 in PowerShell and also i have this after all changes that i found that have to be made, the same error i get in nagios ....
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.10 -t 120 -p 5666 -c check_updates
No handler for command: check_updates
root@nagios:/usr/local/nagios/libexec#
slansing
Posts: 7698
Joined: Mon Apr 23, 2012 4:28 pm
Location: Travelling through time and space...

Re: check nrpe

Post by slansing »

No I mean the actual commands designated at the top of the nsclient.ini file:

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
This is one of the small frustrations with the new versions of NSClient unfortunately.
MPIvan
Posts: 213
Joined: Thu Nov 22, 2012 6:09 am

Re: check nrpe

Post by MPIvan »

hahahaha way i dont read that .... OMG all nsclinet.ini file is changed and there are a bunch of configurations and command that i dont see them ..... this is interesting and also yes frustrations :) ... any way now i have this errors ...

C:\Program Files\NSClient++>nscp settings --generate --add-defaults --load-all
e rvice\NSClient++.cpp:347 Failed to register plugin: Could not load library: 126: The specified module could not be found.
: C:\Program Files\NSClient++\\modules\PythonScript.dll in file: PythonScript
l scripts\commands.hpp:100 Failed to parse arguments for command 'check_updates
', using old split string method: unknown escape sequence: cmd /c echo scripts\C
heck-Updates.ps1; exit $LastExitCode | powershell.exe -command -
e service\commands.hpp:95 Adding duplicate command: CheckTaskSchedValue
e service\commands.hpp:95 Adding duplicate command: CheckTaskSched
Adding default values

C:\Program Files\NSClient++>
and here is the init file

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

; 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.
CheckLogFile = 0

; 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

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

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

; 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

; DotnetPlugin - Plugin to load and manage plugins written in dot net.
DotnetPlugins = 0

; GraphiteClient - Graphite client
GraphiteClient = 0

; LUAScript - LUAScript...
LUAScript = 0

; NRDPClient - Passive check support over NRDP
NRDPClient = 0

; NRPE client - NRPE client 
NRPEClient = 0

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

; NSCAClient - Passive check support over NSCA.
NSCAClient = 0

; NSCA server (no encryption) - A simple server that listens for incoming NSCA connection and handles them.
NSCAServer = 0

; 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

; SMTPClient - Passive check support via SMTP
SMTPClient = 0

; Scheduler - A scheduler which schedules checks at regular intervals
Scheduler = 0

; SimpleCache module - Caches results for later checking.
SimpleCache = 0

; SimpleFileWriter module - FileWriters results for later checking.
SimpleFileWriter = 0

; SyslogClient - Passive check support via Syslog
SyslogClient = 0


; Undocumented section
[/settings/default]

; ALLOWED CIPHERS - A better value is: ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH
allowed ciphers = ADH

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

; BIND TO ADDRESS - Allows you to bind server to a specific local address. This has to be a dotted ip address not a host name. Leaving this blank will bind to all available IP addresses.
bind to = 

; CACHE ALLOWED HOSTS - If hostnames should be cached, improves speed and security somewhat but wont allow you to have dynamic IPs for your nagios server.
cache allowed hosts = true

; SSL CERTIFICATE - 
certificate = 

; INBOX - The default channel to post incoming messages on
inbox = inbox

; PASSWORD - Password used to authenticate againast server
password = TestPC

; TIMEOUT - Timeout when reading packets on incoming sockets. If the data has not arrived within this time we will bail out.
timeout = 30

; ENABLE SSL ENCRYPTION - This option controls if SSL should be enabled.
use ssl = true

; VERIFY MODE - 
verify mode = none


; 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

; check_updates - Alias for check_updates. To configure this item add a section called: /settings/external scripts/alias/check_updates
check_updates = cmd /c echo scripts\Check-Updates.ps1; exit $LastExitCode | powershell.exe -command -

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


; List all dot net modules loaded by the DotNetplugins module here
[/modules/dotnet]


; Section for SMTP passive check module.
[/settings/NRDP/client]

; CHANNEL - The channel to listen to.
channel = NRDP

; HOSTNAME - The host name of this host if set to blank (default) the windows name of the computer will be used.
hostname = auto


; Target definition for: default
[/settings/NRDP/client/targets/default]

; TARGET ADDRESS - Target host address
address = 

; RECIPIENT - Recipient of email message
recipient = nscp@localhost

; SENDER - Sender of email message
sender = nscp@localhost

; TEMPLATE - Template for message data
template = Hello, this is %source% reporting %message%!

; TIMEOUT - Timeout when reading/writing packets to/from sockets.
timeout = 30


; Section for NRPE active/passive check module.
[/settings/NRPE/client]

; CHANNEL - The channel to listen to.
channel = NRPE


; Target definition for: default
[/settings/NRPE/client/targets/default]

; TARGET ADDRESS - Target host address
address = 

; ALLOWED CIPHERS - A better value is: ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH
allowed ciphers = ADH

; SSL CERTIFICATE - 
certificate = 

; PAYLOAD LENGTH - Length of payload to/from the NRPE agent. This is a hard specific value so you have to "configure" (read recompile) your NRPE agent to use the same value for it to work.
payload length = 1024

; TIMEOUT - Timeout when reading/writing packets to/from sockets.
timeout = 30

; ENABLE SSL ENCRYPTION - This option controls if SSL should be enabled.
use ssl = true

; VERIFY MODE - 
verify mode = none


; Section for NRPE (NRPEServer.dll) (check_nrpe) protocol options.
[/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 = false

; 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 = false

; PORT NUMBER - Port to use for NRPE.
port = 5666


; Section for NSCA passive check module.
[/settings/NSCA/client]

; CHANNEL - The channel to listen to.
channel = NSCA

; HOSTNAME - The host name of this host if set to blank (default) the windows name of the computer will be used.
hostname = auto


; Target definition for: default
[/settings/NSCA/client/targets/default]

; TARGET ADDRESS - Target host address
address = 

; ALLOWED CIPHERS - A better value is: ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH
allowed ciphers = ADH

; SSL CERTIFICATE - 
certificate = 

; ENCRYPTION METHOD - Number corresponding to the various encryption algorithms (see the wiki). Has to be the same as the server or it wont work at all.
encryption = aes

; PASSWORD - The password to use. Again has to be the same as the server or it wont work at all.
password = 

; TIMEOUT - Timeout when reading/writing packets to/from sockets.
timeout = 30

; ENABLE SSL ENCRYPTION - This option controls if SSL should be enabled.
use ssl = false

; VERIFY MODE - 
verify mode = none


; Section for NSCA (NSCAServer) (check_nsca) protocol options.
[/settings/NSCA/server]

; ENCRYPTION - Encryption to use
encryption = aes

; PASSWORD - Password to use
password = 

; PAYLOAD LENGTH - Length of payload to/from the NSCA agent. This is a hard specific value so you have to "configure" (read recompile) your NSCA agent to use the same value for it to work.
payload length = 512

; PERFORMANCE DATA - Send performance data back to nagios (set this to 0 to remove all performance data).
performance data = true

; PORT NUMBER - Port to use for NSCA.
port = 5667

; ENABLE SSL ENCRYPTION - This option controls if SSL should be enabled.
use ssl = false


; Section for NSClient (NSClientServer.dll) (check_nt) protocol options.
[/settings/NSClient/server]

; PERFORMANCE DATA - Send performance data back to nagios (set this to 0 to remove all performance data).
performance data = true

; PORT NUMBER - Port to use for check_nt.
port = 12489


; Section for SMTP passive check module.
[/settings/SMTP/client]

; CHANNEL - The channel to listen to.
channel = SMTP


; Target definition for: default
[/settings/SMTP/client/targets/default]

; TARGET ADDRESS - Target host address
address = 

; RECIPIENT - Recipient of email message
recipient = nscp@localhost

; SENDER - Sender of email message
sender = nscp@localhost

; TEMPLATE - Template for message data
template = Hello, this is %source% reporting %message%!

; TIMEOUT - Timeout when reading/writing packets to/from sockets.
timeout = 30


; Section for simple cache module (SimpleCache.dll).
[/settings/cache]

; CHANNEL - The channel to listen to.
channel = CACHE

; PRIMARY CACHE INDEX - Set this to the value you want to use as unique key for the cache (host, command, result,...).
primary index = ${alias-or-command}


; Section for system checks and system settings
[/settings/check/task schedule]

; SYNTAX - Set this to use a specific syntax string for all commands (that don't specify one)
default buffer length = %title% last run: %most-recent-run-time% (%exit-code%)


; Configure crash handling properties.
[/settings/crash]

; ARCHIVE CRASHREPORTS - Archive crash reports in the archive folder
archive = true

; folder - The archive folder for crash dunpes.
archive folder = ${shared-path}/crash-dumps

; RESTART - Submit crash reports to nsclient.org (or your configured submission server)
restart = true

; RESTART SERVICE NAME - The url to submit crash reports to
restart target = NSClientpp

; SUBMIT CRASHREPORTS - Submit crash reports to nsclient.org (or your configured submission server)
submit = false

; SUBMISSION URL - The url to submit crash reports to
submit url = http://crash.nsclient.org/submit


; Section for the EventLog Checker (CheckEventLog.dll).
[/settings/eventlog]

; BUFFER_SIZE - The size of the buffer to use when getting messages this affects the speed and maximum size of messages you can recieve.
buffer size = 131072

; DEBUG - Log more information when filtering (usefull to detect issues with filters) not usefull in production as it is a bit of a resource hog.
debug = false

; LOOKUP NAMES - Lookup the names of eventlog files
lookup names = true

; SYNTAX - Set this to use a specific syntax string for all commands (that don't specify one).
syntax = 


; A set of options to configure the real time checks
[/settings/eventlog/real-time]

; DEBUG - Log missed records (usefull to detect issues with filters) not usefull in production as it is a bit of a resource hog.
debug = false

; REAL TIME CHECKING - Spawns a backgrounnd thread which detects issues and reports them back instantly.
enabled = false

; LOGS TO CHECK - Comma separated list of logs to check
log = application,system

; STARTUP AGE - The initial age to scan when starting NSClient++
startup age = 30m


; A set of filters to use in real-time mode
[/settings/eventlog/real-time/filters]


; Section for external scripts configuration options (CheckExternalScripts).
[/settings/external scripts]

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

; 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 = false

; SCRIPT DIRECTORY - Load all scripts in a directory and use them as commands. Probably dangerous but useful if you have loads of scripts :)
script path = 

; COMMAND TIMEOUT - The maximum time in seconds that a command can execute. (if more then this execution will be aborted). NOTICE this only affects external commands not internal ones.
timeout = 60


; A list of scripts available to run from the CheckExternalScripts module. Syntax is: <command>=<script> <arguments>
[/settings/external scripts/scripts]


; A list of wrappped scripts (ie. using the template mechanism)
[/settings/external scripts/wrapped scripts]


; A list of templates for wrapped scripts
[/settings/external scripts/wrappings]

; BATCH FILE WRAPPING - 
bat = scripts\\%SCRIPT% %ARGS%

; POWERSHELL WRAPPING - 
ps1 = cmd /c echo scripts\\%SCRIPT% %ARGS%; exit($lastexitcode) | powershell.exe -command -

; VISUAL BASIC WRAPPING - 
vbs = cscript.exe //T:30 //NoLogo scripts\\lib\\wrapper.vbs %SCRIPT% %ARGS%


; Section for graphite passive check module.
[/settings/graphite/client]

; CHANNEL - The channel to listen to.
channel = GRAPHITE

; HOSTNAME - The host name of this host if set to blank (default) the windows name of the computer will be used.
hostname = auto


; Target definition for: default
[/settings/graphite/client/targets/default]

; TARGET ADDRESS - Target host address
address = 

; PATH FOR VALUES - 
path = system.${hostname}.${check_alias}.${perf_alias}


; Section for configuring the log handling.
[/settings/log]

; DATEMASK - The size of the buffer to use when getting messages this affects the speed and maximum size of messages you can recieve.
date format = %Y-%m-%d %H:%M:%S

; LOG LEVEL - Log level to use. Avalible levels are error,warning,info,debug,trace
level = info


; Configure log file properties.
[/settings/log/file]

; MAXIMUM FILE SIZE - When file size reaches this it will be truncated to 50% if set to 0 (default) truncation will be disabled
max size = 0


; Section for log file checker
[/settings/logfile]

; DEBUG - Log more information to help diagnose errors and configuration problems.
debug = false

; SYNTAX - Set the default syntax to use
syntax = 


; A set of options to configure the real time checks
[/settings/logfile/real-time]

; REAL TIME CHECKING - Spawns a backgrounnd thread which waits for file changes.
enabled = false


; A set of filters to use in real-time mode
[/settings/logfile/real-time/checks]


; Section for the LUAScripts module.
[/settings/lua]


; A list of scripts available to run from the LuaSCript module.
[/settings/lua/scripts]


; Section for the Scheduler module.
[/settings/scheduler]

; THREAD COUNT - Number of threads to use.
threads = 5


; Section for the Scheduler module.
[/settings/scheduler/schedules]


; Section for configuring the shared session.
[/settings/shared session]

; LOG LEVEL - Log level to use
enabled = false


; Section for SYSLOG passive check module.
[/settings/syslog/client]

; CHANNEL - The channel to listen to.
channel = syslog

; HOSTNAME - The host name of this host if set to blank (default) the windows name of the computer will be used.
hostname = 


; Target definition for: default
[/settings/syslog/client/targets/default]

; TARGET ADDRESS - Target host address
address = 

; TODO - 
critical severity = critical

; TODO - 
facility = kernel

; TODO - 
message_syntax = %message%

; TODO - 
ok severity = informational

; TODO - 
severity = error

; TODO - 
tag_syntax = NSCA

; TODO - 
unknown severity = emergency

; TODO - 
warning severity = warning


; Section for system checks and system settings
[/settings/system/windows]

; DEFAULT LENGTH - Used to define the default intervall for range buffer checks (ie. CPU).
default buffer length = 1h


; Confiure which services has to be in which state
[/settings/system/windows/service mapping]


; A list of avalible remote target systems
[/settings/targets]


; Section for simple file writer module (SimpleFileWriter.dll).
[/settings/writers/file]

; CHANNEL - The channel to listen to.
channel = FILE

; FILE TO WRITE TO - The filename to write output to.
file = output.txt

; PRIMARY CACHE INDEX - Set this to the value you want to use as unique key for the cache (host, command, result,...).
syntax = ${alias-or-command} ${result} ${message}
abrist
Red Shirt
Posts: 8334
Joined: Thu Nov 15, 2012 1:20 pm

Re: check nrpe

Post by abrist »

Looks like there is an extra slash in the path:

Code: Select all

C:\Program Files\NSClient++\\modules\PythonScript.dll in file: PythonScript
Former Nagios employee
"It is turtles. All. The. Way. Down. . . .and maybe an elephant or two."
VI VI VI - The editor of the Beast!
Come to the Dark Side.
User avatar
lmiltchev
Former Nagios Staff
Posts: 13587
Joined: Mon May 23, 2011 12:15 pm

Re: check nrpe

Post by lmiltchev »

Under the section, change the following lines from:

Code: Select all

[/settings/NRPE/server]

allow arguments = false
allow nasty characters = false
to:

Code: Select all

[/settings/NRPE/server]

allow arguments = true
allow nasty characters = true

Code: Select all

[/settings/external scripts]
allow arguments = false
allow nasty characters = false
to:

Code: Select all

[/settings/external scripts]
allow arguments = true
allow nasty characters = true
Restart the NSClient++ service.

Run a few tests from the Nagios server in the command line:

Code: Select all

/usr/local/nagios/libexec/./check_nrpe -H <client_IP> -c alias_cpu
/usr/local/nagios/libexec/./check_nrpe -H <client_IP> -c alias_disk
/usr/local/nagios/libexec/./check_nrpe -H <client_IP> -c alias_mem
Be sure to check out our Knowledgebase for helpful articles and solutions!
MPIvan
Posts: 213
Joined: Thu Nov 22, 2012 6:09 am

Re: check nrpe

Post by MPIvan »

Hi all ,

i did like lmiltchev tolled me and here is the results ...
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.52 -c alias_cpu
OK CPU Load ok.|'5m'=8%;80;90 '1m'=6%;80;90 '30s'=7%;80;90
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.52 -c alias_disk
OK: All drives within bounds.|'C:\ %'=19%;10;5 'C:\'=182.79G;22.3;11.15;0;223.02 'D:\ %'=100%;10;5 'D:\'=82.55M;999;499.9;0;9998.99
root@nagios:/usr/local/nagios/libexec# ./check_nrpe -H 10.10.2.52 -c alias_mem
OK: physical memory: Total: 3.17G - Used: 2.34G (73%) - Free: 843M (27%), virtual memory: Total: 2G - Used: 356M (17%) - Free: 1.65G (83%), paged bytes: Total: 6.33G - Used: 3.22G (50%) - Free: 3.11G (50%), page file: Total: 6.33G - Used: 3.22G (50%) - Free: 3.11G (50%)|'physical memory %'=73%;80;90 'physical memory'=2.33999G;2.52999;2.83999;0;3.16 'virtual memory %'=17%;80;90 'virtual memory'=356.11M;1638;1843.08;0;2047.87 'paged bytes %'=50%;80;90 'paged bytes'=3.21G;5.05999;5.69;0;6.32 'page file %'=50%;80;90 'page file'=3.21G;5.05999;5.69;0;6.32
root@nagios:/usr/local/nagios/libexec#
so guess it works ... now the problem is what to do when i have new script and i want to imported or integrate with NRPE like this one .... the thing i like to achived is to find or (if you can suggest one) a good and not so painful way to monitor the health of the hard drive on a windows machine with nagios
Locked