9.2.2 Zabbix5.0配置微信告警:Zabbix告警信息使用企业微信推送

9.2.2 Zabbix5.0配置微信告警:Zabbix告警信息使用企业微信推送

订阅号,主要用于推广。多是一些媒体、自媒体、公司市场、品牌、宣传使用。

服务号,主要用于服务。服务号开放的接口比较多,比如支付、卡券、客服、消息模版、设备功能等等。

企业号,主要用于企业内部OA办公。人数虽然少,不过消息是无限发的,方便的是企业内部交流用,如果继续开发的话,比如打卡、发票等等都可以做。

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图1)

企业微信登录地址:

https://work.weixin.qq.com/

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图2)

企业微信创建应用

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图3)

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图4)

查看AgentldSecret

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图5)

查看企业ID

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图6)

创建运维组

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图7)

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图8)

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图9)


成员也可以通过扫码加入

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图10)

记住成员账号(后面会用到,如ChenJianHao)

 

 

配置监控脚本

准备事项:

微信企业号

企业号已经被部门成员关注

企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员发送消息

需要得到的信息

1、成员账号

2、组织部门ID

3、应用ID

4、CorpID和Secret

 

[root@zh-cjh ~]# grep alertscripts /etc/zabbix/zabbix_server.conf

# AlertScriptsPath=${datadir}/zabbix/alertscripts

AlertScriptsPath=/usr/lib/zabbix/alertscripts

[root@zh-cjh ~]#

 

安装simplejson

wget https://pypi.python.org/packages/f0/07/26b519e6ebb03c2a74989f7571e6ae6b82e9d7d81b8de6fcdbfc643c7b58/simplejson-3.8.2.tar.gz

tar zxvf simplejson-3.8.2.tar.gz && cd simplejson-3.8.2

python setup.py build

python setup.py install

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图11)

[root@zh-cjh simplejson-3.8.2]# python setup.py build

[root@zh-cjh simplejson-3.8.2]# python setup.py install

 

[root@zh-cjh ~]# find / -name alertscripts

/usr/lib/zabbix/alertscripts

[root@zh-cjh ~]#

[root@zh-cjh ~]#

[root@zh-cjh ~]# cd /usr/lib/zabbix/alertscripts

[root@zh-cjh alertscripts]# ls

a.sh  pushplus.sh

[root@zh-cjh alertscripts]#

[root@zh-cjh alertscripts]#

[root@zh-cjh alertscripts]# vi wechat.py

#!/usr/bin/python

#_*_coding:utf-8 _*_

 

 

import urllib,urllib2

import json

import sys

import simplejson

 

reload(sys)

sys.setdefaultencoding('utf-8')

 

 

def gettoken(corpid,corpsecret):

    gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret

#    print  gettoken_url

    try:

        token_file = urllib2.urlopen(gettoken_url)

    except urllib2.HTTPError as e:

        print e.code

        print e.read().decode("utf8")

        sys.exit()

    token_data = token_file.read().decode('utf-8')

    token_json = json.loads(token_data)

    token_json.keys()

    token = token_json['access_token']

    return token

 

def senddata(access_token,user,subject,content):

 

    send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token

    send_values = {

        "touser":'ChenJianHao',    #企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。

        "toparty":"2",    #企业号中的部门id

        "msgtype":"text", #消息类型。

        "agentid":"1000002",    #企业号中的应用id

        "text":{

            "content":subject + '\n' + content

           },

        "safe":"0"

        }

#    send_data = json.dumps(send_values, ensure_ascii=False)

    send_data = simplejson.dumps(send_values, ensure_ascii=False).encode('utf-8')

    print(send_data)

    send_request = urllib2.Request(send_url, send_data)

    response = json.loads(urllib2.urlopen(send_request).read())

    print str(response)

 

 

if __name__ == '__main__':

    user = str(sys.argv[1])     #zabbix传过来的第一个参数

    subject = str(sys.argv[2])  #zabbix传过来的第二个参数

    content = str(sys.argv[3])  #zabbix传过来的第三个参数

    corpid =  'wwd04xxxxxxxxxxxxxx'   #CorpID是企业号的标识

    corpsecret = 'nupxxxxxxxxxxxxxxxxxxxxxxxxxxGYEY'  #corpsecretSecret是管理组凭证密钥

    accesstoken = gettoken(corpid,corpsecret)

    senddata(accesstoken,user,subject,content)

"wechat.py" [New] 57L, 2041C written

 

配置给予脚本执行的权限并运行并测试:

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图12)

[root@zh-cjh alertscripts]# chmod +x wechat.py

[root@zh-cjh alertscripts]#

[root@zh-cjh alertscripts]#  ./wechat.py 1 报警测试 error

测试结果:

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图13)

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图14)

 zabbix web界面配置

创建报警媒介类型

名称:随意写 pushplus.sh

类型:选择脚本

脚本名称:按照实际名称填写

脚本参数:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

Script parameters表示调用脚本时向脚本传入什么参数,参数解释如下

{ALTER.SENDTO} # 发送给谁,该参数在邮件告警中有作用,但微信告警中没有

{ALTER.SUBJECT} # 告警标题,该参数在邮件告警中有作用,但微信告警中没有

{ALTER.MESSAGE} # 告警内容,在微信告警中有用

 

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图15)

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图16)


创建报警用户

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图17)

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图18)

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图19)

创建动作

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图20)

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图21)

故障发生:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!故障通知!

告警主机:{HOSTNAME1}

IP地址:{HOST.CONN}

告警时间:{EVENT.DATE} {EVENT.TIME}(UTC)

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

 

恢复通知:恢复TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}已恢复!

告警主机:{HOSTNAME1}

IP地址:{HOST.CONN}

告警时间:{EVENT.DATE} {EVENT.TIME}(UTC)

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

故障发生的操作:

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图22)

恢复后的操作:

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图23)

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图24)

测试:

电脑版:

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图25)

手机版:

9.2.2 配置微信告警:Zabbix告警信息使用企业微信推送(图26)


Zabbix5(列表、list、全)zabbixlist
http://www.zh-cjh.com/wenzhangguilei/722.html
文章归类、所有文章列表、LISTLIST
http://www.zh-cjh.com/wangzhangonggao/2195.html

1、本站资源长期持续更新。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。

转载请保留出处:  www.zh-cjh.com珠海陈坚浩博客 » 9.2.2 Zabbix5.0配置微信告警:Zabbix告警信息使用企业微信推送

作者: cjh


手机扫一扫,手机上查看此文章:

一切源于价值!

其他 模板文件不存在: ./template/plugins/comment/pc/index.htm

未雨绸缪、居安思危!

数据安全、有备无患!

注意操作、数据无价!

一切源于价值!