Dify zabbix
时间: 2025-08-02 16:01:35 AIGC 浏览: 30
### Dify 与 Zabbix 集成配置指南
Dify 是一个低代码平台,支持快速构建 AI 应用,并提供 Workflow 功能实现自动化流程。Zabbix 是一个广泛使用的开源监控工具,支持实时监控、告警通知和自动化运维。将 Dify 与 Zabbix 结合,可以实现监控数据的可视化处理、自定义告警逻辑和自动化响应机制。
#### 1. 配置 Zabbix 报警媒介
Zabbix 支持通过多种方式发送告警通知,包括邮件、短信、Webhook 等。Dify 可以通过 Webhook 接收 Zabbix 的告警信息并进行处理。
在 Zabbix 中配置 Webhook 通知媒介的步骤如下:
1. 登录 Zabbix Web 管理界面。
2. 导航至 **Administration > Media types**。
3. 点击 **Create media type**。
4. 输入名称,例如 `Dify Webhook`。
5. 在 **Message templates** 标签下选择事件类型(如问题、恢复等),并设置消息格式。
6. 在 **Webhook** 标签中,填写 Dify 提供的 Webhook URL(通常为 Dify Workflow 的 API 地址)。
7. 保存配置。
#### 2. 创建 Zabbix 报警动作
Zabbix 的报警动作用于定义在特定条件下触发哪些操作。
1. 导航至 **Configuration > Actions**。
2. 点击 **Event source: Triggers**,然后点击 **Create action**。
3. 输入动作名称,例如 `Send to Dify`。
4. 在 **Conditions** 标签下设置触发条件,例如选择特定的主机或触发器。
5. 在 **Operations** 标签下添加操作,选择之前创建的 Webhook 媒介。
6. 保存配置。
#### 3. 配置 Dify Workflow 接收 Zabbix 报警
Dify 的 Workflow 支持接收 Webhook 请求,并根据输入数据执行自动化流程。
1. 登录 Dify 控制台。
2. 创建新的 Workflow。
3. 添加 **Webhook Trigger** 节点,设置触发路径(例如 `/zabbix-alleet`)。
4. 添加 **Data Processing** 节点,解析 Zabbix 发送的 JSON 数据。
5. 添加 **Action Nodes**,例如调用企业微信机器人发送消息、记录日志或调用其他 API。
6. 部署 Workflow 并获取 Webhook URL。
7. 将该 URL 填入 Zabbix 的 Webhook 媒介配置中。
#### 4. 示例:Zabbix 告警转发至企业微信
Zabbix 触发告警后,通过 Webhook 将信息发送到 Dify,Dify 解析后调用企业微信机器人 API 发送消息。
以下是一个简单的 Python 脚本示例,用于模拟 Dify Workflow 接收 Zabbix 告警并转发至企业微信:
```python
import requests
import json
from flask import Flask, request
app = Flask(__name__)
# 企业微信机器人 Webhook URL
wechat_webhook_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your-webhook-key"
@app.route('/zabbix-alleet', methods=['POST'])
def handle_zabbix_alleet():
data = request.json
alleet_subject = data.get('subject', 'Zabbix Alert')
alleet_message = data.get('message', 'No message provided')
# 构建企业微信消息体
wechat_message = {
"msgtype": "text",
"text": {
"content": f"【Zabbix 告警】\n主题: {alleet_subject}\n内容: {alleet_message}",
"mentioned_list": ["@all"] # 可选:指定提醒的成员
}
}
# 发送消息到企业微信
response = requests.post(wechat_webhook_url, data=json.dumps(wechat_message))
return response.text, response.status_code
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
```
启动该服务后,Zabbix 的 Webhook URL 应设置为 `http://<your-dify-server>:5000/zabbix-alleet`。
#### 5. 测试与验证
1. 在 Zabbix 中手动触发一个测试告警。
2. 检查 Dify 的 Workflow 日志,确认是否成功接收 Webhook 请求。
3. 查看企业微信是否收到告警消息。
4. 如有异常,检查 Zabbix 的 Webhook 配置、Dify 的 Workflow 设置以及网络连通性。
通过以上步骤,可以实现 Zabbix 与 Dify 的集成,提升运维自动化水平[^1]。
---
阅读全文
相关推荐



















