zabbix使用企业微信发消息

今天帮一个朋友调试zabbix使用企业微信发消息,发现微信

企业号

大改版了,所以把整个过程做个简单记录,分享给大家。


首先,你需要注册一个企业微信,http://work.weixin.qq.com/


zabbix使用企业微信发消息


接收消息有2种方式,一是用企业微信,二是用个人微信(需要关注企业号,需要登录扫描下图邀请关注的二维码):


zabbix使用企业微信发消息


官方api说明


地址:http://work.weixin.qq.com/api/doc#10167


整体过程


一:创建自建应用「报警」,然后用公司corpid和

企业应用secret获取token,http://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid&

corpsecret

=$

corpsecret


二:带着token、touser、agentid、content等参数,向接口http://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$token 进行post数据


一、创建自建应用


zabbix使用企业微信发消息

自建应用里会生成AgentId和Secret

zabbix使用企业微信发消息



二、首先测试连接


地址:http://work.weixin.qq.com/api/devtools/devtool.php


corpid在「我的企业」最下面显示,corpsecret就是上面的企业应用里的Secret的值


zabbix使用企业微信发消息


如果有返回一个access_token值,就说明没问题


在zabbix里生成发送脚本


发送消息例子:

zabbix使用企业微信发消息

zabbix使用企业微信发消息


具体的代码如下:


#!/bin/bash

access_token=$(/usr/bin/curl -s -G "http://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=

xxxxxxxxx

&corpsecret=

xxxxxxxxxxxx

" | awk -F\" "{print $10}")

#红色xxxx部分修改为你自己的

 

function body() {

        local UserID="$1"

        local PartyID=""

        local AppID="1000002"

        local Msg="$2"

        printf "{\n"

        printf "\t"touser": """$UserID"\"",\n"

        printf "\t"toparty": """$PartyID"\"",\n"

        printf "\t"msgtype": "text",\n"

        printf "\t"agentid": """$AppID"\"",\n"

        printf "\t"text": {\n"

        printf "\t\t"content": """$Msg"\""\n"

        printf "\t},\n"

        printf "\t"safe":"0"\n"

        printf "}\n"

}


/usr/bin/curl -- src="http://img5.shadafang.com/img.php?http://mmbiz.qpic.cn/mmbiz_png/tzia4bcY5HELnaNJfwicib94ibt0a3R6Md2oKqibfAXoczrfd9KibNWywtdWibEdqMlBXDgFaNqYTtCXVzicFPqxMSvL5Q/s640?wx_fmt=png">