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 -> ,添加各种信息

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

 

收到邮件效果:

 

#查看日志

 

posted @ 2017-07-04 19:13  努力哥  阅读(387)  评论(0)    收藏  举报