zabbix微信报警(改)

51 篇文章 2 订阅
46 篇文章 0 订阅

一、微信企业号申请

地址: http://work.weixin.qq.com/

第一步注册 



因为我们没有企业,所以我们选择组织。

提示:这里简单的说一下,微信企业号和微信公众号是不一样的!


继续下一步

提示一下: 因为这步需要添加管理员的身份证号以及手机号,我这里就不截图了

二、配置微信企业号

当设置完微信号的信息之后,请继续跟我操作。中间可能步骤不是特别全,就是设置企业的信息

我们需要记录CorpID 

我们点击通讯录,添加一个组,或者添加一个成员。成员可以使用微信邀请或者短信邀请,我扫码添加自己的时候微信这个坑比给我下载一个企业微信。很尴尬,微信变了。不单纯了 

添加完管理员需要记录管理员账号

我们添加成员需要记录成员ID 

点进去 



记录用户账号 

点击企业应用,新增应用 新版本应用位置有所更新,也是添加应用

设置应用 

同样也可以在微信插件里面二维码邀请关注加入通讯录 

创建完成后 
需要记录Agentld、Secret 

以前的应用ID和组ID已经被取消

准备事项:

微信企业号 
企业号已经被部门成员关注 
企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员发送消息

准备事项:

微信企业号 
企业号已经被部门成员关注 
企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员发送消息

需要得到的信息

  1. 成员账号
  2. 组织部门ID
  3. 应用ID
  4. CorpIDSecret

三、修改Zabbix.conf

  1. [root@abcdocker ~]# grep alertscripts /usr/local/zabbix/etc/zabbix_agentd.conf
  2. AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
  3. 我们设置zabbix默认脚本路径,这样在web端就可以获取到脚本

四、设置python脚本

#安装simplejson

  1. wget https://pypi.python.org/packages/f0/07/26b519e6ebb03c2a74989f7571e6ae6b82e9d7d81b8de6fcdbfc643c7b58/simplejson-3.8.2.tar.gz
  2. tar zxvf simplejson-3.8.2.tar.gz && cd simplejson-3.8.2
  3. python setup.py build
  4. python setup.py install

下载wechat.py脚本

  1. git clone https://github.com/X-Mars/Zabbix-Alert-WeChat.git
  2. cp Zabbix-Alert-WeChat/wechat.py/usr/local/zabbix/share/zabbix/alertscripts
  3. cd /usr/local/zabbix/share/zabbix/alertscripts
  4. chmod +x wechat.py && chown zabbix:zabbix wechat.py

提示:这里需要修改py脚本 
看注释,这就不解释了

[root@abcdocker ~]# cat/usr/local/zabbix/share/zabbix/alertscripts/wechat.py

#!/usr/bin/python2.7
#_*_coding:utf-8 _*_


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

执行py脚本,进行测试

  1. [root@abcdocker alertscripts]# ./wechat.py www www 123
  2. https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wx6dadb9cc293b793e&corpsecret=JjesoeixbFt6dDur7_eXtamVBx2SjPBuXMQ0Jte3YLkz8l-VBnr0JvU12P0kvpGJ
  3. {u'invaliduser': u'all user invalid', u'errcode': 0, u'errmsg': u'ok'}

五、zabbix web 界面配置

创建报警媒介 


创建报警用户 

这里填写运维组ID 



设置报警动作 


报警消息设置如下:

1.hostname: ({HOST.NAME}
2.Time:{EVENT.DATE} {EVENT.TIME}
3.level:{TRIGGER.SEVERITY}
4.message:{TRIGGER.NAME}
5.event:{ITEM.NAME}:{ITEM.VALUE}
6.
url:www.abcdocker.com

恢复报警如下:

1.hostname: ({HOST.NAME}
2.Time:{EVENT.DATE} {EVENT.TIME}
3.level:{TRIGGER.SEVERITY}
4.message:{TRIGGER.NAME}
5.event:{ITEM.NAME}:{ITEM.VALUE}
6.
7.url:www.abcdocker.com

报警配置如下 



恢复配置如下 

提示: 不要忘记先点小的add-->小的update-->Update

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值