您现在的位置:首页 > 运维监控 > Zabbix

Zabbix配置企业微信告警

一、企业微信申请与配置 申请地址:https://work.weixin.qq.com/ 1、填写企业信息注册企业微信: 2、创建部门并将用户移动到创建的部门并记录部门ID 3、创建配置微信应用 4、保存企业ID 二、配置Zabbix服务器 1、查看zabbix_server.conf配置文件中告警脚本存放位置 [root@zabbix ~]# find / -name 'a

一、企业微信申请与配置

申请地址:https://work.weixin.qq.com/

1、填写企业信息注册企业微信:

2、创建部门并将用户移动到创建的部门并记录部门ID

3、创建配置微信应用


4、保存企业ID

二、配置Zabbix服务器

1、查看zabbix_server.conf配置文件中告警脚本存放位置

[root@zabbix ~]# find / -name "alertscripts"
/usr/local/zabbix/share/zabbix/alertscripts

2、配置微信告警API调用脚本,根据第一章节的参数进行填写

cd /usr/local/zabbix/share/zabbix/alertscripts
vim weixin.sh
#!/bin/bash
CropID='*****************'                    #填写企业ID
Secret='*****************************'        #填写应用的Secret ID
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"      
#Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $4}')
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() {
        local int AppID=1000002               		 #填写创建的应用ID 
        local UserID=$1                              #接收消息用户,系统传参,无需更改
        local PartyID=2                              #接收消息的部门ID
        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

3、配置脚本权限

chown zabbix:zabbix weixin.sh
chmod 755 weixin.sh

4、配置告警媒介

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

5、创建告警用户、添加报警媒介、权限


6、创建动作(触发器、操作动作、恢复动作)


标题内容:
{HOST.NAME}产生告警!
消息内容:
告警服务器组: {TRIGGER.HOSTGROUP.NAME}
告警服务器: {HOST.NAME}
服务器IP: {IPADDRESS}
时间: {EVENT.DATE} {EVENT.TIME}
等级: {TRIGGER.SEVERITY}
信息: {TRIGGER.NAME}
详情: {ITEM.NAME}:{ITEM.VALUE}
状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID: {EVENT.ID}

标题内容:
{HOST.NAME}恢复!
消息内容:
恢复服务器组: {TRIGGER.HOSTGROUP.NAME}
恢复服务器: {HOST.NAME}
服务器IP: {IPADDRESS}
时间: {EVENT.DATE} {EVENT.TIME}
等级: {TRIGGER.SEVERITY}
信息: {TRIGGER.NAME}
详情: {ITEM.NAME}:{ITEM.VALUE}
状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID: {EVENT.ID}

7、触发告警测试
通过重启服务器,灯操作触发告警就可以看到微信发送的信息。

然后可以在动作日志中看到

三、消息发送问题定位

我们在配置过程中可能会出现各种问题,分享两个发送消息的问题排查手法,来帮助定位问题。

1、通过报警媒介测试告警发送

2、通过Shell脚本测试消息发送
执行命令:sh weixin.sh hello hello hello

版权所有
侵权必究

上一篇
yum安装Zabbix-agent配置
下一篇
Zabbix图形中文乱码问题(显示口口)解决办法