Hello,
I currently have Nagios 4.0.8 setup to perform active checks against Windows hosts with NSClient 0.4.1 installed. This works fine. I have also installed NSCA and am able to send a test command by following this guide http://nagios.sourceforge.net/download/ ... _Setup.pdf I am currently using check_nt for my checks against NSClient. With that being said. Where do I begin? I've attempted to use the help guide with NSClient but am still a little stumped. I'm also open to using another application other then NSClient if need be. Thanks.
How To Setup NSClient For Passive Checks
-
sreinhardt
- -fno-stack-protector
- Posts: 4366
- Joined: Mon Nov 19, 2012 12:10 pm
Re: How To Setup NSClient For Passive Checks
Well I think its only fair to inform you that the nsclient developer has chosen to deprecate the check_nt usage with nsclient. That being said, if you choose to stay with nsclient I would suggest switching to check_nrpe(which has full built in support in nsclient). Aside from that minor warning, I think we need to start with, where do you feel you are stuck? Are you having trouble understanding what to check, or how to run checks via nsclient and core? Maybe its a specific issue with a single check? the more detail you can give as to what you are having trouble with, hopefully the more helpful we can be!
Nagios-Plugins maintainer exclusively, unless you have other C language bugs with open-source nagios projects, then I am happy to help! Please pm or use other communication to alert me to issues as I no longer track the forum.
-
slansing
- Posts: 7698
- Joined: Mon Apr 23, 2012 4:28 pm
- Location: Travelling through time and space...
Re: How To Setup NSClient For Passive Checks
I had a rather large reply ready to go, only to find out my session expired and I lost it all, so this is the abridged version:
You will need to expand your nsclient.ini file to get access to the options we need. The commands for that are at the top of the file itself. Once you've gotten it expanded, you will need to uncomment the NSCA module in that .ini file so that nsclient loads it through it's service. Once you've gotten that taken care of let us know.
You will need to expand your nsclient.ini file to get access to the options we need. The commands for that are at the top of the file itself. Once you've gotten it expanded, you will need to uncomment the NSCA module in that .ini file so that nsclient loads it through it's service. Once you've gotten that taken care of let us know.
Re: How To Setup NSClient For Passive Checks
Thanks for the replies. My current nsclinet.ini file consists of default values from initial install.
I found a document titled 'Nagios XI - Using NSClient++ For Passive Checks' which contained a link to a sample config file. It appears I just need to append this to my nsclient.ini
This doesn't appear to work as I do not see any transmission to the Nagios NSCA server.
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
; NSCAClient - Passive check support over NSCA.
NSCAClient = 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 = 192.168.1.10
; 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 =
Code: Select all
;##################################################################
;# SAMPLE CONFIG FILE ENTRIES FOR NSCLIENT++ AGENT IN PASSIVE MODE
;#
;# The contents of this file should be added/appended to the main
;# NSClient++ configuration file, which is normally located at:
;#
;# C:\Program Files\NSClient++\NSC.ini
;#
;# For more information on configuring NSClient++ to operate in
;# passive mode with a Nagios XI server, visit the Nagios Library at:
;#
;# http://library.nagios.com
;#
;##################################################################
;##################################################################
;# MODULE SETTINGS
;# This enables the NSCA client
;##################################################################
NSCAAgent.dll
;##################################################################
;# NSCA SETTINGS
;# These settings control communication with the Nagios server
;##################################################################
[NSCA Agent]
;# CHECK INTERVAL (in seconds)
;# Determines how often check results are submitted to NAgios
interval=300
;# HOST NAME
;# The name of this host (if empty the computer name will be used).
hostname=WINDOWSDESKTOP
;# NAGIOS SERVER ADDRESS
;# The address to the Nagios server.
nsca_host=192.168.5.102
;
;# NAGIOS SERVER PORT
;# The port that the NSCA daemon is using on the Nagios server.
nsca_port=5667
;# ENCRYPTION PASSWORD
;# This is the password/passphrase that should be used to encrypt data.
password=YOURPASSWORD
;# ENCRYPTION METHOD
;# This determines what method is used to encrypt data.
;# Values:
;# 0 = None (Do NOT use this option)
;# 1 = Simple XOR (No security, just obfuscation, but very fast)
;# 2 = DES
;# 3 = 3DES (Triple DES)
#; 4 = CAST-128
;# 6 = xTEA
;# 8 = BLOWFISH
;# 9 = TWOFISH
;# 11 = RC2
;# 14 = RIJNDAEL-128 (AES)
;# 20 = SERPENT
encryption_method=0
;##################################################################
;# CHECK COMMANDS
;# The checks to run everytime we submit results back to nagios
;##################################################################
[NSCA Commands]
;# The following are service checks
CPU Usage=checkCPU warn=80 crit=90 time=20m time=10s time=4
Memory Usage=checkMem MaxWarn=80% MaxCrit=90% ShowAll
Pagefile Usage=checkMem MaxWarn=80% MaxCrit=90% ShowAll type=page
All Drive Space Usage=CheckDriveSize MinWarn=10% MinCrit=5% CheckAll FilterType=FIXED
C:\ Drive Space Usage=CheckDriveSize MinWarn=10% MinCrit=5% Drive=c:\ FilterType=FIXED
NSClient Service Status=checkServiceState nsclientpp
;# The following is the host check (always ok/up)
host_check=CheckOK Machine is okay
-
slansing
- Posts: 7698
- Joined: Mon Apr 23, 2012 4:28 pm
- Location: Travelling through time and space...
Re: How To Setup NSClient For Passive Checks
The new version of NSClient (for whatever reason) requires you to expand the config file to access anything beyond the basic check_nt checks, so you will need to open a command prompt, and navigate to your installation directory, then run:
After that, can you share the .ini file again please? Thanks!
Code: Select all
nscp settings --generate --add-defaults --load-all