跳到主要内容
版本:v1.7.x

HertzBeat AI 智能助手用户指南

HertzBeat AI 智能助手是一个智能监控 AI 助手,通过自然语言对话帮助您管理监控器、配置告警并优化基础设施监控。

概述

HertzBeat AI 智能助手功能提供了一个交互式聊天界面,您可以:

监控器管理:

  • 🔍 按状态、类型、主机和标签查询和过滤现有监控器
  • ➕ 为网站、API、数据库和服务添加新的监控器
  • 📊 获取可用监控器类型及其参数的详细信息
  • ⚡ 检查监控器状态并排除监控问题

告警管理:

  • 🚨 通过综合过滤(类型、状态、搜索)查询活跃告警
  • 📈 获取告警摘要统计和分布
  • 🔔 查看单个和分组告警
  • 📋 分析告警模式和趋势

指标分析:

  • 📊 检索任何监控器的实时指标数据
  • 📈 访问可自定义时间范围的历史指标
  • 💾 检查仓库存储系统状态
  • 🔍 查询特定指标字段和标签

告警规则管理:

  • ⚙️ 配置告警规则和阈值
  • 📝 管理不同监控器类型的告警定义
  • 🎯 设置自定义告警条件

先决条件

在使用 AI 智能助手之前,请确保:

  1. OpenAI 配置:必须配置有效的 OpenAI API 密钥。可选地,您可以在 application.yml 中的 spring.ai.openai.chat.options.model 下更改模型(默认为 gpt-4.1-nano)。
  2. 数据库连接:HertzBeat 数据库必须可访问以进行监控器操作

配置

OpenAI API 密钥设置

AI 智能助手使用 OpenAI 的 GPT 模型。您需要通过以下方式配置 OpenAI API 密钥:

通过 UI 进行数据库配置

  1. 导航到 AI 智能助手界面
  2. 如果未配置 API 密钥,您将看到配置对话框
  3. 输入您的 OpenAI API 密钥
  4. 点击 保存配置

配置优先级

  • 数据库配置 优先于 YAML 配置
  • 配置更改立即生效,无需重启
  • 保存前会自动验证无效的 API 密钥

使用 AI 智能助手

访问聊天界面

  1. 在 HertzBeat Web 界面中导航到 AI 智能助手 部分
  2. 您将看到 HertzBeat 监控 AI 助手欢迎屏幕
  3. 在聊天输入框中开始输入您的问题

示例对话

添加新监控器

您:为我的网站 https://example.com 添加一个新的 HTTP 监控器
AI 助手:我将帮助您为 https://example.com 添加一个 HTTP 监控器。
让我使用以下配置创建该监控器:
- 名称:example.com 网站监控器
- 类型:HTTP
- 主机:example.com
- 端口:443 (HTTPS)
- 路径:/
- 间隔:60 秒

监控器创建成功,ID:12345

列出现有监控器

您:显示我所有当前的监控器
AI 助手:以下是您当前的监控器:

1. **Linux 服务器** (ID: 1001)
- 状态:✅ 在线
- 主机:192.168.1.100
- 最后检查:2 分钟前

2. **MySQL 数据库** (ID: 1002)
- 状态:⚠️ 警告
- 主机:db.example.com
- 最后检查:30 秒前

3. **网站监控器** (ID: 1003)
- 状态:✅ 在线
- 主机:https://example.com
- 最后检查:1 分钟前

您想了解任何特定监控器的详细信息吗?

获取监控器类型信息

您:监控 PostgreSQL 数据库需要哪些参数?
AI 助手:要监控 PostgreSQL 数据库,您需要这些参数:

**必需参数:**
- **主机**:数据库服务器 IP/主机名
- **端口**:PostgreSQL 端口(默认:5432)
- **数据库**:要连接的数据库名称
- **用户名**:数据库用户名
- **密码**:数据库密码

**可选参数:**
- **超时**:连接超时(默认:6000ms)
- **查询超时**:SQL 查询超时(默认:3000ms)
- **SSL**:启用 SSL 连接(默认:false)

您想让我帮助您添加一个 PostgreSQL 监控器吗?

告警管理

您:显示过去 24 小时内的所有严重告警
AI 助手:以下是过去 24 小时内的严重告警:

🚨 **活跃告警(3 个触发中)**
1. **高 CPU 使用率** - Linux 服务器 (ID: 1001)
- 状态:🔥 触发中
- 触发时间:2 小时前
- 严重程度:严重
- 消息:CPU 使用率 95% > 阈值 90%

2. **数据库连接失败** - MySQL 数据库 (ID: 1002)
- 状态:🔥 触发中
- 触发时间:45 分钟前
- 严重程度:严重
- 消息:10 秒后连接超时

3. **网站响应时间** - 网站监控器 (ID: 1003)
- 状态:⚠️ 警告
- 触发时间:15 分钟前
- 严重程度:警告
- 消息:响应时间 5.2s > 阈值 3s

**告警摘要:**
- 总告警数:12
- 触发中:3(2 个严重,1 个警告)
- 已解决:9

您想让我帮助调查任何特定的告警吗?

指标分析

您:显示我的 Linux 服务器过去 6 小时的 CPU 使用率
AI 助手:以下是您的 Linux 服务器(监控器 ID:1001)过去 6 小时的 CPU 使用率数据:

📊 **CPU 使用率指标 - 过去 6 小时**

时间 | 使用率 (%) | 负载平均 | 进程数
14:00-15:00 | 45.2% | 1.2 | 156
15:00-16:00 | 67.8% | 2.1 | 178
16:00-17:00 | 89.4% | 3.8 | 195
17:00-18:00 | 92.1% | 4.2 | 203
18:00-19:00 | 94.7% | 4.8 | 210
19:00-20:00 | 88.3% | 3.5 | 188

**分析:**
- 峰值使用率:19:00 时 94.7%
- 平均使用率:79.6%
- 趋势:高使用率持续 3+ 小时
- 当前状态:下降中(88.3%)

**实时指标:**
- 当前 CPU:76.2%
- 内存使用率:82.1%
- 磁盘 I/O:正常

您想让我检查历史数据进行比较或调查高使用率的原因吗?

告警规则配置

您:当我的网站响应时间超过 5 秒时设置告警规则
AI 助手:我将帮助您创建网站响应时间监控的告警规则。

**告警规则配置:**
- **监控器类型**:HTTP/网站
- **指标**:响应时间
- **条件**:大于 5 秒
- **严重程度**:警告
- **评估**:每 60 秒检查一次
- **通知**:邮件 + 仪表板

**建议规则:**
```yaml
name: "网站响应时间告警"
condition: "response_time > 5000ms"
severity: "warning"
description: "当网站响应时间超过 5 秒时告警"
evaluation_interval: 60s
for: 2m # 条件持续 2 分钟后告警

此规则将:

  1. 每分钟监控响应时间
  2. 如果响应时间 > 5s 持续 2+ 分钟则触发告警
  3. 通过配置的渠道发送通知
  4. 在仪表板中显示警告状态

您想让我应用此配置还是修改任何设置?


### 聊天功能

#### 消息历史

- 所有对话都会自动保存
- 从侧边栏访问以前的对话
- 搜索对话历史
- 导出对话日志

#### 实时响应

- 流式响应提供即时反馈
- 输入指示器显示助手正在处理时
- 如需要可取消正在进行的请求

#### 对话管理

- 为不同主题创建新对话
- 重命名对话以便更好地组织
- 删除旧对话以保持整洁
注意:对话不会保存在数据库中

## 故障排除

### 常见问题

#### 聊天界面无法加载

**症状**:聊天界面无限显示加载旋转器
**解决方案**:

1. 检查浏览器控制台中的 JavaScript 错误
2. 确保与 HertzBeat 服务器的网络连接

#### "服务不可用"消息

**症状**:聊天显示"HertzBeat AI 监控服务不可用"
**解决方案**:
1. 验证 OpenAI API 密钥配置
2. 检查应用程序日志中的错误
3. 确保数据库连接

#### 无效 API 密钥错误

**症状**:配置对话框显示"无效 API 密钥"错误
**解决方案**:

1. 验证您的 OpenAI API 密钥以 `sk-` 开头
2. 检查 API 密钥是否有足够的积分/配额
3. 直接使用 OpenAI API 测试 API 密钥
4. 确保 API 密钥中没有多余的空格

#### 监控器创建失败

**症状**:AI 建议监控器配置但创建失败
**解决方案**:

1. 验证您有创建监控器的权限
2. 检查是否已存在同名监控器
3. 确保目标主机/服务可访问
4. 查看监控器参数验证错误

### 调试模式

通过设置日志级别为 DEBUG 来启用调试日志:

```yaml
logging:
level:
org.apache.hertzbeat.ai.agent: DEBUG

最佳实践

有效的聊天使用

  1. 具体明确:"为 api.example.com 端口 8080 添加 HTTP 监控器" vs "添加一个监控器"
  2. 提供上下文:说明您想要生产环境还是测试环境监控器
  3. 询问后续问题:如需要请求配置详细信息
  4. 使用自然语言:AI 理解对话式请求

监控器管理

  1. 命名约定:使用描述性的监控器名称
  2. 文档记录:要求 AI 记录复杂配置

安全考虑

  1. API 密钥安全:安全存储 OpenAI API 密钥
  2. 访问控制:限制 AI 聊天访问给授权用户
  3. 数据隐私:注意聊天日志中的敏感信息
  4. 网络安全:确保与 OpenAI API 的安全连接

高级功能

批量操作

您:为我的预发布环境中的所有服务添加 HTTP 监控器:
- api-staging.example.com:8080
- web-staging.example.com:80
- admin-staging.example.com:3000

限制

  • 需要活跃的互联网连接访问 OpenAI API
  • OpenAI API 使用会根据令牌消耗产生费用
  • 复杂的多步骤操作可能需要多次交互
  • 某些高级配置可能需要手动设置
  • 可能会根据 OpenAI 计划应用速率限制

支持

对于 AI 智能助手的问题:

  1. 首先查看此文档
  2. 查看应用程序日志中的错误
  3. 独立测试 OpenAI API 连接
  4. 联系 HertzBeat 支持并提供具体错误消息