12
2024
03
00:48:58

Zabbix配置企业微信报警机器人



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

微信告警机器人是一种可以将Zabbix告警通知发送到微信群或个人微信号的工具。

1、申请企业微信

自己到企业微信官网申请一个账号

2、配置微信企业号

1、创建机器人

在电脑企业微信群创建机器人
在企业微信上创建一个群聊,并添加需要接收告警通知的成员。
在群管理创建一个自定义机器人,并获取其Webhook地址
在这里插入图片描述

记住该机器人的webhook地址:

在这里插入图片描述

3、配置zabbix服务器

1、修改zabbix.conf
[root@zabbix-server alertscripts]# grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf | grep AlertScriptsPathAlertScriptsPath=/usr/lib/zabbix/alertscripts
查看设置的脚本的默认路径,web端就可以在这里获取到脚本了
2、设置脚本

/usr/lib/zabbix/alertscripts创建发送消息的python脚本

vim /usr/lib/zabbix/alertscripts/wechat.py


#!/usr/bin/python

# -*- coding: utf-8 -*-


import requests

import json

import sys


# 机器人的webhook地址

API_URL = "xxx"


# HTTP请求头部信息

HEADERS = {

    'Content-Type': 'application/json;charset=utf-8'

}


# 定义发送消息的函数

def send_text(text):

    # 构建消息体

    texts = {

        "msgtype": "text",

        "text": {

            "content": text

        }

    }

    # 发送HTTP POST请求

    response = requests.post(API_URL, json=texts, headers=HEADERS)

    # 打印响应内容(一般用于调试)

    print(response.content)


# 如果该文件被直接执行,则从命令行接收一个参数并将其发送到机器人的webhook地址

if __name__ == '__main__':

    if len(sys.argv) != 2:

        print("Usage: python send_text.py <text>")

        sys.exit(1)

    text = sys.argv[1]  # 获取命令行参数

    send_text(text)  # 发送消息




3、赋予脚本执行权限

[root@zabbix-server alertscripts]# chmod +x wechat.py
4、执行脚本进行测试
[root@zabbix-server alertscripts]# ./wechat.py 123test{"errcode":0,"errmsg":"ok"}

在这里插入图片描述

4、zabbix web页面配置告警信息

1、管理-报警媒介类型-创建告警媒介

在这里插入图片描述

脚本名称:wechat.py, /usr/lib/zabbix/alertscripts目录下创建的发送消息的python脚本名称

2、配置告警用户

在这里插入图片描述

4、设置告警动作
1、动作信息

在这里插入图片描述

2、填写告警时候操作信息

在这里插入图片描述

故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
3、填写恢复操作信息

在这里插入图片描述

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

完成以上步骤后,当Zabbix监控系统检测到故障或异常时,就会调用企业微信机器人发送告警通知到指定的微信群或个人微信号中。

4、手动触发告警,测试微信接收信息

在这里插入图片描述

在这里插入图片描述
成功啦!


本文链接:https://www.hqyman.cn/post/5401.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: