zoukankan      html  css  js  c++  java
  • python ---- zabbix配置企业微信告警

    操作步骤:

    1. 首先要注册一个企业微信中的"企业".
    2. 登入至企业微信后台管理,在"应用管理" --> "创建应用"作为告警的zabbix.
    3. 记录创建的应用的Secret及"我的企业"中的"企业ID".
    4. 查看API文档开始撰写告警脚本.
    5. 测试告警是否生效.

    一、企业微信中注册企业

    略,可直接查询如何注册

    二、创建Zabbix应用

    注:
      记得可见范围要选择

    三、查看API文档撰写脚本

    API文档地址:
      https://work.weixin.qq.com/wework_admin/frame#apps/createApiApp
    小编根据实际情况编写,脚本如下:

    import requests
    import json
    import sys
    # 此处的消息内容接收脚本后的参数
    message = sys.argv[1]
    # 此为固定地址(官方文档有说明)
    API_URL = 'https://qyapi.weixin.qq.com/cgi-bin/'
    class Wechat:
        def __init__(self):
            self.keys = {
          # corpid与corpsecret为应用的secret及企业ID;
                'corpid': 'ww97b8dfasdf1bdb4a55d6wqee',
                'corpsecret': '6yrP1nYUtPdsafdqfoCa0B9oop4Qv-OPdJlZJYxcmYaU3Ifg'
                    }
          # touser默认为"@all"及所有人都能接收到消息,agentid为应用的信息,
            self.touser = '@all'
            self.agentid = '1000002'
       # 定义请求函数
        def http_get(self,url,method,**kwargs):
            headers = {'content-type': 'application/json'}
            if method == 'GET':
                request = requests.Session()
                response = request.get(''.join([API_URL, url]),headers = headers,**kwargs)
                return response.json()
            if method == 'POST':
                response = requests.post(''.join([API_URL, url]),headers = headers,**kwargs)
                return response
    
        def get_accesstoken(self):
            response = self.http_get('gettoken', 'GET', params=self.keys)
            if response and response['errcode'] == 0:
                return response['access_token']
            return 'Faild.'
    
        def send_message(self):
            data = {
                'touser': self.touser,
                'msgtype': "text",
                'agentid': self.agentid,
                'text': {
                    'content': message
                }
            }
            response = self.http_get('message/send' + '?access_token=' + self.get_accesstoken(), 'POST', data = json.dumps(data))
            return response.json()
    test = Wechat()
    test2 = test.get_accesstoken()
    print(test2)
    test3 = test.send_message()
    print(test3)
    
  • 相关阅读:
    threading.Timer 返回值
    AttributeError: 'FileEventHandler' object has no attribute 'core'
    JS限制内容显示多少个字符
    #1115
    python实现读取文件夹下所有文件内容
    【css】响应式布局 @media媒介 适配平板手机
    js实现canvas保存图片为png格式并下载到本地
    Css+Div设置电脑端显示,手机端不显示代码
    禁止F12代码
    git pull fatal: unable to access OpenSSL SSL_read: Connection was reset, errno 10054
  • 原文地址:https://www.cnblogs.com/k-free-bolg/p/13863749.html
Copyright © 2011-2022 走看看