君子不重则不威,学则不固,主忠信,无友不如己者,过则勿惮改。

                              ——《论语》




安装并配置mailx

安装mailx

​yum install -y mailx​

修改mailx配置文件

​vim vim /etc/mail.rc​

set from=wang210@163.com  #定义发件人set smtp=smtp.163.com  #定义smtp服务器set smtp-auth-user=wang210@163.com 
set smtp-auth-password=asdASD123set smtp-auth=login

发送测试邮件

​echo 'test1'|mail -s "testmail" wang210@126.com​

编写邮件告警脚本

​vim /usr/lib/zabbix/alertscripts/mail.sh​

这是zabbix默认的脚本路径,可以通过zabbix_server配置文件修改

#/bin/bashto=$1subject=`echo $2|tr '\r\n' '\n'`
message=`echo $3|tr '\r\n' '\n'`echo "$message"|mail -s "$subject" $to >>/var/log/mailx.log 2>&1

touch /var/log/mailx.log

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

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

./mail.sh wang210@126.com “主题” “内容”

编辑zabbix_web,配置报警媒介

Zabbix配置微信报警和邮件报警_python

脚本参数的变量全为大写,是zabbix内置的宏

更多关于zabbix的宏可以查看 官方文档宏的介绍

除了使用脚本媒介,也可以使用email作为媒介,相比之下,使用email更简单

Zabbix配置微信报警和邮件报警_微信_02

编辑zabbix_web,配置用户

Zabbix配置微信报警和邮件报警_微信_03

Zabbix配置微信报警和邮件报警_vim_04

配置报警动作

操作,恢复操作,或者更新操作必须存在一个

配置条件

可以根据自己的需要配置触发条件

Zabbix配置微信报警和邮件报警_微信_05

配置操作

默认标题:

{TRIGGER.STATUS}:{TRIGGER.NAME}

消息内容:

报警主机:{HOST.NAME}
报警IP:{HOST.IP}
报警时间:{EVENT.DATE}-{EVENT.TIME}
报警等级:{TRIGGER.SEVERITY}
报警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件ID:{EVENT.ID}

Zabbix配置微信报警和邮件报警_vim_06

配置恢复操作

默认标题:

{TRIGGER.STATUS}:{TRIGGER.NAME}

消息内容:

恢复主机:{HOST.NAME}
恢复IP:{HOST.IP}
恢复时间:{EVENT.DATE}-{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢复ID:{EVENT.ID}

Zabbix配置微信报警和邮件报警_微信_07

关闭agent,测试报警

​systemctl stop zabbix_agent​

Zabbix配置微信报警和邮件报警_python_08

​systemctl start zabbix_agent​

Zabbix配置微信报警和邮件报警_python_09

配置微信报警

注册企业微信

配置微信报警需要注册企业微信

​https://work.weixin.qq.com/wework_admin/​

获取企业ID

点击‘我的企业’到最下面获取

Zabbix配置微信报警和邮件报警_vim_10

获取AgentID和Secret

单击应用与小程序,选择下面的创建应用,应用名字自己随便起,最好有象征意义

Zabbix配置微信报警和邮件报警_微信_11

然后打开新创建的应用,记录下AgentID和Secret

Zabbix配置微信报警和邮件报警_微信_12

配置脚本

从GitHub克隆微信报警脚本

git clone https://github.com/X-Mars/Zabbix-Alert-WeChat.git
cp Zabbix-Alert-WeChat/wechat.py /usr/local/zabbix34/alertscripts/
chmod +x wechat.py && chown zabbix:zabbix wechat.py

安装requests库

使用pip安装,需要先下载pip

python  get-pip.py

安装requests库

pip install requests

修改wechat.py脚本

Corpid,Secret,Agentid填写自己企业微信的信息,修改这三个参数即可,当然也可以选择使用标签ID,部门ID,取消注释即可

Zabbix配置微信报警和邮件报警_微信_13

修改完成后测试脚本是否可用

python wechat.py 企业微信ID test text
{u'invaliduser': u'', u'errcode': 0, u'errmsg': u'ok'}

在zabbix_web上配置报警媒介和用户

配置报警媒介

Zabbix配置微信报警和邮件报警_vim_14

配置用户

收件人填写企业微信的用户ID

Zabbix配置微信报警和邮件报警_微信_15

配置动作

配置操作

消息内容与标题与邮件报警配置相同,只要把发送的媒介通过WeChat发送即可

Zabbix配置微信报警和邮件报警_vim_16

配置恢复操作

恢复操作也是把媒介改成通过WeChat发送

Zabbix配置微信报警和邮件报警_vim_17

测试微信报警

重启虚拟机测试,企业微信收到邮件

Zabbix配置微信报警和邮件报警_vim_18