提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
在这篇博客中,探讨如何将 Zabbix 的告警功能与钉钉机器人结合,实现在出现问题时第一时间通过钉钉进行报警。钉钉作为国内广泛使用的企业级通讯工具,凭借其便捷的消息推送和丰富的 API 接口,成为了很多企业运维团队的首选告警通道。通过配置 Zabbix 与钉钉机器人的集成,运维人员能够快速收到系统告警,及时响应和处理潜在问题。
一、创建钉钉机器人
- 登陆钉钉网页版:阿里巴巴-钉钉,是一个工作方式!超过1000w家企业正在使用钉钉! (或者在windows系统上下载电脑版钉钉)
- 下面以钉钉电脑版为例,配置钉钉群聊机器人
- 在群聊中点击设置===》智能群助手====》添加机器人====》自定义机器人(给机器人取个名字)
完成之后如下图:
二、编写脚本并测试
# 安装钉钉机器人脚本需要用到的模块
[root@zabbixserver ~]# yum install -y python3-requests
# 编写钉钉机器人脚本
[root@zabbixserver ~]# vim /usr/lib/zabbix/alertscripts/dingalert.py
#!/usr/bin/env python3
import json
import requests
import sys
def send_msg(url, remiders, msg):
headers = {'Content-Type': 'application/json; charset=utf-8'}
data = {
"msgtype": "text",
"at": {
"atMobiles": remiders,
"isAtAll": False,
},
"text": {
"content": msg,
}
}
r = requests.post(url, data=json.dumps(data), headers=headers)
return r.text
if __name__ == '__main__':
msg = sys.argv[1]
remiders = []
url = '钉钉机器人Webhook地址' # 注意此处需输入机器人的webhook地址
print(send_msg(url, remiders, msg))
[root@zabbixserver ~]# chmod +x /usr/lib/zabbix/alertscripts/dingalert.py
[root@zabbixserver ~]# /usr/lib/zabbix/alertscripts/dingalert.py 'warn: 测试消息' # 注意消息中要包含关键字warn
{"errcode":0,"errmsg":"ok"}
三.添加报警媒介类型
四、为用户添加报警媒介
五、创建触发器
- 创建触发器,用户数超过55则触发问题
六、创建动作
- 创建动作,用户数超过55则发送钉钉告警消息
七、验证
[root@web1 ~]# for user in user{6..10}; do useradd $user; done
[root@web1 ~]# zabbix_get -s 127.0.0.1 -k usercnt
总结
通过zabbix给微信群发消息的操作类似,后期再进行补充完善,以上内容仅供参考。