当前位置: 首页 > 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.rkmt.cn/news/1487169.html

相关文章:

  • 海西黄金回收白银回收铂金回收哪里靠谱?2026 实测 5 家正规实体门店推荐 - 中业金奢再生回收中心
  • 在国产超算上从零部署CESM2.1.3:一个地球系统模式小白的踩坑实录(含完整配置文件)
  • 企业字段权限设计:不同审批节点字段编辑、显隐控制落地
  • 3分钟掌握专业级AI换脸:roop-unleashed终极指南
  • Vazirmatn:波斯语与阿拉伯语数字时代的完美字体解决方案
  • MPC7450指令延迟深度解析:从流水线原理到性能调优实战
  • 如何将微信聊天记录永久保存为可视化报告:WeChatMsg工具完整指南
  • 2026安顺市黄金回收白银回收铂金回收怎么变现?实地探访 5 家本地老牌回收店铺 - 中安检金银铂钻回收
  • MPC555 TPU TSM函数实现步进电机硬件实时控制详解
  • 微信聊天记录永久保存完整教程:WeChatMsg开源聊天记录备份工具三步搞定
  • 海北黄金回收白银回收铂金回收攻略,实地甄选五家优质实体店 - 诚金汇钻回收公司
  • 阜阳市黄金回收白银回收铂金回收实测 + 5 家正规线下门店盘点 - 信誉隆金银铂奢回收
  • 居家办公效率提升:自动化工作流与工具链搭建实践
  • 终极网盘直链下载助手:九大平台全速下载的完整解决方案
  • MonkeyCode 无障碍设计:让AI编程工具对每个人都友好
  • 百兆以太网硬件地址过滤:CAM与FPGA协同设计实战
  • 3步打造你的专属桌面萌宠:BongoCat跨平台互动猫咪指南
  • 终极怪物猎人世界插件HunterPie:三步快速配置,新手也能轻松掌握游戏数据
  • LPC55S36 Cortex-M33 CoreMark移植优化实战:性能与能效深度调校
  • Winhance中文版:Windows系统优化与自定义的终极指南
  • Python版SimpleMKL多核SVM工具包,附电离层数据一键测试脚本
  • 深度解析RTSPtoWeb:纯Go实现的实时视频流转换架构设计
  • 023、自动化脚本执行:Bash 工具安全使用、沙箱原理与危险命令的规避策略
  • 企业微信怎么开通?盘点常见误区,帮你顺利完成账号注册 - 品牌2026
  • 从一次线上金额比对Bug说起:手把手教你用BigDecimal.compareTo做可靠比较
  • 2026石家庄东方雨虹防水代理商排行榜|全域一级总代优选 - 资讯焦点
  • 怎么制作投票活动?(校园歌手大赛网络评选投票活动操作详解) - 微信投票小程序
  • 终极iOS越狱指南:使用palera1n工具从入门到精通
  • 第【4】期--基于凸优化的无人机辅助的通信感知一体化系统波束成形方案研究-maltab完整代码+报告
  • 郑州本地人私藏的变美宝地!久匠纹眉,做完不用天天早起画眉啦 - 企业博客发布