返回博客
技术博客技术监控可用性架构深度解析

Kora 健康监测系统详解

深入解析 Kora 的健康监测系统:如何实时检测数百个用户实例的状态,自动恢复故障,保障 99.9% 的可用性。

Kora 健康监测系统详解


运行数百个独立的用户 AI 实例,每个都需要 24/7 在线——这是 Kora 面临的核心运维挑战之一。本文深入解析我们的健康监测系统。


问题背景


Kora 的每个用户实例是一个独立运行的 Docker 容器,包含 OpenClaw AI 代理进程、工作区文件系统和活跃的消息推送连接。当某个实例出现问题时,我们需要:快速检测、自动恢复、通知用户、根因分析。


架构设计


健康监测系统由三个核心组件构成:



这三个组件的事件汇集到 Event Queue,由 Auto Heal(自动修复)和 Alert Manager(告警分发)处理。


心跳检测


每个用户实例每 5 分钟发送一次心跳信号,包含实例 ID、状态(healthy/degraded/error)、运行时间、队列任务数和最后活动时间。


超时判断策略:


资源监控


1 分钟采集一次每个实例的资源使用情况:


自动恢复策略


1. 软重启 — 重启 AI 代理进程,保留工作区文件(30 秒完成)

2. 容器重启 — 重建容器,挂载用户数据卷(2 分钟完成)

3. 实例迁移 — 将用户数据迁移到新的宿主机(5 分钟,最后手段)


恢复操作使用分布式锁,确保同一实例不会被并发恢复操作干扰。


可观测性


我们使用 Grafana + Prometheus 构建了实时监控大盘,核心指标包括:实例健康率(目标 > 99.5%)、平均恢复时间 MTTR(目标 < 3 分钟)、心跳延迟 P99(目标 < 30 秒)、自动恢复成功率(目标 > 95%)。


实测数据


过去 30 天的运行数据:整体可用性 99.87%,共发生 47 次软重启(100% 自动恢复),平均恢复时间 1.8 分钟,用户感知中断次数仅 3 次(均在 5 分钟内解决)。


未来优化方向





健康监测系统是 Kora 可靠性的基石。如果你对技术细节有兴趣,欢迎查看我们的开源监控代码或在论坛提问!

查看所有文章