zabbix3.4搭建微信报警

  身为小白的我在历经被百度查到的资料坑了无数次之后,终于找到了一个正确的文档,下面是我自己的对于安装过程的理解与阐述。

一、申请微信企业号,获取以下数据。

企业ID:(在我们企业最下方可以看到)

应用的AgentId与Secret:(在点击新建的应用后可以看到该信息)

二、配置zabbix-server端

1.编写微信报警脚本

微信脚本的位置在zabbix-server的配置文件中有,当然也可以手动修改配置文件中的路径,脚本名称weixin.py,以下为脚本内容:

#!/bin/bash

CorpID="********"                   #我的企业下面的CorpID
Secret="***************"            #创建的应用那有Secret
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret"
Token=$(/usr/bin/curl -s -G $GURL |awk -F\": '{print $4}'|awk -F\" '{print $2}')
#echo $Token
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token"
 
function body(){
        local int agentid=1000066   #改为AgentId 在创建的应用那里看
        local UserID=$1             #发送的用户位于$1的字符串
        local PartyID=35            #第一步看的通讯录中的部门ID
        local Msg=$(echo "$@" cut -d" " -f3-)
        printf '{\n'
        printf '\t"touser": "'"$UserID"\"",\n"
        printf '\t"toparty": "'"$PartyID"\"",\n"
        printf '\t"msgtype": "text",\n'
        printf '\t"agentid": "'"$agentid"\"",\n"
        printf '\t"text": {\n'
        printf '\t\t"content": "'"$Msg"\""\n"
        printf '\t},\n'
        printf '\t"safe":"0"\n'
        printf '}\n'
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
测试 bash wechat.sh dairan 告警测试 注意这是一条告警测试信息

2.zabbix配置

(1)在管理->报警媒介类型->创建媒体类型 

名称自己定义,类型选择脚本脚本名称与上面创建的微信脚本名称相同,脚本参数我使用了三个依次为

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

完成后点击添加即可。

(2).在配置->动作->创建动作 

需要注意的是填写操作内容时添加按钮是否整个动作的添加还是单个操作的添加。

(3).给用户添加报警媒介 管理->用户->报警媒介

这里需要注意收件人是企业微信号中通讯录的用户账号。

笔者使用的文档如下

https://blog.csdn.net/yanggd1987/article/details/80093310

posted @ 2018-10-30 21:44  爱小冉的小江  阅读(370)  评论(0)    收藏  举报