Zabbix邮件报警的大致流程如下:
监控主机—-》监控项—-》触发器—-》告警动作—-》告警方式—-》告警用户
首先添加监控项
1、选择要添加监控项的主机
2、点击右上角的Create item 添加并配置监控项
上面说到的key值,这里给大家说明下:
Example:
/usr/local/zabbix/bin/zabbix_get -s192.168.4.10 -kproc.num[httpd]
-s 指定要检测的主机IP
-k 指定检测使用的key值
proc.num[httpd] 这个key值是检测被监控端的服务进程数的
net.tcp.port[,80] 这个key值是检测被监控端服务端口是否存在的
有关更多key值的介绍,可以查看伟哥的《zabbix key值和自定义key讲解》。
其次添加触发器
1、选择要添加触发器的监控主机后面的触发器
2、点击右上角的Create trigger创建并配置触发器
这里说明下这个 N 值的大小
比如说我检测被监控端的httpd 进程数为9个,这时这这个N的值就可以设置为 N=9 ,
当last value 最后一次检测的值小于N,也就是小于9时,这个触发器就会被触发。
其次是配置告警动作
1、选择系统配置—-》操作—-》Create action 新建操作
2、配置操作名称和报警邮件内容
点击详细操作—-》新建
其次配置告警方式
1、管理—-》处理方法—-》Create media type 新建告警方式
2、配置告警方式
3、打开zabbix server的配置文件,设置报警脚本的存放路径
vim /etc/zabbix/zabbix_server.conf 去掉390行的注释并修改为: AlertScriptsPath=/usr/local/zabbix/bin/ 脚本存放在什么位置后面的路径就写什么位置 cd /usr/local/zabbix/bin/ 添加邮件脚本 #!/bin/sh user=邮件用户名 pass=邮件密码 /usr/bin/sm -f XXXX@163.com -t $1 -u$user -p$pass -msmtp.163.com -s "$2" -c "$3" 设置报警邮件的发送人
其次配置接收报警邮件的用户
1、管理—-》用户—-》选择Admin
2、配置Admin的报警介质
配置完成,等到监控的项down掉之后,监控项就会触发触发器,触发器在去找告警的动作,是邮件还是短信等,确定了告警动作之后,就会找告警的用户了。
停掉一个服务,查看是否报警
操作地方显示为1,则代表已经发送了邮件。
在查看报警邮件
配置到此就完成了