zabbix 微信报警

2018-08-31  本文已影响0人  繁华丶凋零

简单 说一下  微信报警:

微信报警和  邮件区别不大  , 主要是  发送脚本不同

脚本来源       git clone https://github.com/X-Mars/Zabbix-Alert-WeChat.git

(python  脚本里调用的模块可能没有,需要自行安装 )

cat wechat.py

#!/usr/bin/python2.7

#_*_coding:utf-8 _*_

#auther:火星小刘

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,群发使用(推荐)

        #"toparty": Partyid                            # 企业号中的部门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 = "wx0f0c"                                                  # CorpID是企业号的标识

    Secret = "cecnGXBY"    # Secret是管理组凭证密钥

    #Tagid = "1"                                                                    # 通讯录标签ID

    Agentid = "1"                                                                  # 应用ID

    #Partyid = "1"                                                                  # 部门ID

    Token = GetToken(Corpid, Secret)

    Status = SendMessage(Token,User,Agentid,Subject,Content)

    print Status

脚本的  urllib3.disable_warnings()    你的python版本可能不支持(没细研究),注释掉即可

创建 企业微信    建好企业微信

需要 修改 脚本里的

   Corpid = "wx0f0c"          # CorpID是企业号的标识

   Secret = "cecnGXBY"     # Secret是管理组凭证密钥

  Agentid = "1"                     # 应用ID

都好了以后 直接 测试 脚本  python  wechat.py   

./wechat.py "你的企业微信的接收账号"     11111     22222    

如果能收到消息 ,再配置web    (余下 再出问题只会是  web端配置的问题)

这里的收件人是   你的企业微信的接受账号  微信 脚本的参数

到这就结束了  , 理解了就很容易找到错误的地方  。

上一篇下一篇

猜你喜欢

热点阅读