ワンクリックで
n9e-query-alert-events
在夜莺(n9e)环境中查询告警事件。当用户要求查看告警、查询活跃告警、搜索历史告警、查看告警详情、统计告警事件时使用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
在夜莺(n9e)环境中查询告警事件。当用户要求查看告警、查询活跃告警、搜索历史告警、查看告警详情、统计告警事件时使用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
**创建告警规则**。优先复用 integrations 里验证过的规则(标准组件 Linux/MySQL/Redis/Kafka/PostgreSQL/Elasticsearch 等都有现成规则包),导入几条按用户需求来——单条、一批、或整套都行;integration 里没有贴合的规则时再手写自定义规则。支持 Prometheus / Loki / ES / OpenSearch / MySQL / PG / TDengine / ClickHouse / Doris / VictoriaLogs / Host 全部数据源。 ⚠️ **不要用这个 skill 做批量 YAML 导入**——用户给的是 URL 或 YAML 文件、awesome-prometheus-alerts、node-exporter.yml 之类,请改用 n9e-import-prom-rule。 触发:创建一条/加一条告警 / 帮我建个 CPU 告警 / 给 MySQL 加套告警规则 / 给主机配上常用告警 / 我要监控某个指标。
夜莺(n9e)告警屏蔽规则(alert_mute)的创建、编辑、排障一站式助手。当用户要求"创建屏蔽规则 / 屏蔽告警 / 静默告警 / 维护窗口免打扰 / 周期性屏蔽 / 每天凌晨屏蔽 / 调整或延长屏蔽 / 屏蔽不生效排查"时使用。屏蔽作用于事件评估阶段(被屏蔽的事件不落库不通知);要配"哪些事件通知给谁"用通知规则(→ n9e-notify-rule-copilot),要查"为什么没收到通知"走告警排障(→ n9e-alert-rule-troubleshoot)。
夜莺(n9e)告警订阅规则(alert_subscribe)的创建、编辑、排障一站式助手。当用户要求"创建订阅规则 / 订阅告警 / 告警事件转发 / 抄送另一个团队 / 告警升级(持续 N 分钟未处理再通知谁)/ 跨业务组收告警 / 订阅不生效排查"时使用。订阅是通知阶段对事件的"复制+二次路由";要配"事件直接通知给谁"用通知规则(→ n9e-notify-rule-copilot),要不收告警用屏蔽(→ n9e-alert-mute-copilot)。
夜莺(n9e)通知规则(notify_rule)的创建、编辑、复制、排障一站式助手。当用户要求"创建通知规则 / 添加通知策略 / 配置告警通知方式 / 编辑调整通知规则 / 分级通知 / 按业务组或标签路由 / 工作时间与非工作时间不同动作 / 恢复时不打电话 / 修复规则匹配不上"时使用——尤其擅长把自然语言路由需求拆成正确的 NotifyConfig 数组。本技能专注通知规则的路由层:不动通知媒介本身(→ n9e-notify-channel-copilot),不动消息模板(→ n9e-generate-message-template),不查"为什么没发出"(→ n9e-alert-rule-troubleshoot 流程 B)。
创建监控仪表盘。当用户要求创建仪表盘、监控大盘、Dashboard 时使用。
**批量导入 Prometheus 告警规则 YAML 文件**(一次性建一组规则)。专用于处理远端 URL 或本地 YAML 文本,自动解析 `groups` / 纯 `rules` 数组 / 单条 rule 三种格式。 ⚠️ **不要用这个 skill 做单条创建**——用户用自然语言描述一条告警需求时,请改用 n9e-create-alert-rule。 触发:导入 / import / 批量 / URL / .yml 文件 / .yaml 文件 / awesome-prometheus-alerts / node-exporter.yml / prometheus rule file。
| name | n9e-query-alert-events |
| description | 在夜莺(n9e)环境中查询告警事件。当用户要求查看告警、查询活跃告警、搜索历史告警、查看告警详情、统计告警事件时使用。 |
| tags | ["internal"] |
在夜莺监控平台上查询和查看告警事件,支持查询当前活跃告警(未恢复)、历史告警(已恢复/未恢复)、以及获取单条告警的详细信息。
用户需要提供:
http://<n9e-host>:<port><username>/<password>如果用户未提供以上信息,使用 AskUserQuestion 工具询问。
POST /api/n9e/auth/login
Content-Type: application/json
Body: {"username":"<用户名>","password":"<密码>"}
从响应中提取 dat.access_token,后续请求都带上 Authorization: Bearer <token>。
根据用户意图判断使用哪种查询方式:
判断规则:
GET /api/n9e/alert-cur-events/list?<query_params>
Authorization: Bearer <token>
GET /api/n9e/alert-his-events/list?<query_params>
Authorization: Bearer <token>
活跃告警详情:
GET /api/n9e/alert-cur-event/<event_id>
Authorization: Bearer <token>
历史告警详情:
GET /api/n9e/alert-his-event/<event_id>
Authorization: Bearer <token>
将查询结果以可读的 Markdown 表格或列表形式展示给用户,包含关键信息:告警名称、级别、触发时间、持续时间、触发值、标签等。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
severity | string | 否 | 全部 | 告警级别,逗号分隔,如 "1,2" |
query | string | 否 | 空 | 搜索关键词,匹配规则名称或标签 |
stime | int64 | 否 | 无限制 | 开始时间,Unix 时间戳(秒) |
etime | int64 | 否 | 无限制 | 结束时间,Unix 时间戳(秒) |
hours | int64 | 否 | 0 | 最近 N 小时(与 stime/etime 二选一) |
limit | int | 否 | 20 | 每页数量 |
p | int | 否 | 1 | 页码 |
bgid | int64 | 否 | 0 | 业务组 ID 过滤 |
rid | int64 | 否 | 0 | 告警规则 ID 过滤 |
datasource_ids | string | 否 | 全部 | 数据源 ID,逗号分隔 |
prods | string | 否 | 全部 | 产品类型,逗号分隔,如 "metric,host" |
cate | string | 否 | $all | 数据源类别,逗号分隔,如 "prometheus,host" |
my_groups | bool | 否 | false | 只看自己业务组的告警 |
event_ids | string | 否 | 空 | 指定事件 ID,逗号分隔 |
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
severity | int | 否 | -1 | 告警级别,单个值,-1 表示全部 |
is_recovered | int | 否 | -1 | 恢复状态:0=未恢复, 1=已恢复, -1=全部 |
query | string | 否 | 空 | 搜索关键词,匹配规则名称或标签 |
stime | int64 | 否 | 无限制 | 开始时间,Unix 时间戳(秒) |
etime | int64 | 否 | 无限制 | 结束时间,Unix 时间戳(秒) |
hours | int64 | 否 | 0 | 最近 N 小时(与 stime/etime 二选一) |
limit | int | 否 | 20 | 每页数量 |
p | int | 否 | 1 | 页码 |
bgid | int64 | 否 | 0 | 业务组 ID 过滤 |
rid | int64 | 否 | 0 | 告警规则 ID 过滤 |
datasource_ids | string | 否 | 全部 | 数据源 ID,逗号分隔 |
prods | string | 否 | 全部 | 产品类型,逗号分隔 |
cate | string | 否 | $all | 数据源类别,逗号分隔 |
| 值 | 含义 |
|---|---|
| 1 | 一级报警 (Critical) |
| 2 | 二级报警 (Warning) |
| 3 | 三级报警 (Info) |
有两种方式指定时间范围(二选一):
方式一:使用 hours 参数(推荐,更简单)
hours=1 → 最近 1 小时hours=6 → 最近 6 小时hours=24 → 最近 24 小时hours=168 → 最近 7 天方式二:使用 stime + etime 参数(精确控制)
stime 时,etime 自动设为当前时间 + 24 小时{
"dat": {
"total": 42,
"list": [<告警事件对象>, ...]
}
}
{
"id": 12345,
"rule_id": 10,
"rule_name": "CPU使用率过高",
"rule_note": "CPU使用率超过80%持续5分钟",
"rule_prod": "metric",
"severity": 1,
"cate": "prometheus",
"cluster": "default",
"datasource_id": 1,
"group_id": 2,
"group_name": "生产环境",
"hash": "rule_10_xxxx",
"target_ident": "web-server-01",
"target_note": "Web服务器",
"first_trigger_time": 1712000000,
"trigger_time": 1712003600,
"last_eval_time": 1712003600,
"trigger_value": "85.6",
"prom_ql": "cpu_usage_active{ident=\"web-server-01\"}",
"prom_eval_interval": 30,
"prom_for_duration": 300,
"tags": ["ident=web-server-01", "cpu=cpu-total"],
"annotations": {"description": "web-server-01 CPU高"},
"notify_version": 1,
"notify_channels": [],
"notify_groups_obj": [],
"notify_rules": [{"id": 1, "name": "运维通知"}],
"callbacks": [],
"runbook_url": ""
}
历史告警事件在活跃告警的基础上增加:
{
"is_recovered": 1,
"recover_time": 1712007200
}
| is_recovered 值 | 含义 |
|---|---|
| 0 | 未恢复(告警仍在触发) |
| 1 | 已恢复 |
GET /api/n9e/event-tagkeys
Authorization: Bearer <token>
返回可用于搜索过滤的标签键列表。
GET /api/n9e/event-tagvalues?key=<tag_key>
Authorization: Bearer <token>
返回指定标签键的前 20 个高频值。
GET /api/n9e/alert-cur-events-datasources
Authorization: Bearer <token>
GET /api/n9e/busi-groups
Authorization: Bearer <token>
GET /api/n9e/alert-cur-events/list?limit=50
GET /api/n9e/alert-cur-events/list?severity=1&hours=1
GET /api/n9e/alert-cur-events/list?query=CPU&limit=20
GET /api/n9e/alert-his-events/list?hours=24&is_recovered=1&limit=50
GET /api/n9e/alert-cur-events/list?bgid=2&limit=50
GET /api/n9e/alert-cur-events/list?rid=10&limit=50
GET /api/n9e/alert-cur-events/list?severity=1,2&query=web&hours=6&limit=30
GET /api/n9e/alert-cur-event/12345
"1,2"),历史告警只接受单个值(如 1)hours 或 stime/etime 避免返回过多数据limit 和 p(页码)参数分页,limit 默认 20tags 是 ["key=value"] 格式的字符串数组trigger_time、first_trigger_time、recover_time、last_eval_time 等rule_name)和标签(tags)/alert-cur-event/<id>,历史告警用 /alert-his-event/<id>(注意单复数)