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

2019-07-28 13:51:16 浏览数 (1)

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

安装并配置mailx

安装mailx

yum install -y mailx

修改mailx配置文件

vim vim /etc/mail.rc

代码语言:javascript复制
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配置文件修改

代码语言:javascript复制
#/bin/bashto=$1subject=`echo $2|tr 'rn' 'n'`
message=`echo $3|tr 'rn' '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内置的宏 更多关于zabbix的宏可以查看 官方文档宏的介绍 除了使用脚本媒介,也可以使用email作为媒介,相比之下,使用email更简单

编辑zabbix_web,配置用户
配置报警动作

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

配置条件

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

配置操作

默认标题:

代码语言:javascript复制
{TRIGGER.STATUS}:{TRIGGER.NAME}

消息内容:

代码语言:javascript复制
报警主机:{HOST.NAME}
报警IP:{HOST.IP}
报警时间:{EVENT.DATE}-{EVENT.TIME}
报警等级:{TRIGGER.SEVERITY}
报警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件ID:{EVENT.ID}
配置恢复操作

默认标题:

代码语言:javascript复制
{TRIGGER.STATUS}:{TRIGGER.NAME}

消息内容:

代码语言:javascript复制
恢复主机:{HOST.NAME}
恢复IP:{HOST.IP}
恢复时间:{EVENT.DATE}-{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢复ID:{EVENT.ID}
关闭agent,测试报警

systemctl stop zabbix_agent

systemctl start zabbix_agent

配置微信报警

注册企业微信

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

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

获取企业ID

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

获取AgentID和Secret

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

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

配置脚本

从GitHub克隆微信报警脚本
代码语言:javascript复制
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

代码语言:javascript复制
python  get-pip.py

安装requests库

代码语言:javascript复制
pip install requests
修改wechat.py脚本

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

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

代码语言:javascript复制
python wechat.py 企业微信ID test text
{u'invaliduser': u'', u'errcode': 0, u'errmsg': u'ok'}

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

配置报警媒介
配置用户

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

配置动作

配置操作

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

配置恢复操作

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

测试微信报警

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


参考链接:https://www.cnblogs.com/kumarhua/p/7645399.html

http://blog.51cto.com/tryrus/1782062

https://www.cnblogs.com/winstom/p/8883796.html


0 人点赞