美文网首页
zabbix 微信报警

zabbix 微信报警

作者: 繁华丶凋零 | 来源:发表于2018-08-31 18:13 被阅读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端配置的问题)

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

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

    相关文章

      网友评论

          本文标题:zabbix 微信报警

          本文链接:https://www.haomeiwen.com/subject/yldewftx.html