zabbix-3.2.6之自动触发发送邮件
一、安装postfix
#安装sendmail或者postfix(安装一种即可)
复制代码
yum install sendmail #安装
service sendmail start #启动
chkconfig sendmail on #设置开机启动
Centos7.2_64bit系统自带postfix
#系统自己带postfix [root@zabbix-server alertscripts]# rpm -qa postfix postfix-2.10.1-6.el7.x86_64 #启动postfix [root@zabbix-server alertscripts]# service postfix start Redirecting to /bin/systemctl start postfix.service #添加开机自启动 [root@zabbix-server alertscripts]# systemctl enable postfix.service
二、创建发送邮件日志并授权
[root@zabbix-server alertscripts]# echo "" >>/tmp/email.log [root@zabbix-server alertscripts]# chown -R zabbix.zabbix /tmp/email.log #必须设置为zabbix组,否则会报错。 [root@zabbix-server alertscripts]# ll /tmp/email.log -rw-r--r-- 1 zabbix zabbix 1 7月 4 18:24 /tmp/email.log
三、进入zabbix脚本存放目录
[root@zabbix-server alertscripts]#cd /usr/lib/zabbix/alertscripts
#写一个发送邮件脚本
脚本需要的3个参数:收件人地址、主题、详细内容
[root@zabbix-server alertscripts]# vi mail.sh
#!/bin/sh
#send mail scripts
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/email.log 2>&1
#给脚本授权和加入zabbix组
[root@zabbix-server alertscripts]# ll 总用量 8 -rwxr-xr-x 1 zabbix zabbix 510 7月 3 11:50 check_port1.py -rw-r--r-- 1 root root 324 7月 4 18:32 mail.sh [root@zabbix-server alertscripts]# chown -R zabbix.zabbix mail.sh [root@zabbix-server alertscripts]# chmod +x mail.sh [root@zabbix-server alertscripts]# ll 总用量 8 -rwxr-xr-x 1 zabbix zabbix 510 7月 3 11:50 check_port1.py -rwxr-xr-x 1 zabbix zabbix 324 7月 4 18:32 mail.sh
#测试发送邮件
[root@zabbix-server alertscripts]# /usr/lib/zabbix/alertscripts/mail.sh zhhotdoor@163.com " httpd test" "httpd prot 80 down"
#查看日志
[root@zabbix-server alertscripts]# cat /tmp/email.log time:2017-06-24-06:04:41 messages subject p1_zhhotdoor@163.com send end ...
四、在zabbix界面配置
1、配置---动作---创建动作

操作

操作参数
默认操作步骤持续时间:3600
默认接收人: 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! 默认信息: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID} 步骤:1-3
步骤持续时间:60 操作类型:发送消息 发送到用户:Admin 仅送到:script

恢复操作
默认接收人:
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
操作类型:发送恢复信息

用户----报警媒介:配置类型和收件人

检查发送邮件选项:
1、先配置media type:Administration-> Media types -> Create mediatype -> ,添加各种信息

注意脚本名称与触发名称要一致。(否则就不会发邮件)

收到邮件效果:

#查看日志


浙公网安备 33010602011771号