zabbix微信报警

参考:https://www.abcdocker.com/abcdocker/2573

Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。

一、微信企业号申请

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

第一步注册

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

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

继续下一步

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

二、配置微信企业号

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

我们需要记录CorpID

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

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

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

点进去

记录用户账号

点击企业应用,新增应用

设置应用

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

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

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

准备事项:

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

需要得到的信息

三、服务端配置

[root@abcdocker ~]# grep alertscripts /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts

我们设置zabbix默认脚本路径,这样在web端就可以获取到脚本

链接:http://pan.baidu.com/s/1qYyrVBY 密码:uf7n

[root@abcdocker alertscripts]# pwd
 /usr/lib/zabbix/alertscripts
 [root@abcdocker alertscripts]# rz #如果没有rz可以使用yum install lrzsz 安装rz
 [root@abcdocker alertscripts]# chmod 755 wechat
 [root@abcdocker alertscripts]# chown zabbix:zabbix wechat

执行脚本,进行测试

[root@abcdocker alertscripts]# ./wechat --corpid=wwcxxxxxxxxxxxxxxxx --corpsecret=Q-HMnIo9HKX8kZwbT4m1SUcS-kmYhmiuRgr4DCLreQA --msg="您好,告警测试" --user=CongYuHong --agentid=1000002
 {"errcode":0,"errmsg":"ok","invaliduser":""}
 提示:
 --corpid= 我们企业里面的id
 --corpsecret= 这里就是我们Secret里面的id
 -msg= 内容
 -user=我们邀请用户的账号
 因为脚本是编译过的,无法进行编辑,我们可以使用./wechat -h or --help 查看

不能看源码,我很怀疑安全性

-----------------------------------------------------------第二个脚本的配置开始------------------------------------------------------------------------------------------------------------------------------------

第二个脚本

#!/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":user, #企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。
 "toparty":"test", #企业号中的部门id。
 "msgtype":"text", #消息类型。
 "agentid":"1", #企业号中的应用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')
 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 = 'wxcb7xxxxxx' #CorpID是企业号的标识
  corpsecret = 'AI-xxxxxxxxxxxxxxxxxxGB5Yj-sO' #corpsecretSecret是管理组凭证密钥
 accesstoken = gettoken(corpid,corpsecret)
 senddata(accesstoken,user,subject,content)
 测试如下图:
 

 

 这个是第二个zabbix的参数设置
 {ALERT.SENDTO}
 {ALERT.SUBJECT}
 {ALERT.MESSAGE}
 ---------------------------------------------------------------------第二个脚本的配置结束--------------------------------------------------------------------------------------------------------------------------

下面的

五、zabbix web 界面配置
创建报警媒介

关联到用户上。

填写微信收件人的账号

设置报警动作

报警消息设置如下:

hostname: ({HOST.NAME}
 Time:{EVENT.DATE} {EVENT.TIME}
 level:{TRIGGER.SEVERITY}
 message:{TRIGGER.NAME}
 event:{ITEM.NAME}:{ITEM.VALUE}
 url:www.abcdocker.com

恢复报警如下:

hostname: ({HOST.NAME}
 Time:{EVENT.DATE} {EVENT.TIME}
 level:{TRIGGER.SEVERITY}
 message:{TRIGGER.NAME}
 event:{ITEM.NAME}:{ITEM.VALUE}
 url:www.abcdocker.com

报警配置如下

恢复配置如下

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

 

0
如无特殊说明,文章均为本站原创,转载请注明出处
  • 转载请注明来源:zabbix微信报警
  • 本文永久链接地址:http://www.hongxiaowei.com/xiaowei/749.html

该文章由 发布

这货来去如风,什么鬼都没留下!!!