上篇文章讲解了Zabbix的安装与配置,这篇文章继续讲解如何配置邮件报警机制:当被监控的主机出现问题时会及时地给管理员发送邮件,及时地通知运维人员。

在此之前zabbix服务端和客户端都已经配置好了,并且加入了监控项。

一,在监控主机上进行配置

1,使用yum安装mailx邮箱服务

yum install mailx -y

2,编辑配置文件,在末行加入以下配置

vi /etc/mail.rc        //注意网易,QQ邮箱需要开启客户端授权码进行第三方登录

set [email protected]

set smtp=smtp.139.com

set [email protected]

set smtp-auth-password=邮箱密码             //如果是网易,QQ等邮箱,此处应填写授权码

set smtp-auth=login

监控软件Zabbix之配置139邮箱报警机制_第1张图片

3,尝试发送一封邮件,检验139邮箱是否能够接受

echo "hello world" | mail -s "testmail" [email protected]

监控软件Zabbix之配置139邮箱报警机制_第2张图片

4,编写发邮件脚本

cd /usr/lib/zabbix/alertscripts

vim mailx.sh

#!/bin/bash

#send mail

messages=`echo $3 | tr '\r\n' '\n'`

subject=`echo $2 | tr '\r\n' '\n'` 

echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1

监控软件Zabbix之配置139邮箱报警机制_第3张图片

5,赋予权限,并测试脚本

touch /tmp/mailx.log

chown -R zabbix.zabbix  /tmp/mailx.log

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

chown -R zabbix.zabbix /usr/lib/zabbix/

./mailx.sh [email protected] "mail" "zabbix service"    //测试发邮件脚本是否可以正常工作

监控软件Zabbix之配置139邮箱报警机制_第4张图片二,在浏览器上进行配置

1,打开管理==》报警媒体类型==》创建媒体类型

名称:mail-test
类型:脚本
脚本名称:mailx.sh
脚本参数://新增以下三个参数
{ALERT.SENDTO}          
{ALERT.SUBJECT}

{ALERT.MESSAGE}

监控软件Zabbix之配置139邮箱报警机制_第5张图片

监控软件Zabbix之配置139邮箱报警机制_第6张图片

监控软件Zabbix之配置139邮箱报警机制_第7张图片

2,接下来需要指定使用者,并进行相关设置

管理--》用户----》点击主机xxx----》报警媒介
类型:mail-test //调用上面的脚本

收件人:[email protected]

其他保持默认设置

监控软件Zabbix之配置139邮箱报警机制_第8张图片监控软件Zabbix之配置139邮箱报警机制_第9张图片监控软件Zabbix之配置139邮箱报警机制_第10张图片

3,再进行动作定义

配置==》动作==》创建动作==》删除默认标签,修改触发条件

名称:mailx

条件 A 主机群组=Linux servers

监控软件Zabbix之配置139邮箱报警机制_第11张图片监控软件Zabbix之配置139邮箱报警机制_第12张图片监控软件Zabbix之配置139邮箱报警机制_第13张图片

4,对操作进行配置

操作-》如下配置
默认操作步骤持续时间 60
默认接收人 : {TRIGGER.STATUS}:{TRIGGER.NAME}
默认信息:
告警主机:{HOST.NAME}
告警 IP:{HOST.IP}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}
====操作细节====
操作类型:发送消息
发送到用户:Admin (Zabbix Administrator) 
仅送到:mail-test         //一定要配置否则邮件发送不成功

恢复操作:{TRIGGER.STATUS}:{TRIGGER.NAME}
恢复信息:
恢复主机:{HOST.NAME}
恢复 IP:{HOST.IP}
恢复时间:{EVENT.DATE}-{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢复 ID:{EVENT.ID}
====操作细节=====
操作类型:发送消息
发送到用户:Admin (Zabbix Administrator) 
仅送到:mail-test          //一定要配置否则邮件发送不成功

监控软件Zabbix之配置139邮箱报警机制_第14张图片监控软件Zabbix之配置139邮箱报警机制_第15张图片监控软件Zabbix之配置139邮箱报警机制_第16张图片监控软件Zabbix之配置139邮箱报警机制_第17张图片

5,最后测试邮箱报警

步骤如下:

(1)添加被监控主机的监控项httpd服务,在被监控端下载并开启httpd服务

(2)模拟故障:然后关闭httpd服务

(3)查看是否受到报警邮件

(4)模拟故障解除:再开启httpd服务

(5)查看是否收到恢复邮件

添加监控项httpd服务

监控软件Zabbix之配置139邮箱报警机制_第18张图片

关闭httpd服务后,检测页面出现告警信息

监控软件Zabbix之配置139邮箱报警机制_第19张图片

接着139邮箱收到告警邮件

监控软件Zabbix之配置139邮箱报警机制_第20张图片

恢复httpd服务后,会收到恢复信息

监控软件Zabbix之配置139邮箱报警机制_第21张图片