微信报警
第一步: 注册企业微信
企业微信注册网址(如果有直接登陆即可)
https://work.weixin.qq.com
API接口文档
https://work.weixin.qq.com/api/doc#90000/90003/90487
在企业微信中需要获取知道的信息
- CorpID(获取方法:企业微信中我的企业 -> 企业信息)
- User(获取方法:企业微信中通信录点击要接收消息者的名字)
- Partyid(获取方法:企业微信中通信录左侧部门的选择按钮显示部门ID)[群发时需要]
- Agentid(获取方法:在企业微信中企业用用中创建自建应用中,所以微信监控需要在微信企业中自建一个应用)
- Secret(获取方法:同 Agentid)
第二步: 准备python脚本
#!/usr/bin/env python
# -*- coding: utf-8 -*-
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 = 'ww2ae2f5ee2a7764e4'
# app的Secret
appsecret = 'f-J3XOvCyAjtO4FkMTy4w6VzSC423tO8caskhMt8G8A'
# 应用id
agentid = 1000002
# 获取accesstoken
token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s' % (corpid, appsecret)
req = requests.get(token_url)
accesstoken = req.json()['access_token']
# 发送消息
msgsend_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s' % accesstoken
touser = sys.argv[1]
subject = sys.argv[2]
message = "%s\n\n%s" % (sys.argv[2], sys.argv[3])
params = {
'touser': touser,
'msgtype': "text",
"agentid": agentid,
"text": {
"content": message
},
"safe": 0
}
req = requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto: %s;;subject: %s;;message: %s'%(touser, subject, message))
第三步: 配置报警媒介类型为脚本
参考文档: https://www.zabbix.com/documentation/3.0/manual/introduction/whatsnew300