Zabbix 3.4.3使用企业微信报警

环境简介

CentOS Linux release 7.2.1511 (Core)  X64

zabbix-web-mysql-3.4.3-1.el7.noarch
zabbix-get-3.4.3-1.el7.x86_64
zabbix-web-3.4.3-1.el7.noarch
zabbix-server-mysql-3.4.3-1.el7.x86_64
zabbix-agent-3.4.3-1.el7.x86_64

开始配置

一,申请企业微信

传送门https://work.weixin.qq.com/,按照要求填写,申请成功即可,我这边有现成的,无需申请了

二,创建部门,并记录部门id用于发送信息

红色为添加子部门

部门ID这里用于发送信息使用

三,记录个人信息(用于给个人发送信息)

账号为给单个成员发送信息的id

四,添加应用

创建成功后记录Agentid与Secret,用于发送token的获取

可见范围为能够看到信息的人或群组

五,记录Corpid

六,接口测试信息,有兴趣可以自行测试

接口调试工具:http://work.weixin.qq.com/api/devtools/devtool.php

接口说明文档:https://work.weixin.qq.com/api/doc#10167

七,报警脚本

1,使用python脚本,对部门发送信息

vi /etc/zabbix/alertscripts/weixin.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
# zabbix notification confirmation script
# python2.7 or above
 
import requests
import json
import os
import sys
 
Toparty = "1842015725"   #部门id
AgentID = 1000003     #应用id
 
#修改为企业CropID和Secret
CropID = 'ww08dd03fec7777231'
Secret = '9LTp1b-LVMgXDr1_6Hmx1f7QEPI4w4Hidg_oTbk415I'
 
#获取Token
Gtoken ="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + CropID + "&corpsecret=" + Secret
headers = {'Content-Type': 'application/json'}
json_data = json.loads(requests.get(Gtoken).content.decode())
token = json_data["access_token"]
 
#消息发送接口
Purl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token
 
#消息发送函数
def msg(title,message):
    weixin_msg = {
         "toparty" : Toparty,
         "msgtype" : "textcard",
         "agentid" : AgentID,
         "textcard" : {
             "title" : title,
             "description" : message,
             "url" : "www.wzlinux.com",
             "btntxt":"更多"
          }
      }
    print requests.post(Purl,json.dumps(weixin_msg),headers=headers)
 
if __name__ == '__main__':
    title = sys.argv[1]        #获取第一个参数
    message = sys.argv[2]      #获取第二个参数
    msg(title,message)


chmod 755 /etc/zabbix/alertscripts/weixin.py

测试

/etc/zabbix/alertscripts/weixin.py 1 2

所在组的成员就可以收到告警信息了

配置zabbix报警信息

创建action

正常就可以收到告警了

2,通过企业微信给个人发送信息

wget https://raw.githubusercontent.com/OneOaaS/weixin-alert/master/weixin_linux_amd64 
cp -rf weixin_linux_amd64 /etc/zabbix/alertscripts/weixin 
chown 755 /etc/alertscripts/weixin 
chown zabbix:zabbix /etc/zabbix/alertscripts/weixin

测试

/etc/zabbix/alertscriptsweixin –corpid=xxxxxxxxxx
corpsecret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx –msg=”您好告警测试” –user=xxxxxxxxxxx –agentid=xxxxxxxxxxxxx
返回数据:
{“errcode”:0,”errmsg”:”ok”,”invaliduser”:”“}

zabbix告警配置

配置的user就可以收到告警信息了

此条目发表在zabbix分类目录。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注