1、使用默认监控命令check_http命令+相关的参数来实现,如下:
在command.cfg添加如下关键词监控命令:check_http_word,参数解析:-I指定IP或者主机名,-u指定URL,-p指定端口,-s指定关键词。
define command{
command_name check_http_word
command_line $USER1$/check_http -I $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -s $ARG3$
}
然后在服务器端监控主机的配置文件里面引用即可,引用的方法如下:
也可以在服务器端命令行执行如下命令来做测试,例如监控页面不存在ATM关键词,但82端口web服务可以访问,依然会发送报警。
/usr/local/nagios/libexec/check_http -I 192.168.0.111 -u /index.html -p 82 -s "ATM"
2、Nagios监控Mysql数据库主从
监控Mysql可以用个nagios mysql插件,首先在command.cfg中定义如下配置:
define command{
command_name check_mysql_slave
command_line $USER1$/check_mysql -H $HOSTADDRESS$ -S -uroot -p123456
}
然后在主机配置文件中定义监控项目:
define service{
use local-service
host_name localhost
service_description MYSQL_Slave_Monitor
check_command check_mysql_slave
}
3、Nagios邮件及短信报警
默认command.cfg里面已经配置好了邮件报警设置,可以使用默认的配置,使用系统默认的mail发送邮件;还可以自己定义发送的内容格式及发送的邮件smtp服务器端软件。
这里使用默认的配置文件,要能收到短信报警,除了在139.com界面绑定139邮箱之外,还需要在nagios服务器端配置文件修改邮件收件人如下:
修改配置文件:
vi /usr/local/nagios/etc/objects/contacts.cfg内容如下:
如上配置完毕后,重启nagios服务,可以测试关闭某个服务,过一会就会收到nagios发来的报警邮件。