当前位置: 首页 > news >正文

MonkeyCode 的可观测性体系:日志、监控与告警的完整方案

MonkeyCode 的可观测性体系:日志、监控与告警的完整方案

当你管理着成百上千个用户容器时,"出了问题不知道"比"出了问题"更可怕。MonkeyCode 构建了一套完整的可观测性体系,让运维团队能够实时感知系统状态。

可观测性的三大支柱

MonkeyCode 的可观测性体系基于三大支柱:

  • 日志(Logging)— 记录系统中发生的每一件事
  • 指标(Metrics)— 量化系统的运行状态
  • 追踪(Tracing)— 追踪请求在系统中的流转路径

日志系统

结构化日志

所有日志采用JSON格式,便于机器解析和搜索:

{\n "timestamp": "2026-06-08T10:30:00.123Z",\n "level": "info",\n "service": "gateway",\n "traceId": "abc123",\n "userId": "user_456",\n "action": "workspace.create",\n "duration_ms": 2340,\n "status": "success",\n "workspaceId": "ws_789"\n}

日志采集架构

容器日志 → Fluent Bit → Kafka → ClickHouse\n ↓\n Grafana Loki(搜索和查询)

关键设计决策:

  • 用Fluent Bit而不是Fluentd — 资源占用更少(每个节点约10MB内存)
  • 用Kafka做缓冲 — 日志高峰期不会压垮存储
  • 用ClickHouse做长期存储 — 列式存储压缩率高,查询快
  • 用Loki做实时搜索 — 与Grafana无缝集成

指标监控

核心指标

MonkeyCode 监控以下核心指标:

基础设施层

  • 节点CPU/内存/磁盘使用率
  • 容器创建/销毁速率
  • 网络带宽使用量

应用层

  • API请求延迟(P50/P90/P99)
  • AI模型调用延迟
  • WebSocket连接数
  • 错误率(按错误码分类)

业务层

  • 活跃用户数
  • 并发Workspace数
  • AI对话次数
  • 代码提交次数

Prometheus + Grafana

指标采集使用Prometheus,展示使用Grafana:

// 关键告警规则\ngroups:\n - name: monkeycode-alerts\n rules:\n - alert: WorkspaceCreationSlow\n expr: histogram_quantile(0.99, workspace_creation_duration_seconds) > 10\n for: 5m\n annotations:\n summary: "Workspace创建P99延迟超过10秒"\n \n - alert: AIModelHighLatency\n expr: histogram_quantile(0.95, ai_model_response_duration_seconds) > 5\n for: 10m\n annotations:\n summary: "AI模型P95响应延迟超过5秒"\n \n - alert: ContainerRestartLoop\n expr: rate(container_restarts_total[5m]) > 0.1\n for: 5m\n annotations:\n summary: "容器频繁重启"

分布式追踪

一次AI对话请求可能经过5-6个服务。追踪让团队能看到完整的调用链:

用户发送消息\n → Gateway(认证鉴权)10ms\n → Model Router(选择模型)5ms\n → Prompt Builder(构建提示词)2ms\n → AI Model API(模型调用)1800ms\n → Response Parser(解析响应)3ms\n → 审计日志记录 8ms\n → 返回用户 总计: 1828ms

MonkeyCode 使用OpenTelemetry进行分布式追踪,数据存储在Jaeger中。

告警体系

告警分为四个等级:

等级含义通知方式响应时间
P0系统不可用电话+短信+IM5分钟
P1核心功能降级短信+IM15分钟
P2次要功能异常IM1小时
P3需要关注IM下一工作日

开源自建 vs 商业方案

MonkeyCode 选择全栈开源方案(Prometheus + Grafana + Loki + Jaeger),而非商业方案(DataDog/New Relic):

  • 成本— 商业方案按量计费,1000+用户规模月费$5000+
  • 数据主权— 监控数据不离开自己的服务器
  • 可定制性— 开源方案可以深度定制
  • 与私有化部署一致— 用户自部署时使用相同的监控方案

总结

可观测性不是奢侈品,而是必需品。MonkeyCode通过日志、指标、追踪三大支柱,实现了对系统运行状态的全面感知。这些监控方案随开源代码一起发布,企业用户在私有化部署时可以直接使用。

监控配置参考:github.com/chaitin/MonkeyCode/tree/main/deploy/monitoring

http://www.jsqmd.com/news/975446/

相关文章:

  • 实战进阶:基于YOLOv8的AI自瞄系统深度解析与性能优化指南
  • 海西黄金回收白银回收铂金回收哪里靠谱?2026 实测 5 家正规实体门店推荐 - 中业金奢再生回收中心
  • 企业字段权限设计:不同审批节点字段编辑、显隐控制落地
  • 抚顺市黄金回收白银回收铂金回收哪里靠谱?2026 实测 5 家正规实体门店推荐 - 中业金奢再生回收中心
  • 第 06 篇:企业数据源安全连接 —— 让 AI 安全地访问你的数据
  • 在国产超算上从零部署CESM2.1.3:一个地球系统模式小白的踩坑实录(含完整配置文件)
  • PAL22V10实现ColdFire MCF5206e与SDRAM接口的时序转换逻辑设计
  • 政策理解新架构:MMLU 86.4%与MTEB 77.6分背后的结构化语义推理
  • 如何通过InteractiveHtmlBom插件创建专业级PCB交互式物料清单
  • 3分钟掌握专业级AI换脸:roop-unleashed终极指南
  • S32G串行引导机制解析:从BootROM协议到UART/CAN实战
  • React 16.14.0 官方双环境运行时文件包(含开发调试版与生产压缩版)
  • 别再让用户输入直接进模板了!Flask开发者必看的Jinja2 SSTI漏洞实战复现与修复指南
  • 百万Token看着香,但你的场景真的需要吗?
  • 葫芦岛市黄金回收白银回收铂金回收攻略,实地甄选五家优质实体店 - 诚金汇钻回收公司
  • MPC7450指令延迟深度解析:从流水线原理到性能调优实战
  • Vazirmatn:波斯语与阿拉伯语数字时代的完美字体解决方案
  • MonkeyCode Prompt工程实践:如何写出高质量的AI编程需求描述
  • 如何将微信聊天记录永久保存为可视化报告:WeChatMsg工具完整指南
  • 大理黄金回收白银回收铂金回收实测 + 5 家正规线下门店盘点 - 信誉隆金银铂奢回收
  • Teamcenter许可优化,5款自动化工具
  • 单片机系统EMC设计实战:从PCB布局到软件防护的完整指南
  • PN7160动态功率控制(DPC)原理与实战:从天线调谐到射频合规性优化
  • MPC7450指令流水线优化:指令对齐、分支预测与资源管理实战
  • MCprep完全教程:打造专业级Minecraft动画的终极指南
  • OpCore-Simplify:基于智能分析的自动化OpenCore EFI配置方案
  • 2026安顺市黄金回收白银回收铂金回收怎么变现?实地探访 5 家本地老牌回收店铺 - 中安检金银铂钻回收
  • 揭秘Solaar:Linux上最强大的罗技设备管理器核心技术解析
  • ChanlunX:通达信缠论智能分析插件,3步实现股票走势自动化识别
  • 海北黄金回收白银回收铂金回收攻略,实地甄选五家优质实体店 - 诚金汇钻回收公司