zabbix 微信告警

发布时间:2024-04-24
系统运维
配置微信告警:
准备事项:
微信企业号?
企业号已经被部门成员关注?
企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员发送消息
需要得到的信息
成员账号
组织部门id
应用id
corpid和secret
首先我们登陆企业微信-→ 应用于小程序 ?创建我们的zabbix告警
完成后点击我们创建的小程序 即可获得 对应的id信息:
获取我们的企业corpid:
为zabbix_server 增加wechat告警脚本和告警媒介:
将脚本复制到/usr/lib/zabbix/alertscripts默认脚本存放路径,名字任意。
#!/usr/bin/python2.7
#_*_coding:utf-8 _*_
import requests,sys,json
import urllib3
urllib3.disable_warnings()
reload(sys)
sys.setdefaultencoding(\\\’utf-8\\\’)
def gettoken(corpid,secret):
url = https://qyapi.weixin.qq.com/cgi-bin/gettoken
data = {
corpid:corpid,
corpsecret:secret
}
r = requests.get(url=url,params=data,verify=false)
token = r.json()[\\\’access_token\\\’]
return token
def sendmessage(token,user,agentid,subject,content):
url = https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s % token
data = {
touser: user, # 企业号中的用户帐号,在zabbix用户media中配置,如果配置不正常,将按部门发送。
#totag: tagid, # 企业号中的部门id,群发时使用。
msgtype: text, # 消息类型。
agentid: agentid, # 企业号中的应用id。
text: {
content: subject \\\’\\\\n\\\’ content
},
safe: 0
}
r = requests.post(url=url,data=json.dumps(data),verify=false)
return r.text
if __name__ == \\\’__main__\\\’:
user = sys.argv[1] # zabbix传过来的第一个参数
subject = sys.argv[2] # zabbix传过来的第二个参数
content = sys.argv[3] # zabbix传过来的第三个参数
corpid = xxxxxxxxxxxxxxf # corpid是企业号的标识
secret = xxxxxxxxxxxxxxxxxx # secret是管理组凭证密钥
#tagid = 1 # 通讯录标签id
agentid = xxxxxx # 应用id
token = gettoken(corpid, secret)
status = sendmessage(token,user,agentid,subject,content)
print status
新增告警媒介:
增加告警信息模板:内容可根据自己需求填写
企业号通讯录:把所有要接收告警的人都添加到企业号通信录里面。
最后测试告警发送即可:
上一个:QJ44型直流双臂电桥主要功能
下一个:蜈蚣烘干除湿机,蜈蚣烘干工艺参考

除尘布袋效率因素和清洗方法
一文带您从不同角度认识时效振动机
CapXon(台湾丰宾)TV101M035G105ETRJ铝电解电容
选择适合的阀口袋包装机是生产商的关键要点
SMC - 您的生产助手
便携手提式水质采样器XCQ-H自动排空
发快递到柏林(发快递到波特兰)
珍珠纤维
全自动耐压控制箱主要技术特点
二手卧式不锈钢储罐实际应用