夜莺 AI 整体介绍
夜莺 v9 给运维团队请了一位「不下班、不离职、记得每条规则」的资深 SRE 副驾驶。本文从 6 个真实运维场景出发:On-call 判真假、故障定位、新业务上线、日常运营、新人培训、告警自愈,讲清楚夜莺 AI 能在你的工作流哪一步介入、解决哪类问题。
一句话理解夜莺 AI
夜莺 v9 给你团队请了一位 7x24 在线的资深 SRE 副驾驶。
他不下班、不离职、记得你这套夜莺里每一条告警规则、每一台机器、每一份历史告警;他知道公司用什么数据源、哪些指标常用、通知模板怎么拼;最重要的是——他能把你团队里那位最资深 SRE 的经验和方法论学进去,下一次新人接手时,按"老司机"的思路引导他干活。
这位副驾驶会在下面 6 个最常见的运维场景里出现。
场景一:On-call 半夜被叫醒,第一时间判真假
你今天的处理方式
凌晨 3 点,一条「server-01 失联」告警炸了手机。打开夜莺一看:
target_up == 0,心跳显示 2 分钟没上来;- 但
ping server-01又能通; - agent 卡死?网络抖动?还是真宕?
抓 SSH、看进程、看 dmesg、看交换机日志……折腾 20 分钟才敢下结论。如果直接打电话喊运维去机房,事后发现是误报,那是更尴尬。
用夜莺 AI 的样子
在通知卡片或告警事件详情页里直接打开 Copilot,问一句:
“这条告警是真的吗?要不要立刻处置?”
夜莺 AI 同时拉四层证据给你结论:
- 心跳层——Redis 里上一次
BeatTime、lag_seconds、最后一次上报的 CPU/内存值; - 指标层——最近 10 分钟
cpu_usage_active/mem_available_percent/system_load1/ 网络字节数的最后值与窗口内的趋势; - 邻居层——同业务组里其它机器现在是不是也异常(个体故障 vs 集群故障 vs 网络分区);
- 屏蔽层——这台机器现在是不是正好在维护窗口里。
输出一个明确结论:「真宕机 / agent 假死 / 网络抖动 / 维护中」,附关键证据 + 建议动作 + 可能站不住脚的反例(避免误报)。
节省什么
- 半夜误打车去机房的概率 → 大幅下降;
- 单次失联判断从 20 分钟 → 30 秒;
- 新人值班也能下出资深 SRE 水平的判断。
“agent 失联 ≠ 主机宕机”——这是社区里被反复证明的高频误报根源。AI 把多层证据综合起来判断,正是为了把这个误报率打下来。
场景二:故障定位,从一团乱麻里找根因
你今天的处理方式
业务报障:“订单接口慢了”。你打开夜莺:
- 看哪几条告警在响;
- 切到仪表盘看 P99 趋势;
- 翻数据库慢查询日志;
- 切回告警看是不是有相关基础设施告警;
- 找历史上类似时间点……
经验丰富的同学 15 分钟出结论,新接手的同学可能 1 小时定不到位。
用夜莺 AI 的样子
“刚才订单业务报障,帮我看看是不是这条 MySQL 主从延迟告警导致的”
AI 自动跑一遍资深 SRE 的标准动作:
- 跑 PromQL 拉延迟告警涉及的指标历史趋势;
- 读这条告警规则的定义(PromQL、阈值、持续时间);
- 查同业务组在同一时间窗口有没有其它告警一起响(数据源端、网络端、应用端);
- 查这台主机最近的 CPU / IO / 网络指标有没有异常;
- 给出「时间线 + 关键证据 + 大概率原因 + 缓解建议」。
节省什么
- 一次综合排障从 30 分钟 → 1 分钟拿到证据链(最终还是你做决定,但证据已经摆好);
- 跨数据源 / 跨规则的查询不用再手动来回切;
- 新人也能拿到资深 SRE 视角的证据组合。
AI 的故障定位不替你下结论,而是把证据链整理好摆给你看。最后那一下"是不是这个原因、要不要采取这个动作",还是人来判断。
场景三:新业务上线,5 分钟搭起监控体系
你今天的处理方式
订单服务要上线生产。SRE 标准动作:
- 建 4 条告警规则(CPU、内存、磁盘、请求成功率);
- 配通知规则(白天发钉钉、夜里加电话);
- 建一个监控仪表盘;
- 配几个屏蔽规则给变更窗口用;
- 加自愈脚本(磁盘满清理)。
人工填表,1-2 小时。如果遇到 PromQL 阈值反复调,可能半天。
用夜莺 AI 的样子
打开 Nightingale AI,用大白话一句话提需求:
“给所有生产环境(label env=prod)的主机加一条 CPU 使用率 > 90% 持续 5 分钟的二级告警,工作时间发钉钉,非工作时间打电话”
AI 做:
- 自动选业务组(如果你在某业务组页面打开,直接用当前);
- 自动找
cpu_usage_active指标 +env=prod标签筛选; - 拼出 PromQL;
- 配阈值 90、持续时间 5m、级别 P2;
- 选好对应的通知规则;
- 直接帮你创建这条告警规则。
类似一句话能搞定的还有:仪表盘、屏蔽规则、订阅规则、通知规则、通知模板、自愈脚本。
节省什么
- 上线监控配置从 1-2 小时 → 5 分钟;
- PromQL 写不出来不再阻塞——AI 知道你库里有哪些指标,自动选;
- 新人也能上手做监控配置。
场景四:日常运营,把零碎活儿变成对话
你今天的处理方式
运维一天会被无数零碎请求打断:
- “钉钉告警模板帮我加上主机名”——查字段表 + 调样式,10 分钟;
- “把 web01 这台机器的告警屏蔽 2 小时”——点 7 步表单,3 分钟;
- “怎么接入 Slack 通知”——翻文档、试错,半小时;
- “为啥钉钉告警发不出去报 9499 错”——抓包、查文档,1 小时。
用夜莺 AI 的样子
| 你想做的事 | 你说什么 | AI 做什么 |
|---|---|---|
| 改通知模板 | “钉钉模板加上主机名、触发值,按级别分颜色” | 用 Go template 语法直出可粘贴片段,自动处理告警/恢复两种事件分支 |
| 加临时屏蔽 | “屏蔽 host=web01 的所有告警 2 小时” | 解析标签 + 时间窗 + 业务组,直接创建屏蔽规则 |
| 接入新通知平台 | “怎么接入 Slack” | 给完整的 Webhook URL + 请求体 + Headers + 字段级踩坑预警 |
| 排查发送失败 | “钉钉发不出去报 9499” | 解释错误码 + 5 层 checklist(URL/签名/Headers/网络/限频)+ curl 验证命令 |
| 查告警事件 | “最近 1 小时有哪些一级告警” | 拉接口 → Markdown 表格汇总 |
| 查资源列表 | “我有哪些业务组” / “查看告警规则列表” | 直接给列表 |
节省什么
- 这类小动作每天 5-10 个,单个从 3-30 分钟 → 30 秒;
- 不再需要随时拉资深同学回答"这个怎么配"。
场景五:新人接手,三天能独立 On-call
你今天的处理方式
资深 SRE 离职 / 新人加入,痛苦的事情来了:
- 团队 SOP 写在 Confluence / 飞书文档里,没人维护、新人看不懂哪条还有效;
- 资深同学的"经验"——比如"看到 MySQL 主从延迟告警先看
pt-heartbeat、再看复制线程、最后才看 binlog 大小"——只在他脑子里; - 新人值班遇到陌生场景,要么打电话叫人,要么硬扛,故障 MTTR 上升。
用夜莺 AI 的样子
夜莺 v9 提供一个叫 Skill 的机制,本质是"团队 SOP 的数字化沉淀":
- 资深 SRE 把自己的排障方法论用 Markdown 写一份 Skill,描述清楚"什么场景下、按什么方法、输出什么";
- 上传到夜莺;
- AI 在遇到匹配场景时自动加载这份 Skill,按你写的方法论回答。
举一个真实的例子:
资深 DBA 把"MySQL 慢查询排障四步法(看慢日志 Top 10 → 看池子命中率 → 看锁 → 才 EXPLAIN)“写成一个 Skill 上传。
新人值班时收到 MySQL 延迟告警,问 AI “这条告警怎么处理”,AI 不是泛泛回答"用 EXPLAIN 看看”,而是按 DBA 写的四步法引导新人一步步走——先拉慢日志、再看池子、再看锁,最后才让他 EXPLAIN。
夜莺 v9 还内置了 19 个开箱即用的 Skill,覆盖告警创建/排障、主机诊断、通知配置、PromQL/SQL 生成、半自愈推荐——装好就能用。
详见:
- Skill 编写教程——端到端教你写第一个团队 Skill
- 内置 Skill 一览——19 个内置 Skill 分别能做什么
节省什么
- 新人独立 On-call 周期从 2-4 周 → 3-7 天;
- 资深 SRE 离职带走的经验,这次留下来了;
- 团队 SOP 第一次有了"会被真的执行"的载体。
这一点是夜莺 AI 给团队带来的最大价值——不是会写 PromQL,而是让经验可沉淀、可复用、可传承。
场景六:告警自愈,让"机械告警"不再打扰人
你今天的处理方式
有些告警每周都来一次,处理动作是固定的:
- “磁盘满”——清理
/var/log下 7 天以上的旧日志; - “服务挂了”——重启对应进程;
- “Nginx 配置变更后没生效”——
nginx -s reload。
每次都做同样的事,但又不敢全自动——万一脚本写错把生产搞挂,谁负责?
用夜莺 AI 的样子
夜莺 v9 提供「半自愈」能力:AI 推荐 → 人确认 → 系统执行。
在告警事件详情页或通知卡片里打开 Copilot,问一句:
“这条告警能自愈吗?帮我处理一下”
AI 做:
- 拉当前事件 + 告警规则 + 近 30 天历史三层证据;
- 在你已有的自愈脚本库里搜匹配候选;
- 对每个候选做安全评估:
- 意图匹配吗?
- 业务组边界对不对?
- 标签够脚本用吗?
- 有没有触发危险命令(
rm -rf /这类)? - 目标主机现在在线吗?
- 通过评估的候选——给你一个 「✅ 一键执行」按钮,附脚本预览 + 风险提示 + 误报风险。
最后那一下确认必须人来点。AI 永远不自己跑命令。
如果你的自愈脚本库里没有匹配,AI 会切换到「自愈脚本生成 Copilot」,帮你按需求草拟一份新脚本(带 stdin 解析、timeout 建议、危险命令护栏、风险与回滚说明),让你审核入库。
节省什么
- 90% 的"机械告警"——AI 推荐 + 人点确认就闭环;
- “怕脚本写错搞挂生产"的顾虑——AI 在生成/推荐时自动过危险命令黑名单 + dry-run 建议;
- 资深 SRE 不用再被每周一次的磁盘满告警打断。
这些场景从哪里触发
入口非常简单:
┌──────────────────────────────────────────────────────────────┐
│ 右上角 [Nightingale AI] 图标 —— 全站对话入口 │
│ 任何页面打开,问任何场景的问题,AI 自动选场景 │
├──────────────────────────────────────────────────────────────┤
│ 告警事件详情页 —— "能自愈吗" / "为什么触发" / "是误报吗" │
│ 通知模板编辑器 —— 「AI 生成」按钮,自然语言生成模板 │
│ PromQL 输入框 —— 告警/仪表盘里的 PromQL 旁,AI 生成查询 │
│ SQL / 日志查询 —— SQL / LogQL / ES DSL 输入框旁,AI 生成查询 │
│ 自愈脚本编辑器 —— 「AI 生成脚本」按钮,自然语言生成自愈脚本 │
└──────────────────────────────────────────────────────────────┘
入口虽然多,配置只配一次:在 AI 配置 → LLM 管理 接入一个大模型,全平台 AI 都用同一套配置。
AI 不会做什么——它的边界
作为运维负责人,你最关心的可能不是"它能做多少”,而是"它会不会越界"。夜莺 AI 在设计上守了这几条底线:
| 边界 | 说明 |
|---|---|
| 不自己跑命令 | 所有「执行」类动作——执行自愈脚本、对生产环境做变更——最后一下确认必须人来点。AI 只推荐,不动手。 |
| 不越权读数据 | AI 跑在当前登录用户的权限上下文里。你这个账号看不到的业务组、改不了的资源,AI 也访问不到。 |
| 不偷传数据 | 夜莺 server 不会把你的告警/指标/机器列表回传到任何"夜莺官方服务",没有所谓的中央 AI 服务。 |
| 不输出危险命令 | 写自愈脚本时拒绝输出 rm -rf / / mkfs / shutdown / iptables -F 等危险操作,会改写成安全变体(dry-run / 限定范围)。 |
| 不替你扛锅 | AI 给的根因分析、自愈推荐都附带一段「误报风险」说明——告诉你"这个结论可能在什么情况下不准"。最后判断和签字是你的。 |
数据完全可控
很多运维 leader 看到"AI"第一反应是:“我的告警数据会不会被传到 OpenAI?”
夜莺 AI 在这点上的设计是:大模型在哪由你决定,夜莺不绑定任何特定供应商。
| 部署方式 | 数据流向 |
|---|---|
| 接 OpenAI 公网 API | 数据走公网 → OpenAI |
| 接阿里通义 / 火山豆包 | 数据在阿里云 / 火山云内 |
| 接公司内部 LLM 网关 | 数据不出公司 |
| 接本地 Ollama / vLLM 跑开源模型 | 数据完全不出域,完全离线 |
对数据出域有硬性要求?用 Ollama 跑 DeepSeek / Qwen / Llama 就行——一台 GPU 服务器就能起,对一线 SRE 场景的效果完全够用。
详见 LLM 管理 里支持的提供商清单。
30 分钟上手
-
接入 LLM(5 分钟)——去 LLM 管理 新建一条 LLM 配置:填 API URL / API Key / 模型名 → 点「测试连接」→ 看到"连接成功"再保存 → 把它设为默认。
-
跑一遍 6 个场景(15 分钟)——找最近一条告警,按上面 6 个场景每一个都用一次:
- 进事件详情页问"这条告警是真的吗 / 能自愈吗";
- 全局对话框问"最近 1 小时有哪些一级告警";
- 任意 PromQL 输入框旁点 AI 按钮,让它帮你写一条查询;
- 通知模板编辑器点「AI 生成」试试效果;
- ……
感受一遍后,你会知道在你团队里哪几个场景最适合先推广。
-
写第一个团队 Skill(10 分钟)——把团队里最高频的一份"故障处理 SOP"写成 Skill 上传,让团队的新人也能受益。具体怎么写参考 Skill 编写教程。
关联文档
- LLM 管理——接入大模型的详细操作
- Skill 管理——什么是 Skill,怎么管理
- Skill 编写教程——从零写一个团队 Skill
- 内置 Skill 一览——19 个开箱即用 Skill 的能力清单
- 通知消息模板 → AI 生成模板