zoukankan      html  css  js  c++  java
  • Zabbix3.4指定用户才能收到报警的配置

    Zabbix3.4指定用户才能收到报警的配置
    
    1.下载python微信脚本
    #安装simplejson
    wget https://pypi.python.org/packages/f0/07/26b519e6ebb03c2a74989f7571e6ae6b82e9d7d81b8de6fcdbfc643c7b58/simplejson-3.8.2.tar.gz
    git地址:
    https://github.com/simplejson/simplejson/tree/v3.8.2
    tar zxvf simplejson-3.8.2.tar.gz && cd simplejson-3.8.2
    python setup.py build
    python setup.py install
    
    #下载wechat.py脚本
    git clone https://github.com/X-Mars/Zabbix-Alert-WeChat.git
    cp Zabbix-Alert-WeChat/wechat.py /usr/lib/zabbix/alertscripts/
    chmod +x wechat.py && chown zabbix:zabbix wechat.py
    
    编辑脚本,将申请到的相关信息填入wechat.py中
    [root@szxxlfhtest02t:/usr/lib/zabbix/alertscripts]# cat wechat.py 
    #!/usr/bin/python
    #_*_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 + '
    ' + 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 = "copid"                                                   # CorpID是企业号的标识
        Secret = "sec"     # Secret是管理组凭证密钥
        #Tagid = "1"                                                                     # 通讯录标签ID
        Agentid = "1000002"                                                                   # 应用ID
        #Partyid = "1"                                                                  # 部门ID
    
        Token = GetToken(Corpid, Secret)
        Status = SendMessage(Token,User,Agentid,Subject,Content)
        print Status

    Action配置

    配置多个接收报警人

  • 相关阅读:
    利用“Java同包同名类执行顺序”取消Java 网站应用程序Licence验证
    “Nested exception: 前言中不允许有内容"错误处理
    服务器日志文件Web远程查看
    Sql Server性能定位及改善
    eHR自动同步获取LDAP中的邮箱地址
    SQL Server中调用WebService
    大数据自学6-Hue集成环境操作Hbase
    大数据自学5-Python操作Hbase
    大数据自学4-Hue集成环境中各模组说明
    大数据自学3-Windows客户端DbVisualizer/SQuirreL配置连接hive
  • 原文地址:https://www.cnblogs.com/reblue520/p/11328734.html
Copyright © 2011-2022 走看看