第一步:首先安装mailx组件并配置好能够通过三方邮箱发送邮件

yum install mailx

然后编辑mailx的配置文件

vi /etc/mail.rc

在最末尾添加如下信息

set from=xxxxxx@163.com smtp=smtp.163.com

set smtp-auth-user=xxxxxx@163.com smtp-auth-password=xxxxxx

set smtp-auth=login

保存退出后测试邮件是否能够正常发送出去

echo "zabbix test mail" |mail -s "zabbix" xxx@139.com

这里推荐使用163发送邮件,139收邮件,因为139邮箱有邮件短信通知功能。

第二步:编写邮件发送脚本

vim /usr/local/sbin/zabbix/sendmail.sh

1
2
#! /bin/bash
echo  "$3"  | /bin/mail  -s  "$2"  $1

chmod +x /usr/local/sbin/zabbix/sendmail.sh

第三步:配置zabbix_server.conf

vim /etc/zabbix/zabbix_server.conf

修改AlertScriptsPath=/usr/local/sbin/zabbix/

  ExternalScripts=/usr/local/sbin/zabbix/

定义脚本路径

第四步:配置服务器端邮件报警

1、打开Zabbix

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

wKioL1bX_53jbJ6nAADohq7aP3E204.png

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

管理-用户-Admin (Zabbix Administrator)

wKioL1bYAHPgjuM2AAGcCHcDEFk867.png 切换到示警媒介-添加

wKioL1bYATSD5ct7AAC0PTsvQfg182.png

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

组态-动作-创建动作

wKioL1bYAx6zJukvAAC7OxmXtrU083.png

注意,下面的默认接收人那一栏中需要添加(默认接收人)这个字段,否则将可能导致邮件中文乱码

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


已启用:打钩

切换到条件选项

wKiom1bY6MqCJe-MAAC2QnrchyM653.png添加触发条件

切换到操作

wKiom1bZS7PR1E55AABS4_SP7Zk522.png







存档之后就OK了。

关闭客户端的zabbix_agent,测试能否收到邮件短信通知。