Recently I had to configure nagios to monitor a non-standard port (9999/TCP). This is a service of ours that apparently decides to die at random times. In order to find out more about the issue (this service is not live yet), I configured an instance of nagios to monitor this port.
In order to do this, I used the pre-existing check_tcp with a specific run-time parameter (namely, -p 9999).
First, define a command for this service check:
define command{
command_name check_tcp_9999
command_line $USER1$/check_tcp -h $HOSTADDRESS$ -p 9999 -4
}
Note that we manually defined the -p (port) and -h (host) parameters to use the host using this command, as well as port 9999, respectively.
Once the command has been defined, create a new service for the host in question. If you haven’t set one up yet, below is an example to follow:
define host{
use generic-host ; template name, available by default
host_name svr-001 ; unique name of the host being defined
alias server 001 ; description of the host
address 10.0.0.254 ; IP of the host
}
To get the service check we defined above running against this host, reference the following stanza.
define service{
use generic-service ; template name, available by default
host_name svr-001 ; the host against which to run this check
service_description 'tcp check of 9999/tcp' ; self-explanatory
check_command check_tcp_9999 ; name of the command we defined earlier
check_interval 5 ; check this service every 5 minutes
check_period 24x7 ; time period in which to monitor
retry_interval 3 ; if a check fails, re-try in 3 minutes
max_check_attempts 3 ; the max number of times a failed service will be checked
notification_interval 60 ; reminder of alerts sent every 60 minutes
notification_period 24x7 ; time period in which alerts are sent
notification_options w,c,u ; the conditions upon which to send alerts
contact_groups contacts ; contact group to alert in the event of failure
}
Verify that the additions you made to the config file(s) were valid by executing:
# nagios3 -v /etc/nagios3/nagios.cfg
If the pre-flight check goes well, update your nagios installation by executing:
# /etc/init.d/nagios3 restart
That’s it!