zabbix php微信报警,用微信企业号实现Zabbix微信报警

1、微信企业号注册

企业号注册:https://qy.weixin.qq.com/选择企业号.

期间会让你输入你的邮箱和绑定你的微信

注册成功后,登陆–应用中心–新建应用–消息型应用

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

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

011817_0342_Zabbix2.png

011817_0342_Zabbix3.png

设置—>功能设置—->权限管理—->新建管理组

管理员必须事先已经关注了企业号,并且已经设置好邮箱地址

新建用户组,并把Corpid 和Secret记下来

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

011817_0342_Zabbix4.png

我们要准备这些东西:

一个微信企业号

企业号已经被部门成员关注

企业号里有一个可以发消息的应用

一个授权管理员,可以使用该应用给成员发消息

我们要取到这些信息:

成员账号

组织部门ID

应用ID

CropID

Secret

打开http://qydev.weixin.qq.com/debug

Shell脚本原理

使用:

curl -s -Gurl获取 AccessToken

使用:

curl –dataurl传送凭证调用企业号接口

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

[root@zabbix-server ~]# find / -name “alertscripts” -type d ##查找下alertscripts路径

/usr/lib/zabbix/alertscripts

[root@zabbix-server ~]# vi /etc/zabbix/zabbix_server.conf ##在 zabbix_server.conf 添加alertscripts脚本路径

AlertScriptsPath=/usr/lib/zabbix/alertscripts

[root@zabbix-server ~]# vi /usr/lib/zabbix/alertscripts/weixin.sh

#!/bin/bash

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

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

# Functions: send messages to wechat app

# set variables

CropID=’wx393fc846aedxxxxx‘

Secret=’6OtQyX_yRRXYS1Ivlv7xSM9mlr7Hu06JU4FAQ23iynIf_8j2y3un7aWglLExxxxx‘

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=2#企业号中的应用id

local UserID=”kai” #部门成员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 $! $2 $3)” $PURL

#http://qydev.weixin.qq.com/wiki/index.php?title=消息类型及数据格式

授权

[root@zabbix-server]# chown zabbix:zabbix /usr/lib/zabbix/alertscripts/weixin.sh

[root@zabbix-server]# chmod +x /usr/lib/zabbix/alertscripts/weixin.sh

#测试:

[root@zabbix-server alertscripts]# bash weixin.sh test hello.world!{“errcode”:0,”errmsg”:”ok”,”invaliduser”:”all user invalid”}

011817_0342_Zabbix6.png

微信成功收到消息

#修改zabbix_server.conf文件,添加以下(脚本执行目录)

[root@zabbix-server]# vi /etc/zabbix/zabbix-server.conf

##weixin##

AlertScriptsPath=/usr/lib/zabbix/alertscripts

Zabbix-web前端设置

管理–报警媒介类型–创建媒体类型

011817_0342_Zabbix7.png

管理—用户

011817_0342_Zabbix8.png

011817_0342_Zabbix9.png

配置—动作—创建动作

名称Report problems to test-msg

告警主题:

Default subject:{TRIGGER.STATUS}: {TRIGGER.NAME}

Trigger host:{HOSTNAME}

Trigger ip:{HOST.IP}

Trigger time:{EVENT.DATE}:{EVENT.TIME}

Trigger: {TRIGGER.NAME}

Trigger status: {TRIGGER.STATUS}

Trigger severity: {TRIGGER.SEVERITY}

Trigger URL: {TRIGGER.URL}

Item values:

{ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}

{ITEM.NAME2} ({HOST.NAME2}:{ITEM.KEY2}): {ITEM.VALUE2}

Original event ID: {EVENT.ID}

恢复主题:

Default subject:{TRIGGER.STATUS}: {TRIGGER.NAME}

Trigger host:{HOSTNAME}

Trigger ip:{HOST.IP}

Trigger time:{EVENT.DATE}:{EVENT.TIME}

Trigger: {TRIGGER.NAME}

Trigger status: {TRIGGER.STATUS}

Trigger severity: {TRIGGER.SEVERITY}

Trigger URL: {TRIGGER.URL}

Item values:

{ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}

{ITEM.NAME2} ({HOST.NAME2}:{ITEM.KEY2}): {ITEM.VALUE2}

Original event ID: {EVENT.ID}

011817_0342_Zabbix10.png

你也可以改成中文

Default subject:{TRIGGER.STATUS}: {TRIGGER.NAME}

报警主机:{HOSTNAME}

报警 ip:{HOST.IP}

报警时间:{EVENT.DATE}:{EVENT.TIME}

触发器名称: {TRIGGER.NAME}

触发器状态: {TRIGGER.STATUS}

触发器等级: {TRIGGER.SEVERITY}

Trigger URL: {TRIGGER.URL}

Item values:

{ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}

{ITEM.NAME2} ({HOST.NAME2}:{ITEM.KEY2}): {ITEM.VALUE2}

Original event ID: {EVENT.ID}

最后重启下

检验:

你在监控的主机下面

新建个比较敏感的触发器,然后就坐等~~

011817_0342_Zabbix14.jpg

收到了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值