alert-dashboard-query
分析助手角色与输出规范
角色:专业告警分析助手,擅长从告警数据中识别模式、发现根因。
平台背景:云原生监控告警平台,数据采集(Prometheus Exporters)→ 时序库(VictoriaMetrics)→ 可视化(Grafana)→ 告警引擎(Nightingale/n9e)。任务是基于接口返回的告警数据进行分析,帮助识别问题、减少噪音。
输出要求:① 简要概览(重复率、主要问题数量);② 模式识别(规则/服务/实例等常见模式);③ 根因分析(配置、阈值、依赖、资源等);④ 优先级排序(按次数、级别、环境)。
重要约束:
- 一步到位:一次性给出完整、深入的分析,不要求用户进一步交互。
- 禁止平台优化建议:不对告警平台架构、配置或功能提出优化建议。
- 禁止规则与治理建议:不提供告警规则调整或告警治理方案,仅分析数据、识别模式与根因。
告警统计报表(经 ops-infra-proxy)
统一网关域名: https://idsaas-o.api.leiniao.com
本 Skill 代理根 URL(所有接口接在此之后,不含原服务的 /api/v1/alerts 前缀):
https://idsaas-o.api.leiniao.com/ops-infra-proxy/alert-dashboard
认证: X-Api-Key: <鉴权中心 Key>(与 Prometheus、Grafana、JumpServer 一致)。上游告警服务若需服务账号 Token,由代理在 Nacos 中配置 alert_dashboard.token 自动注入 Authorization: Bearer,调用方无需持有。
路径对应关系: 原 GET .../api/v1/alerts/<子路径> → 现 GET .../ops-infra-proxy/alert-dashboard/<子路径>。
例:/duplication-rate、/by-service、/groups 等。
Skill 联动
当告警分析需要进一步查询监控指标或历史趋势时,prometheus-query skill。
联动场景
| 场景 | 操作 |
|---|---|
| 查到高频告警后 | 自动查询对应实例的监控指标 |
| 分析告警根因 | 拉取相关指标的历史趋势数据 |
| 需要性能数据 | 查询 CPU、内存、网络等资源指标 |
联动示例
用户: "查一下最近一周告警最多的,并分析监控数据"
Agent 执行流程:
1. 调用 GET .../alert-dashboard/duplication-rate 获取高频告警
2. 提取告警 instance、projname 等
3. 按 skill/prometheus.md 调用 Prometheus 代理查询该实例指标
4. 结合告警数据 + 监控趋势,给出完整分析报告
API 基础信息
- Base URL(调用方):
https://idsaas-o.api.leiniao.com/ops-infra-proxy/alert-dashboard - 请求方式: GET(
smart-analysis为 SSE,见下文) - 返回格式: JSON(
data字段为实际数据,以服务端为准) - 公共查询参数:
startDate(必填): 开始日期YYYY-MM-DDendDate(必填): 结束日期YYYY-MM-DDdepartmentId(可选): 飞书群聊 ID,按部门筛选ownerId(可选): 运维负责人 username,按负责人筛选
部门 ID 映射表
Windows PowerShell 调用前建议
chcp 65001,避免中文乱码。
| departmentId | 部门名称 |
|---|---|
| oc_1537e26796376d1d39d6747942b5ce63 | B端业务开发部 |
| oc_6a3cc9be5ed9ff0dc4ecaf6cb3c7996b | Capybaba告警群 |
| oc_7a35cab0efe38470f3f91dfceb04ca34 | 会员支付组 |
| oc_08c502d69b379eb544ce914370fede38 | 内容分发组 |
| oc_c145360ab9e5928a8e3bc7b361bd0592 | 创新业务开发部 |
| oc_5aad4795b7acfe39da37c1098f0312be | 数据智能部 |
| oc_016c8200ce0758ee88e8d98cbb784e33 | 服务架构部-基础架构 |
| oc_bc2e27ac1f3e0a7a04969d060efcfc9f | 服务架构部-账号 |
| oc_b8126b740dd635ecd61550fc7a852232 | 海外创新组-BrowserHere |
| oc_3cb575a3103d50c9ac1467b6dee8a803 | 海外创新组-Roku |
| oc_88c3b0b9c9ad91685e2663dc0ffc3cc0 | 海外创新组-TChannel |
| oc_9eac8d09beaf8736ae520183d805154f | 海外创新组-TV+ |
| oc_e371c4d5624cf4e1b799561184209d0c | 海外创新组-海外媒资 |
| oc_1274a68dd60f279d6c0f9d46ebf073f6 | 语音助手开发部 |
| oc_a2fa8aa6178d52bdb554c11aed785bad | 雷鸟创新 |
| 47ba9c1698303edf11f61b259e7f47a0 | 物联网技术开发部 |
接口列表
以下路径均相对于 /ops-infra-proxy/alert-dashboard,完整示例:
https://idsaas-o.api.leiniao.com/ops-infra-proxy/alert-dashboard/<子路径>?...
1. 告警优化维度
1.1 重复告警分析
GET /duplication-rate?startDate=2026-02-01&endDate=2026-02-28&threshold=3
参数:
threshold(可选): 重复阈值,超过该次数算重复,默认 3
返回字段: duplicationRate, totalUniqueAlerts, totalAlertInstances, topDuplicated, duplicatedAlerts 等(以实际 JSON 为准)
2. 服务/项目维度
2.1 各服务告警统计
GET /by-service?startDate=2026-02-01&endDate=2026-02-28&orderBy=count&order=desc
参数:
limit(可选)orderBy(可选):count或avgResolveTimeorder(可选):asc或desc
返回字段: services(含 projname, application, totalAlerts, resolvedAlerts, pendingAlerts, inProgressAlerts, avgResolveTimeFormatted, avgTimeToFirstFollowUpFormatted 等)
2.2 服务告警详情
GET /service-details?startDate=2026-02-01&endDate=2026-02-28&projname=dc
参数:
projname(可选)application(可选)
返回字段: details(含 ruleName, instance, env, tags, occurrenceCount, firstOccurrence, lastOccurrence 等)
2.3 告警类型分布
GET /by-type?startDate=2026-02-01&endDate=2026-02-28
返回字段: types(含 ruleName, category, count, percentage 等)
3. 群聊-部门维度
必须:查询部门维度相关告警时,先调用 /groups 获取部门列表;departmentId 等从返回数据选取。
3.1 获取部门列表
GET /groups
无需时间参数。返回字段: groups(含 id, name)
3.2 获取运维负责人列表
GET /owners?departmentId=oc_xxx
必须:需要 ownerId 筛选时,先调 /owners;ownerId 使用返回的 id(username)。
参数:
departmentId(可选): 按部门过滤负责人;不传则返回全部(以服务端为准)
返回字段: owners(含 id, name)
3.3 部门告警统计
GET /by-group?startDate=2026-02-01&endDate=2026-02-28
返回字段: groups(含 feishuGroupChatName, totalAlerts, resolvedAlerts, pendingAlerts, inProgressAlerts, percentage, avgResolveTimeFormatted, avgTimeToFirstFollowUpFormatted, topOperators 等)
3.4 部门处理效率对比
GET /group-efficiency?startDate=2026-02-01&endDate=2026-02-28
返回字段: overall, groups(含各部门 resolveRate、avgResolveTimeFormatted 等)
使用场景(与直连一致,仅 Base URL 换为网关)
场景 1: 最近一周告警重复情况
调用 /duplication-rate,startDate / endDate 覆盖最近 7 天。
场景 2: 某项目告警详情
先 /by-service 确认项目名,再 /service-details?projname=dc 等。
场景 3: 各部门处理效率
先 /groups,再 /group-efficiency,对比 avgResolveTimeFormatted、resolveRate。
场景 4: 部门告警分布
先 /groups,再 /by-group,看 totalAlerts、percentage。
场景 5: 智能分析(SSE)
调用 /smart-analysis,Accept: text/event-stream,等待流结束。
场景 6: 按部门看服务告警
先 /groups 取 departmentId,再 /by-service?departmentId=xxx。
场景 7: 按运维负责人
先 /owners(可选 departmentId),取 id 作为 ownerId,再带公共参数调用 /by-service、/by-group、/duplication-rate 等。
场景 8: 部门 + 负责人组合
/groups→departmentId/owners?departmentId=xxx→ownerId- 统计接口同时传
departmentId与ownerId
场景 9: 某部门深度分析(示例流程)
错误:仅用 /duplication-rate 再用关键词猜部门。
正确:部门相关查询一律带 departmentId。
示例(数据智能部,departmentId 见上表):
GET .../by-group?startDate=...&endDate=...&departmentId=oc_5aad4795b7acfe39da37c1098f0312beGET .../by-service?...&departmentId=oc_5aad4795b7acfe39da37c1098f0312be&orderBy=count&order=descGET .../service-details?...&projname=dc等查看明细
curl 示例(重复率)
curl -s -G "https://idsaas-o.api.leiniao.com/ops-infra-proxy/alert-dashboard/duplication-rate" \
-H "X-Api-Key: <your-api-key>" \
--data-urlencode "startDate=2026-02-01" \
--data-urlencode "endDate=2026-02-28" \
--data-urlencode "threshold=3"
错误处理
| HTTP | 说明 |
|---|---|
| 401 | X-Api-Key 无效 |
| 500 | alert_dashboard backend not configured:Nacos 未配置 alert_dashboard.url |
| 502 | 上游告警服务不可达 |