点击关注《DevOps运维民工》公众号,将获取更多AI干货
介绍

上周我在整理 AI 运维工具清单时,随手搜了搜 GitHub 上的相关项目。在「运维 +AI」这个分类下,一个名字叫 NightMend 的小众项目进入了我的视线。它的一些特点让我产生了好奇:
声称是开源 AI 运维平台
内置 MCP 集成
主打自动修复而不仅仅是告警
说实话,起初我并不抱太大期望。类似的项目我见过不少,大多数要么是 PPT 级别的 demo,要么是噱头大于实用。但我决定花半小时简单看看——反正不亏时间。结果,我被它的设计理念和真实功能打动了。
解决哪些痛点
如果你做过运维,一定经历过这些场景:
凌晨 3 点收到磁盘告警,爬起来 登录服务器,手动清理日志,结果发现是某个服务在疯狂写日志,还得继续排查原因
CPU 飙高,排查半天发现是某个死循环,重启后暂时恢复,第二天又发生,根本找不到根因
Prometheus+Grafana 每天几百条告警,80% 是误报,值班工程师被「告警疲劳」折磨到崩溃
企业级监控工具价格不菲,但还是需要人工分析、人工修复,AI 功能都是「选配」
NightMend 的核心理念:监控不仅仅是告诉你「哪里出了问题」,更重要的是「帮你修好」。
核心能力
1. AI 根因分析
传统方式:看到「磁盘 95%」告警,只能手动 SSH 登录,用 df -h、du -sh * 等命令一步步排查,找到根因可能是某个服务的日志文件在膨胀。NightMend 方式:告警触发后,系统调用 DeepSeek API,结合日志、指标、拓扑图进行关联分析,直接返回根因和建议操作。实际效果:从告警到分析完成,平均耗时 30 秒以内,比人工排查节省大量时间。
2. AI 自动修复
这是 NightMend 比较特别的功能。它内置了一些开箱即用的 Runbook:
Runbook | 功能 | 适用场景 |
|---|---|---|
disk_cleanup | 磁盘清理 | 清理临时文件、旧日志、缓存 |
log_rotation | 日志轮转 | 日志文件过大,自动切割压缩 |
service_restart | 服务重启 | 服务无响应,优雅重启 |
memory_pressure | 内存压力缓解 | 释放缓存、重启内存泄漏进程 |
zombie_killer | 僵尸进程清理 | 清理僵尸进程 |
connection_reset | 连接重置 | 数据库/服务连接池异常 |
告警触发 → AI 分析根因 → 选择对应 Runbook → 人工审批 → 自动执行 → 问题解决
安全机制:
所有修复任务默认进入「待审批」状态,管理员确认后方可执行
支持 dry_run 模式,先模拟执行验证逻辑,不实际操作
高风险操作(如重启服务)需二次确认
3. MCP 集成
MCP(Model Context Protocol)是 AI 工具调用的标准化协议,允许 AI 助手直接查询外部系统数据。NightMend 的 MCP 能力:
工具 1: get_servers_health # 获取所有服务器实时健康状态工具 2: get_alerts # 查询历史告警工具 3: search_logs # 搜索生产日志工具 4: analyze_incident # AI 驱动根因分析工具 5: get_topology # 检索服务依赖拓扑图
实际使用场景:
在 AI 编程助手聊天框中输入:"显示 prod-server-01 上的所有严重告警"AI 助手会自动调用 NightMend 的 MCP 接口,返回实时数据,并给出分析建议。
部署
# 1. 克隆仓库git clone https://github.com/LinChuang2008/nightmend.gitcd nightmend# 2. 配置密钥cp .env.example .env# 填入 DeepSeek API Key(必须)# 修改数据库密码和 JWT 密钥(生产环境必须)# 3. 启动docker compose up -d# 4. 访问浏览器打开 http://localhost:3001# 首次注册的账号自动成为管理员
部署耗时:
首次构建:15-30 分钟(构建镜像、初始化数据库)
后续启动:2 分钟
主要功能模块
1. 仪表盘(Dashboard)
健康评分:系统综合计算整体健康度(0-100 分),直观展示环境状态
实时推送:通过 WebSocket 连接,指标数据实时刷新,无需手动刷新
趋势图表:CPU、内存、磁盘、网络等关键指标的时序趋势图
2. 告警中心(Alerts)
支持三种告警规则:
指标告警:如 CPU > 90% 持续 5 分钟
日志关键字告警:如日志中出现 "OutOfMemory"
数据库告警:如连接数 > 500、慢查询数量 > 10
核心亮点:
AI 根因分析:点击告警条目的「AI 分析」按钮,系统自动返回根因和建议操作
告警降噪:配置冷却期,同一告警在 10 分钟内不重复发送
多渠道通知:钉钉、飞书、企业微信、邮件、Slack、Telegram、Webhook
3. 服务拓扑图(Topology)
力导向布局:基于物理模拟的自由布局,节点自动排列
分层布局:按依赖层级从上到下排列,层次清晰
AI 建议依赖:基于流量和日志数据,AI 自动推荐可能的服务依赖关系
4. 数据库监控(Databases)
支持 PostgreSQL、MySQL、Oracle 等主流数据库,展示:
连接数、QPS、TPS、缓冲区命中率
慢查询 Top 10(包含 SQL 语句和优化建议)
趋势图表:连接数、QPS 等指标时序趋势
5. 运维报告(Reports)
自动生成日报、周报、月报,内容包括:
监控概览:服务器/服务的整体健康状态
告警统计:告警数量、分布、处理时效
可用性报告:各服务的可用率统计
性能趋势:关键指标趋势分析
AI 分析摘要:期间的 AI 洞察和建议
6. SLA 管理
为每个服务定义 SLA 目标(如 99.9%)
系统自动计算实际可用性
基于 SLA 目标计算错误预算
预算消耗速度预警
当可用性低于 SLA 目标时自动检测并记录违规
总结
风险提示:
项目处于早期阶段,生产环境使用前务必充分测试
GitHub:
https://github.com/LinChuang2008/nightmend
夜雨聆风