Page 1 of 4

NSClient - ERROR: Invalid password. [Nagios 3.23]

Posted: Thu Sep 24, 2015 12:50 am
by mangirdas
Hello Everyone,

I have problem with NSClient. All servers working fine, but one server always show this error.

I am using Nagios 3.23 version.

My server using NSclient++ 0.3.7 version.

My nsclient.ini file looks like:

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

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

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



; To avoid memory usage check error in nagios.
[/settings/NRPE/server]
allow arguments=1




; 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 =
nagios3/conf.d 3_252.cfg code:

Code: Select all

###############################################################################
# WINDOWS.CFG - SAMPLE CONFIG FILE FOR MONITORING A WINDOWS MACHINE
#
# Last Modified: 05-20-2015
#
# NOTES: This config file assumes that you are using the sample configuration
#	 files that get installed with the Nagios quickstart guide.
#
###############################################################################




###############################################################################
###############################################################################
#
# HOST DEFINITIONS
#
###############################################################################
###############################################################################

# Define a host for the Windows machine we'll be monitoring
# Change the host_name, alias, and address to fit your situation

define host{
	use		windows-server	; Inherit default values from a template
	host_name	Naugarduko_Gateway	; The name we're giving to this host
	alias		Naugardukas	; A longer name associated with the host
	address		192.168.3.252	; IP address of the host
	}




###############################################################################
###############################################################################
#
# HOST GROUP DEFINITIONS
#
###############################################################################
###############################################################################


# Define a hostgroup for Windows machines
# All hosts that use the windows-server template will automatically be a member of this group



###############################################################################
###############################################################################
#
# SERVICE DEFINITIONS
#
###############################################################################
###############################################################################





# Create a service for monitoring the uptime of the server
# Change the host_name to match the name of the host you defined above

define service{
	use			generic-service
	host_name		Naugarduko_Gateway
	service_description	Uptime
	check_command		check_nt2!UPTIME
	}



# Create a service for monitoring CPU load
# Change the host_name to match the name of the host you defined above

define service{
	use			generic-service
	host_name		Naugarduko_Gateway
	service_description	CPU Load
	check_command		check_nt2!CPULOAD!-l 5,80,90
	notes_url http://192.168.3.6/nagiosgraph/cgi-bin/show.cgi?host=Naugarduko_Gateway&service=CPU%20Load&db=5%20min%20avg%20Load%2Ccrit&db=5%20min%20avg%20Load%2Cdata&db=5%20min%20avg%20Load%2Cmax&db=5%20min%20avg%20Load%2Cmin&db=5%20min%20avg%20Load%2Cwarn&period=day,week,month,year&expand_period=day,week,month,year 
	}



# Create a service for monitoring memory usage
# Change the host_name to match the name of the host you defined above

define service{
	use			generic-service
	host_name		Naugarduko_Gateway
	service_description	Memory Usage
	check_command		checkmem16
	notes_url http://192.168.3.6/nagiosgraph/cgi-bin/show.cgi?host=Naugarduko_Gateway&service=Memory%20Usage&db=physical%20memory%20%25%2Ccrit&db=physical%20memory%20%25%2Cdata&db=physical%20memory%20%25%2Cwarn&db=physical%20memory%2Ccrit&db=physical%20memory%2Cdata&db=physical%20memory%2Cmax&db=physical%20memory%2Cmin&db=physical%20memory%2Cwarn&period=day,week,month,year&expand_period=day,week,month,year
	}



# Create a service for monitoring C:\ disk usage
# Change the host_name to match the name of the host you defined above

define service{
	use			generic-service
	host_name		Naugarduko_Gateway
	service_description	C:\ Drive Space
	check_command		check_nt2!USEDDISKSPACE!-l c -w 95 -c 97
	}

define service{
	use			generic-service
	host_name		Naugarduko_Gateway
	service_description	D:\ Drive Space
	check_command		check_nt2!USEDDISKSPACE!-l d -w 95 -c 97
		}




# Create a service for monitoring the W3SVC service
# Change the host_name to match the name of the host you defined above



# Create a service for monitoring the Explorer.exe process
# Change the host_name to match the name of the host you defined above

define service{
	use			generic-service
	host_name		Naugarduko_Gateway
	service_description	Slave
	check_command		check_nt2!PROCSTATE!-d SHOWALL -l Slave.exe
	}
define service{
	use			generic-service
	host_name		Naugarduko_Gateway
	service_description	Kerio
	check_command		check_nt2!PROCSTATE!-d SHOWALL -l WinRoute.exe
	}

and my nagios3/commands.cfg code:

Code: Select all

define command{
	command_name	checkmem16
	command_line	/usr/lib/nagios/plugins/check_nrpe -t 60 -H 192.168.3.252 -c checkMem -a MaxWarn=95% MaxCrit=99% type=physical
	}
	
I was trying to add

Code: Select all

-s "password"
but it doesnt work.

Any Ideas how to fix it?

Re: NSClient - ERROR: Invalid password. [Nagios 3.23]

Posted: Thu Sep 24, 2015 9:15 am
by hsmith
Are none of the other machines having issues using a password? Does it work when you don't try to use a password on the one having trouble?

Here is a document we have on configuring NSClient.

Re: NSClient - ERROR: Invalid password. [Nagios 3.23]

Posted: Thu Sep 24, 2015 11:15 pm
by mangirdas
Only this Machine have problem. We have about 20 machines, but problem only with this, moreover all machine has same configuration. Maybe it can be problem because this server is Gateway?

Re: NSClient - ERROR: Invalid password. [Nagios 3.23]

Posted: Fri Sep 25, 2015 9:12 am
by hsmith
Weird. What happens if you just ./check_nrpe -H your.ip.address.here?

Edit: oops, you're using check_nt, not check_nrpe. not enough coffee.

./check_nt -H YOURIP -p 12489 -s YOURPASS -v CLIENTVERSION

Re: NSClient - ERROR: Invalid password. [Nagios 3.23]

Posted: Sun Sep 27, 2015 11:42 pm
by mangirdas
Do you talking about commands.cfg file? I tried, but result was same

Code: Select all

define command{
	command_name	checkmem16
	command_line	/usr/lib/nagios/plugins/check_nrpe -t 60 -H 192.168.3.252
	}

logs in client looks like:

Code: Select all

2015-09-28 07:40:28: e:..\..\..\..\nscp\modules\NSClientServer\NSClientServer.cpp:254: Invalid password (123456).
2015-09-28 07:40:37: e:..\..\..\..\nscp\modules\NSClientServer\NSClientServer.cpp:254: Invalid password (123456).
2015-09-28 07:40:48: e:..\..\..\..\nscp\modules\NSClientServer\NSClientServer.cpp:254: Invalid password (123456).
2015-09-28 07:40:49: e:..\..\..\..\nscp\modules\NSClientServer\NSClientServer.cpp:254: Invalid password (123456).
2015-09-28 07:40:54: e:..\..\..\..\nscp\modules\NSClientServer\NSClientServer.cpp:254: Invalid password (123456).
2015-09-28 07:41:00: e:..\..\..\..\nscp\modules\NSClientServer\NSClientServer.cpp:254: Invalid password (123456).
2015-09-28 07:41:28: e:..\..\..\..\nscp\modules\NSClientServer\NSClientServer.cpp:254: Invalid password (123456).
2015-09-28 07:41:37: e:..\..\..\..\nscp\modules\NSClientServer\NSClientServer.cpp:254: Invalid password (123456).
2015-09-28 07:41:48: e:..\..\..\..\nscp\modules\NSClientServer\NSClientServer.cpp:254: Invalid password (123456).
2015-09-28 07:41:49: e:..\..\..\..\nscp\modules\NSClientServer\NSClientServer.cpp:254: Invalid password (123456).

Re: NSClient - ERROR: Invalid password. [Nagios 3.23]

Posted: Mon Sep 28, 2015 9:46 am
by lmiltchev
You can use "-s <password>" only with "check_nt". The "check_nrpe" doesn't take "-s" flag (password). A "typical" usage of "check_nrpe" is:

Code: Select all

./check_nrpe -H <ip address> -p <port> -c <command> -a <arguments> -t <timeout>

Re: NSClient - ERROR: Invalid password. [Nagios 3.23]

Posted: Tue Sep 29, 2015 4:46 am
by mangirdas
So,

Any Ideas?

Re: NSClient - ERROR: Invalid password. [Nagios 3.23]

Posted: Tue Sep 29, 2015 9:53 am
by hsmith
What is the output of ./check_nt -H YOURIP -p 12489 -s YOURPASS -v CLIENTVERSION ?

Re: NSClient - ERROR: Invalid password. [Nagios 3.23]

Posted: Tue Sep 29, 2015 11:57 am
by mangirdas

Code: Select all

root@expserver:~# /usr/lib/nagios/plugins/check_nt -H 192.168.3.252 -p 12489 -s D28Ak37AS -v 0.37
check_nt: Could not parse arguments
Usage:
check_nt -H host -v variable [-p port] [-w warning] [-c critical]
[-l params] [-d SHOWALL] [-u] [-t timeout]
root@expserver:~#
It should be like this?

Re: NSClient - ERROR: Invalid password. [Nagios 3.23]

Posted: Tue Sep 29, 2015 12:01 pm
by hsmith
For -v, make sure it actually says CLIENTVERSION. That's telling it to run the check to check the client version.