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

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

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

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

yum install mailx -y

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

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

set from=18739892385@139.com

set smtp=smtp.139.com

set smtp-auth-user=18739892385@139.com

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

set smtp-auth=login

61.png

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

echo "hello world" | mail -s "testmail" 18739892385@139.com

62.png

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

63.png

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 18739892385@139.com "mail" "zabbix service"    //测试发邮件脚本是否可以正常工作

64.png二,在浏览器上进行配置

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

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

{ALERT.MESSAGE}

65.png

66.png

67.png

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

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

收件人:18739892385@139.com

其他保持默认设置

68.png69.png70.png

3,再进行动作定义

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

名称:mailx

条件 A 主机群组=Linux servers

71.png72.png73.png

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          //一定要配置否则邮件发送不成功

75.png74.png77.png76.png

5,最后测试邮箱报警

步骤如下:

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

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

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

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

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

添加监控项httpd服务

78.png

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

79.png

接着139邮箱收到告警邮件

80.png

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

81.png