zabbix微信报警

1、申请微信企业号

微信申请企业号(点击申请)

1.1.通讯录添加企业成员

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

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

部门ID

部门成员账号

2.1.应用中心创建应用

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

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

新建应用.jpg

选择应用类型.jpg

创建应用.jpg

应用ID.jpg

2.2.给部门设置管理员

设置--->功能设置---->权限管理---->新建管理组
管理员必须事先已经关注了企业号

注意:管理组权限设置很重要,不设置后面会出问题!

新建管理组.jpg

管理组基本信息.jpg

管理组权限.jpg

确定管理员可以读取通讯录,可以使用应用发消息。

     注意:我们需要管理员的CorpID和Secret

CorpID和Secret.jpg

2.3微信企业号信息统计

我们要准备这些东西:

  • 一个微信企业号
  • 企业号已经被部门成员关注
  • 企业号里有一个可以发消息的应用
  • 一个授权管理员,可以使用该应用给成员发消息

我们要取到这些信息:

  • 成员账号
  • 组织部门ID
  • 应用ID
  • CropID
  • Secret

3. 微信接口调用测试

如何调用微信接口?

     调用微信接口需要一个调用接口的凭证:access_token

     通过 :CropID 、Secret 才能获取到access_token,但是获取到的token有效期为两分钟

微信企业号接口调试工具( http://qydev.weixin.qq.com/debug

 

4.调用微信接口的shell脚本

设置脚本执行路径,编辑zabbix_server.conf文件,添加一行   (路径根据自己情况定)

AlertScriptsPath=/opt/zabbix/share/zabbix/alertscripts

#重启zabbix-server服务

使用:  -s -G url 获取 AccessToken

使用: curl --data url 传送凭证调用企业号接口

zabbix会传递三个参数给脚本,$1是消息接收账号,$2报警标题,$3报警内容

4.1 shell脚本

#!/bin/bash   必须要写 否则zabbix action不会调用脚本

#!/bin/bash###SCRIPT_NAME:weixin.sh######send message from weixin for zabbix monitor######wuhf######V1-2015-08-25###

CropID=‘xxxxxx‘
Secret=‘xxxxxx‘
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=3                        企业号中的应用id
        local UserID=$1                          部门成员id,zabbix中定义的微信接收者
        local PartyID=1                          部门id,定义了范围,组内成员都可接收到消息
        local Msg=$(echo "[email protected]" | 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

mv weixin.sh /usr/local/zabbix/share/zabbix/alertscripts

chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh

chmod +x /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh

#测试:执行./wechat.sh 1 1 test看自己微信是否能收到东西。($1是消息接收账号,$2报警标题,$3报警内容)

5、zabbix-web前端设置

5.1设置通知媒介

5.2创建用户

5.3、创建触发动作及发送内容

6、测试微信告警发送(zabbix-agent stop 即可)

#############

问题:

1、{"errcode":82001,"errmsg":"All touser & toparty & totag invalid”} (权限问题)

在微信后台配置:设置 -> 权限管理 -> 应用权限, 添加要主动发消息的应用到 应用权限中

或     应用中心->zabbix报警->看见范围、应用管理组

7、zabbix触发格式 Default subject:{TRIGGER.STATUS}: {TRIGGER.NAME}:q

服务异常警报\n
/::@/::@/::@/::@/::@/::@/::@/::@  #微信标识符
服务异常警报\n
告警信息:{TRIGGER.NAME}\n
告警主机:{HOSTNAME1}\n
告警时间:{EVENT.DATE} {EVENT.TIME}\n
告警项目:{TRIGGER.KEY1}\n
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}\n
事件ID:{EVENT.ID}\n

服务恢复通知\n
/::B/::B/::B/::B/::B/::B/::B/::B
服务恢复通知\n
恢复信息:{TRIGGER.NAME}\n
恢复主机:{HOSTNAME1}\n
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}\n
恢复项目:{TRIGGER.KEY1}\n
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}\n
事件ID:{EVENT.ID}\n

 

时间: 2024-10-06 19:49:11

zabbix微信报警的相关文章

zabbix微信报警设置

# Zabbix-Alert-WeChat # zabbix微信报警 ### 需要具备一下条件 * 注册微信企业号(团队类型) [点击注册](https://qy.weixin.qq.com/) #### 安装simplejson 3.8.2 ```bash wget https://pypi.python.org/packages/f0/07/26b519e6ebb03c2a74989f7571e6ae6b82e9d7d81b8de6fcdbfc643c7b58/simplejson-3.8.

Zabbix微信报警脚本及写触发记录

一.Zabbix微信报警 默认路径:/usr/lib/zabbix/scripts/weixin.py #!/usr/bin/python # -*- coding: utf-8 -*- import urllib,json import urllib2 import sys import time reload(sys) #print sys.getdefaultencoding() sys.setdefaultencoding('utf8') #print sys.getdefaultenc

zabbix 微信报警设置

#================ 报警方式一 使用微信官方API ========================= 待添加 #================报警方式二 ============================= #安装告警agent wget http://cdn.110monitor.com/open/download/alert-agent-4.0.1-RC2.tar.gz tar -xvf alert-agent-4.0.1-RC2.tar.gz cp -a aler

ZABBIX 微信报警 插件(python无图)

ZABBIX可以实现短信.邮件.微信等各种报警,这三种基本大家都很熟悉, 现在基于微信写py,感觉钉钉的团队是从微信出来的,变量都不改,太懒了,说可以实现微信报警苍老师说过:Life is short,you need python! 1 微信配置 2 程序配置 3 ZABBIX配置 4 效果展现 5 docker环境修改 1.1.1 部门设置 1.1.2 应用设置 1.1.3 权限管理 1.1 注册安装 3.1 报警媒介类型 3.2 配置用户 3.3 动作设置 1 微信配置 微信公众号官网:h

通过脚本发送zabbix微信报警

实现zabbix通过微信报警的方式也是通过脚本来实现,与邮件报警不同的是,脚本调用的微信的相关接口的获取相对复杂一点 1.申请一个微信公众号(企业号) 申请方法不多说,如果已申请请忽略 2.在微信企业号上新建应用 上传应用logo,填写应用名称,应用介绍等 应用创建完之后查看并启用应用,同时会生成应用的AgentId以及Secret,这个在后面步骤会有用 3.接口调用测试 点击:API文档-->开发者工具-->接口调试工具,找不到就直接点这个地址 http://work.weixin.qq.c

(五)zabbix微信报警

1.注册微信企业号 1)注册微信企业号 https://work.weixin.qq.com 2)通讯录添加用户 3)记住部门id 4)创建应用 5)点击刚创建的应用,记住Agentld和secret 6)微信关注这个企业号,获取更多尺寸关注 点击关注 7)测试向关注的用户发送信息 微信能够正常接收到消息 8)获取CorpID 2.python脚本 获取脚本文件目录位置 #grep alertscripts /etc/zabbix/zabbix_server.conf AlertScriptsP

zabbix 微信报警

说明:zabbix发送报警时有三个参数,暂且用$1,$2,$3来表示,分别对应的是"接收人","主题","消息" 在zabbix3.0的报警媒介类型里,有个脚本参数设置,可设置成{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE},分别对应$1,$2,$3 以下是相关脚本,用python编写 #!/usr/bin/python import urllib import json import sys Cor

zabbix 微信报警脚本

#! /bin/bash userid=$1 content=$2 python /data/zabbix/alertscripts/weixin.py $userid $content #!/usr/bin/env python # _*_ coding:utf8 _*_ import urllib2 import simplejson as json import sys class weChat: def __init__(self,url,Corpid,Secret): url = '%

【Problem Resolved】zabbix微信报警,一开始可以成功报警,之后报警突然不行

Traceback (most recent call last): File "/usr/lib/zabbix/alertscripts/wechat.py", line 61, in <module> access_token_response = msgsender.geturl(msgsender.gettoken_url, msgsender.gettoken_content) File "/usr/lib/zabbix/alertscripts/wec