nagios如何监控网站状态是否正常是一个很重要的监控需求。我们可以使用自带的check_http插件来监控网页,具体参数可通过./check_http -h查看,假设域名为www.example.com,那么可以监控命令如下:
# ./check_http -H www.example.com -u /index.html
通过Nagios监控网页一般有两种方式,一种是直接通过Nagios监控主机配置监控服务监视网页;另一种是在某一安装了NRPE 的客户端主机上配置监控命令,通过NRPE监控网页情况,再将结果传回给Nagios监控主机。通过一个装有NRPE 的客户端作为桥的方式可以使主机更加安全,减轻Nagios主机的负担,同时可以避免在Nagios主机上配置DNS等不必要的麻烦。
方式一、直接通过Nagios主机监控网页
只需要在Nagios 的配置文件里添加一个服务即可,配置内容如下
修改./etc/objects/commands.cfg,增加如下内容
# 'check_web' command definition define command{ command_name check_web command_line $USER1$/check_http -H www.example.com }
修改./etc/objects/localhost.cfg,增加如下内容
define service{ use local-service ; Name of service template to use host_name localhost service_description www.example.com check_command check_web notifications_enabled 1 }
方式二、通过NRPE监控网页
需要修改两台主机的配置文件,修改NRPE的配置文件,增加如下内容
#check web command[check_web]=/usr/local/nagios/libexec/check_http -H www.example.com -u /index.html
修改Nagios配置文件,增加如下内容
#the check_apache on the remote host. define service{ use generic-service host_name hostname service_description web check_command check_nrpe! check_web }