zabbix3.0微信报警配置

本文介绍如何在CentOS 6.5环境下配置Zabbix 3.0.5版本,实现通过微信企业号发送报警信息。主要内容包括申请微信企业号、配置权限、编写Shell脚本、设置zabbix_web前端等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、系统环境

操作系统:centos6.5

Zabbix版本:3.0.5

事先安装并启动zabbix_server

 

二、申请微信企业号

https://qy.weixin.qq.com/ 

2.1申请企业号(步骤省略)

选择类型企业号

主体类型为团队

2.2新建组织机构并添加企业成员

在组织架构中新建一个部门

 

新增成员并关注企业号

2.3新建消息应用

应用中心添加应用

消息型应用

 

记住该应用ID号

 

2.4权限配置

设置  权限管理   新建管理组

添加管理员(企业号创建者无法管理)

 

记住corpid和Secret

2.5微信接口调用

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

通过CorpID和Secret可以获得access_token

微信企业号接口调试地址: http://qydev.weixin.qq.com/debug

输入CorpID和Secret得到红框内的返回值代表连接成功

三、脚本配置

3.1编写shell脚本

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

#!/bin/bash

CropID='xxxxxxxxxx'

Secret='xxxxxxxxxx'

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="zabbix"                #部门成员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

红色字体按实际情况配置

3.2配置权限

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

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

测试脚本

cd /usr/local/zabbix/share/zabbix/alertscripts/

bash weixin.sh test "微信报警"(微信能收到消息)

 

3.3脚本调用

vim /usr/local/zabbix/etc/zabbix_server.conf

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

 

 

四、zabbix_web前段配置

创建媒体类型

 

用户添加报警媒介

创建触发器动作

 

 

 

 

告警主题:

{TRIGGER.STATUS}: {TRIGGER.NAME}

\n主机名:{HOSTNAME}

ip地址:{HOST.IP}

触发时间:{EVENT.DATE}  {EVENT.TIME}

事件: {TRIGGER.NAME}

状态: {TRIGGER.STATUS}

事件ID: {EVENT.ID}

 

恢复主题:

\n主机名:{HOSTNAME}

ip地址:{HOST.IP}

触发时间:{EVENT.DATE}  {EVENT.TIME}

事件: {TRIGGER.NAME}

状态: {TRIGGER.STATUS}

事件ID: {EVENT.ID}

 

到这一步就配置完成了,下面进行测试

关闭某台win服务器的agent服务或某个磁盘剩余空间小于20%

 

 

转载于:https://www.cnblogs.com/guanxiao/p/6065648.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值