pond2539 发表于 2019-1-21 10:04:08

zabbix利用微信企业号实现报警功能

注册微信企业账号比较简单,不进行讲解
1,通讯录添加企业成员
我们要提前把成员信息添加进组织部门,必填项+手机号或者微信号,这样别人扫描二维码的时候才能成功关注企业号。

注意:这里要记住一个值,部门IDhttps://s2.运维网.com/wyfs02/M02/8E/AE/wKiom1jI22jxU8-yAABNyvavPB8302.png-wh_500x0-wm_3-wmp_4-s_690036844.png

2,应用中心创建应用
我们要在这里创建应用,因为要通过应用发送消息给部门成员.
注意:这里要记住一个值,应用IDhttps://s5.运维网.com/wyfs02/M01/8E/AC/wKioL1jI2-ujB9KcAALrcTfrphY102.png-wh_500x0-wm_3-wmp_4-s_1584556867.png
https://s5.运维网.com/wyfs02/M02/8E/AE/wKiom1jI3LeQbppWAACt_CYeQHM119.png-wh_500x0-wm_3-wmp_4-s_3894871096.png

https://s3.运维网.com/wyfs02/M00/8E/AE/wKiom1jI3MnAQG2eAACSgQ7diWM528.png-wh_500x0-wm_3-wmp_4-s_4005709264.pnghttps://s3.运维网.com/wyfs02/M01/8E/AE/wKiom1jI3NHh_ddGAAF553gmAWY611.png-wh_500x0-wm_3-wmp_4-s_1107294333.png
3,给部门设置管理员
设置--->功能设置---->权限管理---->新建管理组
管理员必须事先已经关注了企业号
注意:管理组权限设置很重要,不设置后面会出问题!https://s4.运维网.com/wyfs02/M00/8E/AC/wKioL1jI3gjwTvJaAAD7ME5JZ0o436.png-wh_500x0-wm_3-wmp_4-s_1534255069.png
https://s3.运维网.com/wyfs02/M01/8E/AE/wKiom1jI3ibCg9MrAACMZWXKg_A509.png-wh_500x0-wm_3-wmp_4-s_3630571604.png
https://s1.运维网.com/wyfs02/M01/8E/AC/wKioL1jI3jbykWiUAAEDFLrndaY907.png-wh_500x0-wm_3-wmp_4-s_512680891.png
4,微信企业号信息统计
我们要准备这些东西:

[*]  一个微信企业号
[*]  企业号已经被部门成员关注
[*]  企业号里有一个可以发消息的应用
[*]  一个授权管理员,可以使用该应用给成员发消息
我们要取到这些信息:

[*]  成员账号
[*]  组织部门ID
[*]  应用ID
[*]  CropID
[*]  Secret
5,shell脚本
编写Shell脚本https://s1.运维网.com/wyfs02/M02/8E/AC/wKioL1jI3uzh1E5hAAARW2yC8GM991.png-wh_500x0-wm_3-wmp_4-s_1410763270.png

  #!/bin/bash
CropID='XXXXXXXX'
Secret='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
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   部门成员id,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

6,shell脚本放到位置
将脚本放入zabbix默认Alert Script执行路径下
chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendwechant.sh
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendwechant.sh
  测试脚本是否正确
#./sendwechant.sh test abcdefghijklmnopqrstuvwsyzhttps://s5.运维网.com/wyfs02/M01/8E/AE/wKiom1jI35yiusiHAAAVDcUIk7M960.png-wh_500x0-wm_3-wmp_4-s_1064370472.png
https://s1.运维网.com/wyfs02/M01/8E/AC/wKioL1jI36iwKSoLAABtJVITdeI980.png-wh_500x0-wm_3-wmp_4-s_1118938469.png
7,Zabbix服务器设置
创建媒介
https://s4.运维网.com/wyfs02/M01/8E/AE/wKiom1jI4Jyy9qpHAABmthnBCus786.png-wh_500x0-wm_3-wmp_4-s_2471194209.png
8,创建用户并关联媒介
https://s1.运维网.com/wyfs02/M00/8E/AE/wKiom1jI4LigdSGvAAEqMeTJEpI981.png-wh_500x0-wm_3-wmp_4-s_3577879498.png
9,创建触发器动作发送内容
https://s4.运维网.com/wyfs02/M00/8E/AE/wKiom1jI4S_ggwArAADGV-autpc417.png-wh_500x0-wm_3-wmp_4-s_2924072343.png
https://s5.运维网.com/wyfs02/M01/8E/AC/wKioL1jI4TzCH1qeAADlRY5Dyak893.png-wh_500x0-wm_3-wmp_4-s_2336469352.png
  10,测试微信及邮件是否可以收到报警
https://s2.运维网.com/wyfs02/M02/8E/AE/wKiom1jI4kawj0kCAAF4a5l2UFA383.png-wh_500x0-wm_3-wmp_4-s_1220859558.png
https://s3.运维网.com/wyfs02/M00/8E/AE/wKiom1jI4kagTZttAABs2OIi4Tw598.png-wh_500x0-wm_3-wmp_4-s_2718098242.png
https://s2.运维网.com/wyfs02/M02/8E/AC/wKioL1jI4kajNSQ8AABnhuMnONI635.png-wh_500x0-wm_3-wmp_4-s_3542970915.png
  

  

  

  

  

  

  

  

  

  

  

  

  

  




页: [1]
查看完整版本: zabbix利用微信企业号实现报警功能