sonyet 发表于 2019-1-25 07:49:36

zabbix之微信企业号报警

zabbix之微信企业号报警
  

  参考:
  http://www.cnyunwei.com/thread-29593-1-1.html
     http://xumingjiang.blog.运维网.com/703960/1885229
  

  

  第一步:注册微信企业号
  注册地址:https://qy.weixin.qq.com/
  注册过程:略

  

  

  第二步:操作企业号
  1、通讯录添加企业成员
http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s5.运维网.com/wyfs02/M00/8C/3A/wKioL1hmAGbBrDMcAACpPpwkQnM536.png-wh_500x0-wm_3-wmp_4-s_2344067814.png

  要提前把成员信息添加进组织部门,必填项+手机号或者微信号,这样别人扫描二维码的时候才能成功关注企业号

  这里有两个我们要用到信息,一个组织部门的ID,一个部门成员的账号(账号是自己手动指定的,不同于微信号,最好是字母加数字)

  点击修改部门可以获取部门ID,如下:

http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s4.运维网.com/wyfs02/M01/8C/3E/wKiom1hmAKbRRDf0AAAbkRl96iQ655.png-wh_500x0-wm_3-wmp_4-s_3952743322.png
  以下是部门成员账号:
http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s5.运维网.com/wyfs02/M02/8C/3E/wKiom1hmALOxyffuAAAMRCFskUo522.png-wh_500x0-wm_3-wmp_4-s_164977976.png
  

      2、应用中心创建应用

      我们要在这里创建应用,因为要通过应用发送消息给部门成员

  这里要记住一个值,应用ID

http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s4.运维网.com/wyfs02/M02/8C/3E/wKiom1hmAODjICUsAABbp1FIDys888.png-wh_500x0-wm_3-wmp_4-s_421716096.png
  选择消息类应用
      如下是建好的一个应用:

http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s3.运维网.com/wyfs02/M00/8C/3A/wKioL1hmAQfDDxoCAABEYJKTviE516.png-wh_500x0-wm_3-wmp_4-s_3218309574.png
  

      3、给部门设置管理员

  管理员必须事先已经关注了企业号,并是通讯录中的成员

  设置--->权限管理---->新建普通管理组

  设置完后,我们需要关注两个值,CorpID 和 Secret

http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s4.运维网.com/wyfs02/M00/8C/3E/wKiom1hmAR2z7j7DAACWxAhWzB8459.png-wh_500x0-wm_3-wmp_4-s_704034885.png
  
     4、我们要准备这些东西
  一个微信企业号
  企业号已经被部门成员关注
  企业号里有一个可以发消息的应用    一个授权管理员,可以使用该应用给成员发消息
  
     5、我们要取到这些信息
  成员账号
  组织部门ID
  应用ID
  CropID
  Secret
  
  
  第四步:调用微信接口,编写shell脚本
  1、原理

  调用微信接口需要一个调用接口的凭证:access_token
  通过 :CropID 、Secret才能获取到access_token,但是获取到的token有效期为两分钟
  使用:curl -s -Gurl         获取 AccessToken
      使用:curl --dataurl         传送凭证调用企业号接口
  

  2、shell脚本
# vim wechat.sh
#!/bin/bash
#########################################################################
# File Name: wechat.sh
#########################################################################
# Functions: send messages to wechat app
# set variables

#申请完企业号可以得到CropID和Secret
CropID='wx9ccd6b7ed6bf9e'
Secret='KrxkXdZY8PxPjII1dM_7z2bBTLWj6Nio-bjdxdfnkncLJHTBSq6Q021haHnCx'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
#get acccess_token
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $4}')
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
#
function body() {
local int AppID=1                        #企业号中的应用ID
local UserID=$1                        #部门成员账号,zabbix中定义的微信接收者
local PartyID=2                        #部门ID,定义了范围,组内成员都可接收到消息
local Msg=$(echo "$@" | cut -d" " -f3-)#过滤出zabbix传递的第三个参数
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 $3)" $PURL  zabbix会传递三个参数给脚本,$1是消息接收账号,$2报警标题,$3报警内容

  

  3、zabbix server端配置
# pwd
/usr/local/zabbix/alertscripts
# chmod +x wechat.sh
# ll
total 4
-rwxr-xr-x 1 root root 1335 Dec 30 00:27 wechat.sh# vim /usr/local/zabbix/etc/zabbix_server.conf
#添加报警脚本目录参数
AlertScriptsPath=/usr/local/zabbix/alertscripts# /etc/init.d/zabbix_serverrestart
Shutting down zabbix_server:                              
Starting zabbix_server:                                      

  4、脚本测试

# ./wechat.sh shencj test test1111
{"errcode":0,"errmsg":"ok"}#http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s5.运维网.com/wyfs02/M02/8C/3E/wKiom1hmAfGwWs3PAAAOkdJe5eo594.png-wh_500x0-wm_3-wmp_4-s_1358476616.png
  

  

  

  第五步:zabbix页面配置
http://blog.运维网.com/e/u261/themes/default/images/spacer.gifhttp://s2.运维网.com/wyfs02/M02/8C/3A/wKioL1hmAgiT8WozAABFFq_iWL8728.png-wh_500x0-wm_3-wmp_4-s_595623366.png
http://s3.运维网.com/wyfs02/M00/8C/3A/wKioL1hmAhng1hLiAACDZyFEXV0297.png-wh_500x0-wm_3-wmp_4-s_2361398712.png
http://s4.运维网.com/wyfs02/M01/8C/3E/wKiom1hmAkfQCro1AACgDi6dwFE038.png-wh_500x0-wm_3-wmp_4-s_2402914743.png
http://s5.运维网.com/wyfs02/M02/8C/3A/wKioL1hmAlThQs56AABhYp-G4pM122.png-wh_500x0-wm_3-wmp_4-s_2822659345.png






  第六步:后续添加报警成员
  只需要在通讯录,子部门中新增成员,并且新成员关注企业号即可

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  




kcy2020 发表于 2019-1-25 08:10:59

学习学习
页: [1]
查看完整版本: zabbix之微信企业号报警