I got nagios 2.0 installed on Fedora Core 4. I’m trying to monitor the status of MS SQL services on a Windows 2003 and Windows 2000 server. I have installed NSclient on both servers that I want to monitor. Authentication is setup on my nagios page, the ping test works fine, but the status for SQL just shows Unknown for both servers. When I try the nt_check command from the command line specifying the MSSQLServer service it shows status as started on both servers. Only on the web interface its showing Unknown. Anybody have any ideas???
hello…
here is how i do it, I am using nagios 1.2 on redhat 9 and using nrpe to do my checks.
I have installed nsclient++ (nscplus.sourceforge.net/) on my windows 2000 and 2003 servers. here is a copy of my checkcommands.cfg file:
‘nt_service_sql’ command definition
define command{
command_name nt_service_sql
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -p 5666 -c checkServiceState -a ShowAll MSSQLSERVER
}
hope this helps.
g
Thanks for the response. Is anyone doing this with check_nt? check_nrpe has a lot of extra configuration to do on the client side which I was trying to avoid. nsclient looks like it’s working fine, it gives me a status of “started” for MSSQL when I run the check from the command line. The web interface is the only thing that’s showing it as “Unknown” Anyone have any other suggestions of why this would happen?
If the command runs in command line while logged in as root, and doesn’t work when the nagios daemon runs it, then it’s due to:
- Incorrect permission’s on the check command so nagios doesn’t even know where the file is.
- Nagios doesn’t have the proper permission to access the service you are attempting to contact.
So try this from a command line:
su - nagios
now execute the same command you did as root. Does it work?
Yes, I tried it with the nagios user and it seems to execute just fine, I thought you might be right about that but the results are below:
[nagios@localhost libexec]$ ./check_nt -H 192.168.x.x -p 1248 -v SERVICESTATE -d SHOWALL -l MSSQLSERVER
MSSQLSERVER: Started
You need to show us your checkcomannds.cfg definition plus what is $USER1$ and what is the service.cfg definition for the check. It’s most like a syntax problem.
Here are my config files as requested:
checkcommands.cfg
################################################################################
COMMAND DEFINITIONS
SYNTAX:
define command{
template
name
command_name
command_line
}
WHERE:
= object name of another command definition that should be
used as a template for this definition (optional)
= object name of command definition, referenced by other
command definitions that use it as a template (optional)
= name of the command, as recognized/used by Nagios
= command line
################################################################################
‘check_ping’ command definition
define command{
command_name check_ping
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}
‘check_nt’ command definition
define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v SERVICESTATE SHOWALL -l $ARG1$
}
‘check-host-alive’ command definition
define command{
command_name check-host-alive
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 1
}
‘check_sql’ command definition
define command{
command_name check_sql
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v SERVICESTATE SHOWALL -l MSSQLSERVER
}
services.cfg*
Generic service definition template
define service{
name generic-service ; The ‘name’ of this service template, referenced in other service definitions
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems)
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service 'freshness’
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
Service definition
define service{
use generic-service ; Name of service template to use
hostgroup_name servers
service_description PING
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups support
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_ping!100.0,20%!500.0,60%
}
define service{
use generic-service ; Name of service template to use
host_name wsrv1
service_description MSSQLServer
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups support
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_sql
}
define service{
use generic-service ; Name of service template to use
host_name wsrv2
service_description MSSQLServer
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups support
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_sql
}
define service{
use generic-service ; Name of service template to use
host_name wsrv3
service_description MSSQLServer
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups support
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_sql
}
hosts.cfg
Generic host definition template
define host{
name generic-host ; The name of this host template - referenced in other host definitions, used for template recursion/resolution
notifications_enabled 1 ; Host notifications are enabled
event_handler_enabled 1 ; Host event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
‘wsrv1’ host definition
define host{
use generic-host ; Name of host template to use
host_name wsrv1
alias wsrv1
address 192.168.x.x
contact_groups support
check_command check-host-alive
max_check_attempts 10
checks_enabled 1
notification_interval 120
notification_period 24x7
notification_options d,u,r
}
‘wsrv2’ host definition
define host{
use generic-host ; Name of host template to use
host_name wsrv2
alias wsrv2
address 192.168.x.x
contact_groups support
check_command check-host-alive
max_check_attempts 10
checks_enabled 1
notification_interval 120
notification_period 24x7
notification_options d,u,r
}
‘wsrv3’ host definition
define host{
use generic-host ; Name of host template to use
host_name wsrv3
alias wsrv3
address 192.168.x.x
contact_groups support
check_command check-host-alive
max_check_attempts 10
checks_enabled 1
notification_interval 120
notification_period 24x7
notification_options d,u,r
}
resource.cfg
$USER1$=/usr/local/nagios/libexec
[quote=“consoul”]Yes, I tried it with the nagios user and it seems to execute just fine, I thought you might be right about that but the results are below:
[nagios@localhost libexec]$ ./check_nt -H 192.168.x.x -p 1248 -v SERVICESTATE -d SHOWALL -l MSSQLSERVER
MSSQLSERVER: Started
[/quote]
According to the quote above, you didn’t run the same command in the command line, that you just now posted from your checkcommands.cfg file. So try it.
[nagios@localhost libexec]$ ./check_nt -H 192.168.x.x -p 1248 -v SERVICESTATE SHOWALL -l MSSQLSERVER
It’s not going to work. You forgot the -d
Wow, funny how much of a difference one character makes. Works like a charm!
Thanks for your help jakkedup! You da man!