微信报警
第一步: 注册企业微信
企业微信注册网址(如果有直接登陆即可)
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