zabbix3.0.4邮件报警配置

一、安装邮件发送工具mailx

这里我选择的是mailx,所以得关闭其他的邮件发送工具

service sendmailstop #关闭

chkconfig sendmailoff #禁止开机启动

service postfixstop

chkconfig postfixoff

yum install mailx

二、配置Zabbix服务端外部邮箱

vi /etc/mail.rc

setfrom=xxx@163.com smtp=smtp.163.com

set smtp-auth-user=xxx@163.comsmtp-auth-password=123456

set smtp-auth=login

:wq! #保存退出

echo"zabbix test mail" |mail -s "zabbix" yyy@163.com

#测试发送邮件,标题zabbix,邮件内容:zabbixtest mail,发送到的邮箱:yyy@163.com

#这时候,邮箱yyy@163.com会收到来自xxx@163.com的测试邮件

三、配置Zabbix服务端邮件报警

1、进入zabbix管理页面

点击管理->报警媒介类型 点击最右边的创建媒体类型

名称:Sendmail

类型:脚本

脚本名称:sendmail.sh

添加以下3个参数,分别对应sendmail.sh脚本需要的3个参数:收件人地址、主题、详细内容

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}


解释:很多人安装zabbix3.0之后,写的脚本一直发信不成功,手动执行时可以的。那是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。在2.x版本不存在这个问题,默认会传3个参数。

2、点击Admin用户


点击添加


选择Sendmail脚本,输入收件人的邮箱地址

 

3、点击用户群组,点击zabbixadministrator后面的调用模式,点击一下,就启用了

点权限->添加,选择所有


4、点击配置->动作 点击创建动作

名称:Action-Email

默认接收人:故障{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}

恢复信息:打钩

恢复主旨:恢复{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}

已启用:打钩


点击操作

修改持续时间为60秒

新的

操作类型:送出信息

送到用户:添加

默认信息:打钩

选择用户:Admin

选择

仅送到:Sendmail

存档

解释:默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户和zabbix administrator组。

假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送

间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。

5、添加Zabbix服务端邮件发送脚本

cd/usr/local/zabbix/share/zabbix/alertscripts #进入脚本存放目录

vi sendmail.sh #编辑,添加以下代码

#!/bin/sh

#export.UTF-8

echo"$3" | sed s/'\r'//g | mail -s "$2" $1

:wq! #保存退出

chownzabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#设置脚本所有者为zabbix用户

chmod +x/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#设置脚本执行权限

四、测试Zabbix报警

关闭Zabbix客户端服务

servicezabbix_agentd stop

查看xxx@163.com邮箱,会收到报警邮件

再开启Zabbix客户端服务

servicezabbix_agentd start

查看xxx@163.com邮箱,会收到恢复邮件

使用外部邮箱账号发送报警邮件设置完成。

至此,Zabbix邮件报警设置完成。

展开阅读全文

没有更多推荐了,返回首页