资讯

展开

zabbix通过python脚本实现企业微信发送监控告警

作者:快盘下载 人气:

python脚本,用于调用企业微信自定义应用来发送告警消息

#!/usr/bin/python
# --*-- coding:utf8 --*--
# Author: Jack.Z
import json
import sys
import simplejson
import requests
def get_token(cid, secret):
    gettoken_url = 'https://qyapi.weixin.QQ.com/cgi-bin/gettoken?corpid=' + cid + '&corpsecret=' + secret
    try:
        req = requests.get(gettoken_url)
    except requests.HTTPError as e:
        print e.errno
        sys.exit()
    return json.loads(req.text)['access_token']
def send_data(token, account, subject_name, context):
    send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + token
    send_values = {
        "touser": account,          # 企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。
        "toparty": "2",             # 企业号中的部门id。
        "msgtype": "text",          # 消息类型。
        "agentid": "1000002",       # 企业号中的应用id。
        "text": {
            "content": subject_name + '
' + context
        },
        "safe": "0"
    }
    data = simplejson.dumps(send_values, ensure_ascii=False).encode('utf-8')
    try:
        req = requests.post(send_url, data)
    except requests.HTTPError as e:
        print e.errno
        sys.exit()
    print req.text
if __name__ == '__main__':
    user = str(sys.argv[1])
    subject = str(sys.argv[2])
    content = str(sys.argv[3])
    corp_id = '*************'
    corp_secret = '******************'
    access_token = get_token(corp_id, corp_secret)
    send_data(token=access_token, account=user, subject_name=subject, context=content)

前提条件是: 你得有企业微信,然后呢,还要自建应用, 然后在zabbix中做相关设置,下面是我们在实际测试中的信息提示载图:

zabbix通过python脚本实现企业微信发送监控告警

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!