zabbix配置微信告警

1、进入web页面,创建主机

在这里插入图片描述

2. 申请企业微信

(1)注册企业微信号

首先申请微信企业号: https://qy.weixin.qq.com/
在这里插入图片描述

(2)注册后 添加一个子部门,此时默认部门ID为2

在这里插入图片描述

(3)然后自建一个应用程序

在这里插入图片描述
在这里插入图片描述

(4)然后点击应用与小程序查看AgentID和SecretID,点击我的企业,企业信息可以查看企业ID即CropID并记录下来

在这里插入图片描述
在这里插入图片描述

(5)然后打开 https://work.weixin.qq.com/api/devtools/devtool.php测试是否ok

在这里插入图片描述

3. 设置微信报警

<一>Shell脚本设置

<1>脚本编写及授权

[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix alertscripts]# vim weixin.sh

#!/bin/bash
###SCRIPT_NAME:wechat.sh###
###send message from weixin for zabbix monitor###

CropID='此处填写上面获取到的CorpID'
Secret='此处填写应用的Secret'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $10}')

PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"

function body() {
        #企业号中的应用id
        local int AppID=这里填写AgentID
        #部门成员id,zabbix中定义的微信接收者
        local UserID=$1
        #部门id,定义了范围,组内成员都可接收到消息
        local PartyID=2     
        #过滤出zabbix传递的第三个参数
        local Msg=$(echo "$@" | cut -d" " -f3-)
        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## 

[root@zabbix alertscripts]# chown zabbix.zabbix weixin.sh 
[root@zabbix alertscripts]# chmod 744 weixin.sh 

<2>测试

[root@zabbix alertscripts]# ./weixin.sh limingfan test test 
{"errcode":0,"errmsg":"ok","invaliduser":""}

<二>zabbix网页端设置

<1>设置报警媒介类型

在这里插入图片描述

脚本参数为

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

<2>然后添加一个用于报警的用户

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<3>创建触发器动作

在这里插入图片描述

<4>操作,恢复操作都需设置发送消息到用户weixin

在这里插入图片描述

服务器发生故障!
\n
\n告警服务器:{HOSTNAME1}
\n告警服务器IP地址:{HOST.CONN}
\n告警时间:{EVENT.DATE} {EVENT.TIME}
\n告警等级:{TRIGGER.SEVERITY}
\n告警信息: {TRIGGER.NAME}
\n告警项目:{TRIGGER.KEY1}
\n问题详情:{ITEM.NAME}:{ITEM.VALUE}
\n发生: {TRIGGER.NAME}故障!
\n当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
\n事件 ID:{EVENT.ID}

服务器故障已恢复!
\n
\n告警服务器:{HOSTNAME1}
\n告警服务器IP地址:{HOST.CONN}
\n告警时间:{EVENT.DATE} {EVENT.TIME}
\n告警等级:{TRIGGER.SEVERITY}
\n告警信息: {TRIGGER.NAME}
\n告警项目:{TRIGGER.KEY1}
\n问题详情:{ITEM.NAME}:{ITEM.VALUE} {TRIGGER.NAME}已恢复!
\n当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
\n事件 ID:{EVENT.ID}

<5>普通微信接收

通过二维码分享

猜你喜欢

转载自blog.csdn.net/weixin_44321163/article/details/107894119