前提:已经配置好nagios监控端端(202.207.178.7)和被监控端(202.207.178.6),并且可以监控被监控端的http服务!
nagios安装配置详见本人博客http://10927734.blog.51cto.com/10917734/1884943
一、修改监控端的配置文件,使其更新时间缩短
# vim /etc/nagios/nagios.cfg
command_check_interval=10s
# vim /etc/nagios/objects/templates.cfg
normal_check_interval 1
二、Nagios监控端HTTP关键词(被监控端网页内容为It Works!)
在真实的线上环境中,如果要监控HTTP、web、tomcat某个URL关键词,监控网站关键词是否被篡改,如果来实现呢?
这里可以使用默认监控命令check_http命令+相关的参数来实现,如下:
1、在command.cfg添加如下关键词监控命令:check_http_word,
参数解析:-I指定IP或者主机名,-u指定URL,-p指定端口,-s指定关键词。
# vim /etc/nagios/objects/commands.cfg
define command{
command_name check_http_word
command_line $USER1$/check_http -I $HOSTADDRESS$ -u $$ARG1$ -p $$ARG2$ -s
$ARG3$
}
2、检查有无错误
# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg
3、可以在服务器端命令行执行如下命令来做测试,例如监控页面不存在ATM关键词,但80端口 web服务可以访问,依然会发送报警。
# /usr/local/nagios/libexec/check_http -I 202.207.178.6 -u /index.html -p 80 -s "ATM"
HTTP CRITICAL: HTTP/1.1 200 OK - string 'ATM' not found on 'http://202.207.178.6:80/index.html' - 263 bytes in 0.005 second response time |time=0.004836s;;;0.000000 size=263B;;;0
# /usr/local/nagios/libexec/check_http -I 202.207.178.6 -u /index.html -p 80 -s "It"
HTTP OK: HTTP/1.1 200 OK - 263 bytes in 0.004 second response time |time=0.003956s;;;0.000000 size=263B;;;0
3、在服务器端监控主机的配置文件里面引用
# vim /etc/nagios/objects/202.207.178.6.cfg
define service{
use local-service
host_name 202.207.178.6
service_description HTTPD-EORD-WORKS
check_command check_http_word!/index.html!80!It
}
三、Nagios邮件报警
使用nagios报警,我们可以使用163邮箱,机制是nagios给163邮箱发送信息,然后信息会自动发到我们绑定的手机。提前在163上绑定好手机即可。除此之外还可以使用短信猫(收费)设备来发送报警。
默认command.cfg里面已经配置好了邮件报警设置,可以使用默认的配置,使用系统默认的mail发送邮件;还可以自己定义发送的内容格式及发送的邮件smtp服务器端软件。
这里使用默认的配置文件,要能收到短信报警,除了在163邮箱界面绑定163邮箱之外,还需要在nagios服务器端配置文件修改邮件收件人如下:
1、测试是否可以正常发邮件
# echo "test ok"|mail -s "title" 18434367904@163.com
2、修改邮箱地址,是自己的邮箱可以收到邮件
# vim /etc/nagios/objects/contacts.cfg
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email 18434367904@163.com
}
3、重启nagios服务,即可开始测试!
转载于:https://blog.51cto.com/10927734/1885352