zabbix配置微信报警
一.注册企业微信(这里不多赘述)
二.配置报警
1.配置报警媒介类型



这里的脚本名字为:weixin.py
第一个参数:{ALERT.SENDTO}
第二个参数:{ALERT.SUBJECT}
第三个参数:{ALERT.MESSAGE}
下边是完整的配置

2.配置 使用上边配置的报警媒介类型


注:这里的类型是刚刚创建的报警媒介类型的名称
下边选择收件人(需要登录企业微信,没有企业微信就别想了,嘿嘿嘿)


这里的账号就是我们的收件人
下边是完整的配置,点击添加即可

点击更新或者添加(这里因为我这里有一个邮箱报警,所以是更新)

这个启用动作即可

到此为止,前端的配置就完成了
三、脚本配置
命令也给你们贴出来
grep -Ev '^$|#' zabbix_server.conf # 我当前是在/etc/zabbix/的目录下面,在/etc/zabbix/下面才可以直接运行,不然需要用绝对路径

开始写发送微信报警的脚本(知道为什么上面创建报警媒介类型的时候,我的脚本名字为什么叫weixin.py了吧)
# 脚本内容复制粘贴就行,需要改三行的配置(corpid, appsecret,agentid)我也不知道脚本什么意思
vim weixin.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
# comment: zabbix接入微信报警脚本
import requests
import sys
import os
import json
import logging
logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
datefmt = '%a, %d %b %Y %H:%M:%S',
filename = os.path.join('/tmp','weixin.log'),
filemode = 'a')
#填写自己的企业ID号
corpid='wwfe60fb71a0159ffe' # 这个地方需要换成你自己的企业id号
# 应用的secret
appsecret='6VPRv0XJthXr4lbxHZzhxRHjUiq8Tq4hEMsWLWtqbtU' # 这个地方需要换成你自己secret
#填写自己的应用ID
agentid=1000002 # 这个地方需要换成你自己的应用ID
# 获取accesstoken
token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token']
msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken
touser=sys.argv[1]
subject=sys.argv[2]
#toparty='3|4|5|6'
message=sys.argv[2] + "\n\n" +sys.argv[3]
params={
"touser": touser,
# "toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
},
"safe":0
}
req=requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)
获取自己的企业微信ID号,复制id号替换我的id号

2.创建应用,创建应用是为了有人给我们报警,还有获取应用id和secret(现在secret只能通过手机版企业微信获得,还是乖乖下载企业微信吧)


3.获取应用的agentid,记得把weixin.py脚本里面的agentid替换了

4.获取secret


5.发送完去手机企业微信去查看


6.把你的secret替换weixin.py脚本中的appsecret
四、测试脚本是否成功(注意:运行脚本的时候需要传入三个参数)
1.首次运行会报错,这是因为我们的python中没有安装requests的模块

解决办法
# 安装pip
yum -y install python-pip
# 用pip安装requests模块
pip install requests
解决问题之后继续测试


到此为止,测试成功,可以发送。
五、zabbix上制造错误
1.我有一个这样的触发器

2.开始创造错误

3.报错了

这个报错是因为zabbix写日志的时候没有权限向/tmp/weixin.log 里面写入,重新删除或者改变用户都行
chown zabbix:zabbix weixin.log


4.再去测试

我的提示是中文的,是因为我手动改了一下,你也可以自己改,具体不说在哪里改了,大功告成!!!!再见!

浙公网安备 33010602011771号