13.10. Monitoring a Web Server
Problem
You have a web server you want Nagios to monitor. You want to make sure that the server is alive, and that HTTP and SSH are functioning. If one of the services stops, or the server goes down, you want to receive an alert.
Solution
Create a new host definition for the server, and an HTTP service definition. Then, add the new server to the existing SSH service definition (see previous recipe). Restart Nagios, and you're done.
This is a sample host definition in hosts.cfg, using the host apache1 with an IP address of 192.168.1.26. Use your own hostname and IP address, of course:
# HTTP servers
define host{
use generic-host
host_name apache1
alias Apache web server
address 192.168.1.26
check_command check-host-alive
max_check_attempts 10
check_period 24x7
notification_interval 120
notification_period 24x7
notification_options d,r
contact_groups admins
}Add your new server to an existing group, or create a new group for it, as this example shows:
define hostgroup{
hostgroup_name apache_servers
alias Web Servers
members apache1
}Next, define the HTTP service in services.cfg:
# Define a service to monitor HTTP
define service{
use generic-service
host_name apache1
service_description HTTP
is_volatile 0
check_period 24x7
max_check_attempts 4
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_options w,u,c,r
notification_interval 960
notification_period 24x7
check_command check_http
}Add the new server to the SSH service definition: ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access