ZABBIX4.0 微信告警

简介: ZABBIX4.0 微信告警

使用微信告警,需要用到企业微信中的应用功能,类似于钉钉报警的小机器人,它会像公众号一样的,推送消息

1.首先申请一个微信公众号: https://qy.weixin.qq.com/

2.然后自建一个应用程序

1675175493073.jpg

需要记录以下信息:


①Agentld:1000002


② Secret:0U4JRxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

1675175540296.jpg

zabbix-server服务端配置脚本


查找zabbix_server.conf配置文件位置,修改(已存在可不修改)

1675175559710.jpg

然后进入该目录,配置脚本

[root@zabbix alertscripts]# cd /data/findsec/zabbix/share/zabbix/alertscripts
[root@zabbix alertscripts]# ls
sendmail.sh  wechat.sh
[root@zabbix alertscripts]# cat wechat.sh
#!/bin/bash
###SCRIPT_NAME:wechat.sh###
###send message from weixin for zabbix monitor###
CropID='wwb2146de7799db779'   #Agentld ID号
Secret='0U4JRmxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'   #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 $10}')
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
function body() {
        #企业号中的应用id
        local int AppID=1000002   #此项不明,我这里写的1000002也能成功
        #部门成员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 wechat.sh
[root@zabbix alertscripts]# chmod 744 wechat.sh


配置完成后,无需重启server服务


直接测试

[root@zabbix alertscripts]# ./wechat.sh dongweizhen test test
{"errcode":0,"errmsg":"ok. Warning: wrong json format. ","invaliduser":""}

再查看手机企业微信,发现已经有了信息

1675176161384.jpg


接下来的步骤就是跟配置邮箱告警类似了

1675176173672.jpg

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


添加一个用户,群组很重要,关系到监控主机

1675176186316.jpg

添加用户的报警媒介,这里的收件人需要和脚本中定义的收件人对应,都为1

1675176197284.jpg

1675176203227.jpg

需要注意的是用户组ops中有GIS主机组,如果没有对GIS主机组有读写的权限,告警信息是发送不出去的

1675176210926.jpg

1675176220324.jpg

到这里,就配置结束了,模拟告警,可以看到企业微信中自己创建的应用程序返回信息了

1675176227790.jpg

相关文章
|
监控 机器人 Python
Zabbix实现钉钉群告警
Zabbix实现钉钉群告警
|
6月前
|
监控
一文吃透企业级elk技术栈:9. zabbix结合logstash告警
一文吃透企业级elk技术栈:9. zabbix结合logstash告警
|
6月前
|
监控 机器人 Shell
Nightingale——夜莺监控系统部署企业微信机器人告警系【四】
Nightingale——夜莺监控系统部署企业微信机器人告警系【四】
223 1
Nightingale——夜莺监控系统部署企业微信机器人告警系【四】
|
9月前
|
Prometheus Cloud Native Linux
Linux|centos7下部署安装alertmanager并实现邮箱和微信告警(基础篇---三)
Linux|centos7下部署安装alertmanager并实现邮箱和微信告警(基础篇---三)
495 0
|
9月前
|
Prometheus 监控 Cloud Native
Linux|centos7下部署安装alertmanager并实现邮箱和微信告警(基础篇---二)
Linux|centos7下部署安装alertmanager并实现邮箱和微信告警(基础篇---二)
414 0
|
监控 NoSQL Redis
【Zabbix】Zabbix微信告警配置演示(下)
【Zabbix】Zabbix微信告警配置演示(下)
168 0
|
监控
【Zabbix】Zabbix微信告警配置演示(上)
【Zabbix】Zabbix微信告警配置演示
181 0
|
8月前
|
运维 Serverless API
Serverless 应用引擎产品使用合集之sls日志告警调用函数计算,出现抛出的结果异常,是什么原因
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
运维 监控 安全
SLS告警通知到Line
Line是一款由NHN Japan(韩国Naver Corporation公司的子公司)在日本推出的即时通信软件,在日韩拥有较大的用户规模。Line支持构建机器人,并且通过API给机器人推送消息,添加了机器人的用户以及群聊就可以接收到机器人推送的消息。但是由于Line的服务器位于海外,SLS的告警无法直接发送通知。因此本文介绍了如何利用阿里云的其他服务来将SLS的告警通知到Line。
577 2
|
9月前
|
机器学习/深度学习 运维 监控
用SLS配置日志关键字告警的N种方法
本文由日志关键词告警出发,介绍了使用SLS进行关键词监控告警配置,并且介绍了几种常见的配置方法,可以覆盖关键词监控的大部分场景。
471 0
用SLS配置日志关键字告警的N种方法

热门文章

最新文章

推荐镜像

更多