夜鶯 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

關聯文件

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