zabbix配置邮件报警

一、关闭sendmail或者postfix

service sendmail stop #关闭

chkconfig sendmail off #禁止开机启动

service postfix stop

chkconfig postfix off

备注:

使用外部邮箱账号时,不需要启动sendmail或者postfix

如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读取外部邮箱

配置信息

二、安装邮件发送工具mailx

yum remove mailx #卸载系统自带的旧版mailx

yum install mailx  #安装mailx

whereis mailx #查看安装路径

mailx -V #查看版本信息

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

vi /etc/mail.rc #编辑,添加以下信息

set from=[email protected] smtp=smtp.163.com

set smtp-auth-user=[email protected] smtp-auth-password=123456

set smtp-auth=login

:wq! #保存退出

echo "zabbix testmail" |mail -s "zabbix" [email protected]

#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:[email protected]

#这时候,邮箱[email protected]会收到来自[email protected]的测试邮件

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

1、打开Zabbix

管理-示警媒介类型-创建媒体类型

名称:Sendmail

类型:脚本

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

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

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

已启用:勾选

zabbix配置邮件报警_第1张图片

2、设置Zabbix用户报警邮箱地址

组态-用户-Admin (Zabbix Administrator)

zabbix配置邮件报警_第2张图片

点击添加

zabbix配置邮件报警_第3张图片

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

zabbix配置邮件报警_第4张图片

类型:Sendmail

收件人:[email protected]

其他默认即可,也可

以根据需要设置

状态:已启用

存档

3、设置Zabbix触发报警的动作

组态-动作-创建动作

zabbix配置邮件报警_第5张图片

名称: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}

已启用:打钩

zabbix配置邮件报警_第6张图片

切换到操作选项

修改持续时间为60秒

新的

操作类型:送出信息

送到用户:添加

默认信息:打钩

选择用户:Admin

选择

仅送到:Sendmail

存档

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

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

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

 

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

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

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

#!/bin/sh

echo "$3" |mail -s "$2" $1

:wq! #保存退出

chownzabbix.zabbix /usr/lib/zabbix/alertscripts/sendmail.sh

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

chmod+x /usr/lib/zabbix/alertscripts/sendmail.sh

#设置脚本执行权限

五、测试Zabbix报警

关闭Zabbix客户端服务

service zabbix_agentdstop

查看[email protected]邮箱,会收到报警邮件

再开启Zabbix客户端服务

service zabbix_agentdstart

查看[email protected]邮箱,会收到恢复邮件

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

至此,Zabbix邮件报警设置完

 




你可能感兴趣的:(监控系统,Linux)