Setting Up NSCA Client with NSClient and Nagios XI
Posted: Mon Aug 10, 2015 8:38 am
Hello all,
I am trying to set up passive checks in Nagios XI. The checks are coming from a Windows machine so I'm trying to do this through NSClient ++ 0.4.3.143.
I think I have everything set up properly on the Nagios XI server side (Linux). I've made changes to /usr/local/nagios/etc/nsca.cfg (put in password, encryption/decryption methods). *NSCA is running under xinetd.
I've also traveled to /etc/xinetd.d/nsca and set disabled=no, and restarted xinted.
On the client side, I'm not as confident everything is set up properly. The error I'm getting from my log is
I'm assuming this is a firewall issue, however on my Windows machine I have completed disabled the firewall and the Linux server is opened up as well. What's interesting is that, in Windows, when I list the ports, there is nothing listening on 5667. It is only listening on 5666 (for my active nrpe checks) and 12489 (for the nsclient basic checks)
Here is my nsclient.ini file. (I have removed the password)
*Sorry for the unorganized files, you can see entries pertaining to NSCA near the middle and at the very end of the file.
I am trying to set up passive checks in Nagios XI. The checks are coming from a Windows machine so I'm trying to do this through NSClient ++ 0.4.3.143.
I think I have everything set up properly on the Nagios XI server side (Linux). I've made changes to /usr/local/nagios/etc/nsca.cfg (put in password, encryption/decryption methods). *NSCA is running under xinetd.
I've also traveled to /etc/xinetd.d/nsca and set disabled=no, and restarted xinted.
On the client side, I'm not as confident everything is set up properly. The error I'm getting from my log is
Code: Select all
2015-08-10 08:48:22: error:D:\source\nscp\modules\Scheduler\Scheduler.cpp:122: Failed to submit check_work: Error: Failed to connect to: 192.168.253.107:5667 :A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respondHere is my nsclient.ini file. (I have removed the password)
*Sorry for the unorganized files, you can see entries pertaining to NSCA near the middle and at the very end of the 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
[/settings/default]
; PASSWORD - Password used to authenticate against server
password =
; ALLOWED HOSTS - A comaseparated list of allowed hosts. You can use netmasks (/ syntax) or * to create ranges.
allowed hosts = 127.0.0.1,nagios.visualfrenzy.com,vfmsrv107.visualfrenzy.com,192.168.253.107
[log]
debug = 1
file = nsclient.log
; Undocumented section
[/settings/NRPE/server]
allow arguments = true
; ALLOW INSECURE CHIPHERS and ENCRYPTION - Only enable this if you are using legacy check_nrpe client.
insecure = true
; Undocumented key
allow nasty characters = false
allowed hosts = 127.0.0.1,nagios.visualfrenzy.com,vfmsrv107.visualfrenzy.com,192.168.253.107
port = 5666
; Undocumented section
[/modules]
; NRPEServer - A server that listens for incoming NRPE connection and processes incoming requests.
NRPEServer = enabled
; CheckSystem - Various system related checks, such as CPU load, process state, service state memory usage and PDH
counters.
CheckSystem = enabled
; NSClientServer - A server that listens for incoming check_nt connection and processes incoming requests.
NSClientServer = enabled
; CheckExternalScripts - Execute external scripts
CheckExternalScripts = enabled
; CheckHelpers - Various helper function to extend other checks.
CheckHelpers = 1
; CheckEventLog - Check for errors and warnings in the event log.
CheckEventLog = 1
; CheckNSCP - Use this module to check the healt and status of NSClient++ it self
CheckNSCP = 1
; CheckDisk - CheckDisk can check various file and disk related things.
CheckDisk = 1
Scheduler=enabled
NSCAClient=enabled
[/settings/scheduler/schedules/default]
interval=5m
[/settings/external scripts]
allow arguments = true
[/settings/external scripts/scripts]
check_updates = cscript.exe //NoLogo //T:40 scripts\check_updates.wsf
windows_updates = c:\windows\system32\cscript.exe //NoLogo //T:120 scripts\check_windows_updates.wsf /w:0 /c:1
check_work = cmd /c echo scripts\check_work.ps1 "$ARG1$"; exit($lastexitcode) | powershell.exe scripts
\check_work.ps1 "$ARG1$"
check_veeam_backups = cmd /c echo scripts\check_veeam_backups.ps1 "$ARG1$" "$ARG2$" "$ARG3$"; exit($lastexitcode) |
powershell.exe scripts\check_veeam_backups.ps1 "$ARG1$" "$ARG2$" "$ARG3$"
check_backupexec_backups = cmd /c echo scripts\check_backupexec_backups.ps1 "$ARG1$" "$ARG2$" "$ARG3$"; exit
($lastexitcode) | powershell.exe scripts\check_backupexec_backups.ps1 "$ARG1$" "$ARG2$" "$ARG3$"
check_windowsupdates=cmd /c echo scripts\RoughDraftUpdates.ps1; exit $LastExitCode | powershell.exe -command -
; A list of templates for wrapped scripts.
[/settings/external scripts/wrappings]
; POWERSHELL WRAPPING -
ps1 = cmd /c echo scripts\\%SCRIPT% %ARGS%; exit($lastexitcode) | powershell.exe -command -
; BATCH FILE WRAPPING -
bat = scripts\\%SCRIPT% %ARGS%
; VISUAL BASIC WRAPPING -
vbs = cscript.exe //T:30 //NoLogo scripts\\lib\\wrapper.vbs %SCRIPT% %ARGS%
; A list of aliases available.
An alias is an internal command that has been predefined to provide a single command without arguments. Be careful
so you don't create loops (ie check_loop = check_a, check_a=check_loop)
[/settings/NSCA/server]
encryption = 0
port = 5667
performance data = true
password =
[/settings/external scripts/alias]
; 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 = check_drivesize
alias_check_work = check_work "yoasdasdlo"
; alias_volumes - Alias for alias_volumes. To configure this item add a section called: /settings/external
scripts/alias/alias_volumes
alias_volumes = check_drivesize
; 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 = check_tasksched show-all "syntax=${title}: ${exit_code}" "crit=exit_code ne 0"
; 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 = check_process "process=$ARG1$" "crit=state != 'stopped'"
; alias_service - Alias for alias_service. To configure this item add a section called: /settings/external
scripts/alias/alias_service
alias_service = check_service
; 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 = check_process "filter=is_hung" "crit=count>0"
; 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 = check_process "process=$ARG1$" "warn=count > $ARG2$" "crit=count > $ARG3$"
; alias_process - Alias for alias_process. To configure this item add a section called: /settings/external
scripts/alias/alias_process
alias_process = check_process "process=$ARG1$" "crit=state != 'started'"
; alias_mem - Alias for alias_mem. To configure this item add a section called: /settings/external
scripts/alias/alias_mem
alias_mem = check_memory
; 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 = check_files "path=$ARG1$" "crit=size > $ARG2$" "top-syntax=${list}" "detail-syntax=${filename]
${size}" max-dir-depth=10
; alias_disk - Alias for alias_disk. To configure this item add a section called: /settings/external
scripts/alias/alias_disk
alias_disk = check_drivesize
; 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 = check_cpu "warn=load > $ARG1$" "crit=load > $ARG2$" time=5m time=1m time=30s
; 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 = check_files "path=$ARG1$" "crit=written > $ARG2$" "top-syntax=${list}" "detail-syntax=${filename]
${written}" max-dir-depth=10
; alias_cpu - Alias for alias_cpu. To configure this item add a section called: /settings/external
scripts/alias/alias_cpu
alias_cpu = check_cpu
; 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 = check_eventlog
; 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 = check_service "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 = check_uptime
; 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 = check_drivesize
; 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 = check_tasksched show-all "filter=title eq '$ARG1$'" "detail-syntax=${title} (${exit_code})"
"crit=exit_code ne 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 = check_tasksched "filter=status = 'running'" "detail-syntax=${title} (${most_recent_run_time})"
"crit=most_recent_run_time < -$ARG1$"
[/settings/scheduler/schedules]
check_work = alias_check_work
[/settings/NSCA/client]
hostname = vfm-dsk-193
[/settings/NSCA/client/targets/default]
address = 192.168.253.107
password =