提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

在这篇博客中,探讨如何将 Zabbix 的告警功能与钉钉机器人结合,实现在出现问题时第一时间通过钉钉进行报警。钉钉作为国内广泛使用的企业级通讯工具,凭借其便捷的消息推送和丰富的 API 接口,成为了很多企业运维团队的首选告警通道。通过配置 Zabbix 与钉钉机器人的集成,运维人员能够快速收到系统告警,及时响应和处理潜在问题。


一、创建钉钉机器人

完成之后如下图:

二、编写脚本并测试

# 安装钉钉机器人脚本需要用到的模块
[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给微信群发消息的操作类似,后期再进行补充完善,以上内容仅供参考。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐