内置 Skill 一览

夜莺 v9 随二进制内置的 19 个 Skill 列表与适用场景:覆盖告警规则创建/排障、主机诊断、通知配置、数据查询、PromQL/SQL 生成、自愈推荐等高频运维链路。

概述

夜莺 v9 在二进制里内置(embed)了一组开箱即用的 Skill,安装后即出现在 AI 配置 → Skill 管理 列表里,无需手动上传。这些 Skill 按"夜莺自己最高频的场景"打磨:从 categraf 部署、告警规则创建/排障、主机诊断、通知配置、数据查询,到 PromQL/SQL 生成、半自愈推荐,基本覆盖一线 SRE 的日常动作。

如何识别:Skill 详情页面会显示作者 system,且不允许通过 Web 端修改/删除(替换/删除入口被隐藏)。如果想覆盖某个内置 Skill 的行为,新建一个同名 Skill 即可——同名时数据库里的用户 Skill 优先生效。

是否调用看描述:AI 是基于"用户提问 + Skill 描述"做匹配的。下面每条 Skill 的"触发场景"就是它自身 description 里的关键词;用户提问命中这些关键词时,Skill 会被自动注入上下文。详见 Skill 管理 → 写好提示词指令的建议

下面按用途把 19 个内置 Skill 分成五类。


一、部署 & 接入

categraf-deploy-guide — Categraf 部署指南

  • 触发场景:怎么装 categraf / categraf 怎么部署 / 用 Docker 跑 categraf / Windows 装 categraf / categraf 注册系统服务 / categraf 上报到夜莺 / config.toml 怎么写 / 怎么验证 categraf 采集到数据。
  • 能做什么:教学/指引型 Skill,不调用任何工具,直接输出可粘贴执行的命令与配置片段。覆盖二进制 + systemd、Docker、Windows、K8s 提示、关键配置、常见验证命令。
  • 不在范围:装好但接入失败 → 转 n9e-host-onboard-diagnose;已接入但指标异常 → 转 n9e-host-health-diagnose

二、创建类(把自然语言变成配置)

这类 Skill 都会去调对应的写接口(create_*),自动拼装 payload 完成创建,省去手动在表单里点字段。

n9e-create-alert-rule — 创建告警规则

  • 触发场景:在夜莺上"建一条告警规则"。
  • 支持数据源:Prometheus / Loki / Elasticsearch / OpenSearch / TDengine / ClickHouse / MySQL / PostgreSQL / Doris / VictoriaLogs / Host 全部数据源类型
  • 两种调用模式
    • Prometheus 简化路径(最常用)——直接说 PromQL + 阈值 + 比较符;
    • 通用路径——其他数据源会自动读取 datasources/<cate>.md 模板再填值。
  • 关联工具create_alert_rulelist_busi_groupslist_datasourceslist_metricslist_notify_rules 等。

n9e-create-alert-mute — 创建告警屏蔽规则

  • 触发场景:屏蔽 / 静默 / 抑制告警,例如"屏蔽 host=web01 的所有告警 2 小时"。
  • 能做什么:登录拿 token → 解析屏蔽条件(标签 / 时间窗 / 业务组) → 调创建接口。

n9e-create-alert-subscribe — 创建告警订阅规则

  • 触发场景:订阅告警 / 添加告警订阅 / 配置告警事件转发,例如"订阅所有 CPU 相关的告警并通知运维组"。
  • 能做什么:按条件筛选告警事件,并通过通知规则把事件转发给指定接收人。

n9e-create-notify-rule — 创建通知规则(线性 4 步)

  • 触发场景:用户已经把"什么级别、什么时段、走什么通道、发给谁"讲清楚了,按部就班创建一条规则。
  • 能做什么:登录 → 查用户组 → 查渠道 → 拼 payload 创建。
  • 复杂场景请用 n9e-notify-rule-copilot(见下文 Copilot 章节)。

n9e-create-dashboard — 创建监控仪表盘

  • 触发场景:建监控大盘 / Dashboard / 仪表盘。
  • 能做什么:用户只需给出面板标题、面板类型(stat / timeseries / table 等)和 PromQL;Skill 会自动生成完整的仪表盘配置(布局、数据源绑定、样式)。
  • 关联工具create_dashboardlist_filesread_filegrep_files

n9e-modify-task-tpl — 生成 / 修改告警自愈脚本

  • 触发场景:写自愈脚本(磁盘清理 / 重启服务 / 清理日志 / dump 进程 / reload nginx 等);或问"自愈脚本怎么拿告警传过来的参数"、“stdin 是什么格式”、“timeout 应该填多少”、“为什么 is_recovered 永远 false”、“脚本一直 running 怎么办”。
  • 覆盖层级:仅 脚本正文层task_tpl 表);如果要改告警规则、接收人、模板,会引导你转到对应 Skill。

三、通知配置 Copilot(三层分工)

夜莺通知链路分媒介 / 模板 / 规则三层,每层一个 Skill,专门解自然语言需求,不要串台

用户原话 走哪个 Skill
URL / Webhook 地址 / 签名 / AppID / 怎么接入 X 平台 n9e-notify-channel-copilot
模板 / 正文 / 字段 / 卡片颜色 / {{ ... }} 变量 n9e-generate-message-template
发给谁 / 分级路由 / 工作时段 / 按业务组路由 / 按标签过滤 n9e-notify-rule-copilot

n9e-notify-channel-copilot — 通知媒介 Copilot

  • 触发场景:改钉钉 / 飞书 / 企微 / 邮件 / 短信 / 语音 / Webhook 等媒介的 URL、请求体、签名、headers、代理、TLS、@人 / 接收人字段;或问"怎么接入 X 平台"、“为什么发不出去 / 报 9499 / Bad Request”。
  • 能做什么:基于 NotifyChannelConfig 模型,给出可粘贴的配置 + 字段级踩坑预警。

n9e-generate-message-template — 生成 / 修改消息模板

  • 触发场景:写通知模板 / 改消息格式 / 加主机名 / 恢复值 / 级别 / 钉钉 / 飞书 / Lark / 邮件 / 短信 / 电话模板。
  • 能做什么:用 Go text/template / html/template 语法输出可直接粘到模板编辑框的片段;自动注入 $event / $labels / $value 等常用变量。

n9e-notify-rule-copilot — 通知规则 Copilot

  • 触发场景:把"P1 工作时间发钉钉+电话、非工作时间只电话"、“按业务组/标签路由”、“分级走不同通道”、“恢复时不打电话"这类自然语言需求拆成正确的 NotifyConfig 数组;或编辑、复制、微调现有规则。
  • 能做什么:① 接住模糊/复杂的自然语言需求并拆成多条 NotifyConfig;② 编辑/复制/微调现有规则;③ 字段级踩坑预警;④ 引导测试发送和真实告警 diff。
  • 简单创建走 n9e-create-notify-rule,复杂或编辑场景走本 Skill。

四、查询类(看数据,不改配置)

n9e-query-alert-events — 查询告警事件

  • 触发场景:看告警 / 查活跃告警 / 搜历史告警 / 看告警详情 / 统计告警事件,例如"最近 1 小时有哪些一级告警”、“告警 ID 123 的详情”。
  • 能做什么:登录 → 调 search_active_alerts / search_history_alerts / get_alert_event_detail 等接口。

n9e-query-datasource — 查询各类数据源

  • 触发场景:查指标 / 看监控数据 / 搜日志 / 执行 PromQL 或 SQL 查询。
  • 支持数据源:Prometheus / VictoriaMetrics / Elasticsearch / Loki / ClickHouse / MySQL / PostgreSQL / TDengine / Doris / OpenSearch / VictoriaLogs。
  • 能做什么:根据数据源类型自动读取对应 datasources/*.md 拿参数格式,再发查询。

promql-generator — 自然语言 → PromQL

  • 触发场景:根据自然语言描述生成 PromQL。
  • 关联工具list_metrics(按关键词模糊搜指标名)、get_metric_labels(拿到指标的标签维度)。
  • 工作流程:理解意图 → 搜指标 → 拿标签 → 拼 PromQL。

sql-generator — 自然语言 → SQL

  • 触发场景:根据自然语言生成 SQL,支持 MySQL / Doris / ClickHouse / PostgreSQL。
  • 关联工具list_databases / list_tables / describe_table
  • 工作流程:理解意图 → 看库 → 看表 → 看字段 → 拼 SQL。

五、排障 / 诊断(拿现象找根因)

这一组是夜莺在社区高频问题上沉淀最深的 Skill,每条都把"经验性误判"写进了 SOP,避免只看单一证据下结论。

ops-troubleshooting — 综合故障定位(拿到告警找根因)

  • 触发场景:故障定位 / 告警排查 / 问题诊断 / 排障 / 根因分析 / 查指标 / 查日志(最宽口径的入口)。
  • 能做什么:跨告警 / 规则 / 数据源 / 指标 / 日志 / 仪表盘 / 主机 / 业务组的多步骤诊断;预算 25 次迭代,单轮就跑完一次完整分析。
  • n9e-alert-rule-troubleshoot 的区别:本 Skill 是 看到告警 → 找根因;那个是 应该报警但没报警 → 查链路

n9e-alert-rule-troubleshoot — 告警规则为什么没发出来

  • 触发场景:“没发告警”、“告警不触发”、“规则没生效”、“应该报警但没报警”、“为什么没收到告警”。
  • 覆盖链路:拉规则 → 跑 PromQL → 拉 eval 日志 → 找事件 hash → 拉处理日志 → 对照屏蔽规则 → 自监控指标兜底。
  • 版本要求:仅支持 Release 22 及以上。

n9e-host-health-diagnose — 主机失联综合判断

  • 触发场景:为什么这台机器失联 / host 失联告警是不是误报 / categraf 卡住了吗 / 心跳停了为啥还能 ping 通。
  • 核心立场agent 失联 ≠ 主机宕机。只看 target_up==0 / BeatTime 停就下"宕机"结论,是社区高频误报的根源(agent 真挂 / 网络分区 / DNS / 代理坏 / Redis 写延迟 / 主动维护 全都长一样)。
  • 能做什么:从多层证据综合判断到底是 真宕机 / agent 假死 / 网络抖动 / 维护中

n9e-host-onboard-diagnose — 主机接入失败诊断

  • 触发场景:新装的 categraf 在夜莺看不到 / 机器列表 OS 都是 unknown / Helm 装了 3 台只看到 1 个 / agent 注册不进来 / Windows agent 装了不显示。
  • n9e-host-health-diagnose 互斥:本 Skill 处理"压根没接入进来";那个处理"曾经接入过、现在失联"。
  • 核心立场:机器没出现不是一个原因,而是接入链路上某段断了。不要只看 heartbeat.enable 一项就让用户改 categraf——常见根因还有 omit_hostname / ident shell / TLS / token / edge redis / 多集群路由。

n9e-recommend-self-heal — 告警半自愈推荐

  • 触发场景:从告警事件详情页或通知卡片打开 Copilot,问"这条告警能自愈吗"、“推荐个自愈脚本”、“帮我处理一下”、“一键修复”。
  • 产品形态半自愈——AI 推荐 → 人确认 → 系统通过 ibex 执行 → 回写 task_record(按 event_id 关联),形成闭环。
  • 本 Skill 只做推荐:执行是前端按钮调 ibex 接口;写脚本本身请用 n9e-modify-task-tpl

关联文档

更新时间 2026-05-21

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云