摘要:系统运维 配置微信告警: 准备事项:微信企业号 企业号已经被部门成员关注 企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用
系统运维
配置微信告警:
准备事项:
微信企业号
企业号已经被部门成员关注
企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员发送消息
需要得到的信息
成员账号
组织部门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
新增告警媒介:
增加告警信息模板:内容可根据自己需求填写
企业号通讯录:把所有要接收告警的人都添加到企业号通信录里面。
最后测试告警发送即可:
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28