zabbix使用企业微信发消息

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

官方api说明

整体过程

一:创建自建应用「报警」,然后用公司corpid和企业应用secret获取token,https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid&corpsecret=$corpsecret

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

一、创建自建应用

自建应用里会生成AgentId和Secret

二、首先测试连接

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

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

在zabbix里生成发送脚本

发送消息例子:

具体的代码如下:

#!/bin/bash

access_token=$(/usr/bin/curl -s -G "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxxxxxxx&corpsecret=xxxxxxxxxxxx" | awk -F\" '')

#红色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 --data-ascii "$(body $1 $2)" "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$access_token"

测试

注意:账号在企业微信「通讯录」里指用户账号,是一个唯一值,不能用姓名和英文名。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180427G0H3GS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券