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

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

1、申请企业微信

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

2、配置微信企业号

1、创建机器人

在电脑企业微信群创建机器人
在企业微信上创建一个群聊,并添加需要接收告警通知的成员。
在群管理创建一个自定义机器人,并获取其Webhook地址
Zabbix配置企业微信报警机器人_第1张图片

记住该机器人的webhook地址:

Zabbix配置企业微信报警机器人_第2张图片

3、配置zabbix服务器

1、修改zabbix.conf
[root@zabbix-server alertscripts]# grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf | grep AlertScriptsPath
AlertScriptsPath=/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 ")
        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"}

Zabbix配置企业微信报警机器人_第3张图片

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

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

Zabbix配置企业微信报警机器人_第4张图片

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

2、配置告警用户

Zabbix配置企业微信报警机器人_第5张图片

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

Zabbix配置企业微信报警机器人_第6张图片

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

Zabbix配置企业微信报警机器人_第7张图片

故障{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、填写恢复操作信息

Zabbix配置企业微信报警机器人_第8张图片

恢复{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、手动触发告警,测试微信接收信息

在这里插入图片描述

Zabbix配置企业微信报警机器人_第9张图片
成功啦!

你可能感兴趣的:(zabbix,zabbix,企业微信,机器人)