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发来的报警邮件。