zabbix3.x邮件告警
一、环境准备
zabbix | IP | version |
---|---|---|
Server | 192.168.1.1 | 3.4.0beta2 |
Client | 192.168.1.2 | X |
1.确保zabbix的server和client已经成功配置。
zabbix | IP | version |
---|---|---|
Server | 192.168.1.1 | 3.4.0beta2 |
Client | 192.168.1.2 | X |
二、告警脚本
1. shell脚本方式告警
通过sendmail、postfix、smtp有限服务器实现
(1) 安装mail
# yum install -y mailx sendmail
# service sendmail start
(2)配置mail
# vim /etc/mail.rc
set from=waolk586@163.com
set smtp=smtp.163.com
set smtp-auth-user=waolk586
set smtp-auth-password=xxxxxx
set smtp-auth=login
(3)发送测试邮件
# echo "aaa"|mail -s 'aaa' 123456789@qq.com
检查邮箱可以看到邮件
(4)邮件发送脚本
# vim /usr/local/zabbix/scripts/send_mail.sh
#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1
(5)发送测试邮件
# /usr/local/zabbix/scripts/send_mail.sh 763836801@qq.com 'aaa' 'ccc'
检查邮箱可以看到邮件
2.python脚本方式告警
(1)python脚本在我的另一片博文里,推荐用python脚本。
http://blog.csdn.net/qq_32642039/article/details/77044036
(2)发送测试邮件
# /usr/local/zabbix/scripts/zabbix_mail.py 763836801@qq.com 'aaa' 'ccc'
检查邮箱可以看到邮件
注意: 有可能报警发送了邮件,你没收到,这时请查看发件方是不是邮件被退回了。
三、zabbix图形界面配置
1. 设置报警媒介类型(media types)
(1)Administration --> Media types --> Creat media type
创建报警媒介类型
(2)name这里可以随便自己定义,type选择scripts;
Script name则输入上一步编写的脚本名称;
再添加以下3个参数,分别对应脚本需要的3个参数:
收件人地址、主题、详细内容
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
注:
2.x版本默认会传3个参数
2. 创建action
(1)Configuration --> Actions --> Creatte action
创建动作(2)设置名称和条件
设置名称和条件
(3)设置触发条件
Action
设置报警内容和关联报警脚本
修改持续时间为60秒
修改步骤为3,表示触发3次动作
注:切记修改好Operations后add Operation,然后再add整个Action。
(4)Recovery operations 同上
3. 对用户添加报警方式
(1)Configuration--> Users--> Creatte Users
sixth.png(2)add
seventh.png(3)media
eighth.png4. 设置执行脚本的路径
# vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/scripts
设置755执行权限和zabbix用户属组权限
5. 测试
# /etc/init.d/zabbix_agentd stop
如果你收到告警邮件说明配置成功。