IP | hostname | 备注 |
---|---|---|
192.168.174.128 | localhost | 主机 |
192.168.174.129 | node1 | 被监控端 |
192.168.174.130 | node2 | 备用机 |
设置邮件告警次数只通知1次。
[root@node2 ~]# cd /usr/local/nagios/etc/objects/
[root@node2 objects]# vi templates.cfg
notification_interval 60 ==> notification_interval 0
//在服务出现异常后,故障一直存在,nagios再次对使用者发出通知的时间。
单位是分钟。只要通知一次的话,可以把这里的选项设置为0
有时候会有报警延迟,是由于host or service状态不稳定,nagios称之为flapping state
修改nagios的主配置文件nagios.cfg
enable_flap_detection=1 改为0之后就解决了flapping state,并且解决了临时suppress notifications的问题
将上次设置的远程客户端上的监控,部署上邮件告警。
搭建参考点击
安装软件
[root@localhost ~]# yum install -y mailx sendmail*
[root@localhost ~]# vi /etc/mail.rc
set from=*********@qq.com //邮箱
set smtp=smtp.qq.com
set smtp-auth-user=*********@qq.com //邮箱
set smtp-auth-password=********* //验证码
set smtp-auth=login
[root@localhost ~]# systemctl restart sendmail //重启
[root@localhost ~]# echo asd | mail -s 'aaa bbb' 2418882397@qq.com //测试
邮箱收到邮件
修改联系人
[root@localhost ~]# cd /usr/local/nagios/etc/objects/
[root@localhost objects]# vi contacts.cfg
define contact {
contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
email *********@qq.com ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}
//修改email为自己的邮箱地址
重启nagios
[root@localhost objects]# ../../bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[root@localhost objects]# systemctl restart nagios
修改被监控端报警,当值为0时状态为CRITICAL
[root@node1 ~]# cd /usr/local/nagios/etc/
[root@node1 etc]# vi nrpe.cfg
command[check_nginx]=/usr/local/nagios/libexec/check_access nginx -c 2
command[check_mysql]=/usr/local/nagios/libexec/check_access mysql -c 2
command[check_httpd]=/usr/local/nagios/libexec/check_access httpd -c 2
重启客户端nrpe
[root@node1 etc]# pkill nrpe
[root@node1 etc]# ../bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg
主机
为了测试是否能收到邮件这里将发送邮件间隔改为1分钟
[root@localhost objects]# vi templates.cfg //修改generic-service服务模板
...
define service {
name generic-service
...
notification_interval 1 //修改时间间隔为1分钟
...
}
配置服务文件
[root@localhost objects]# vi services.cfg //之前全部注释了,现在去掉之前的注释
define service{
use generic-service
host_name node1
service_description nginx
check_command check_nrpe!check_nginx
}
define service{
use generic-service
host_name node1
service_description mysql
check_command check_nrpe!check_mysql
}
define service{
use generic-service
host_name node1
service_description httpd
check_command check_nrpe!check_httpd
}
三个服务都处于告警状态
收到邮件