Docker Compose 健康监控器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/docker-compose-health-monitor
技能介绍
监控盲区:Compose 服务的健康状态追踪
在复杂的 Docker Compose 编排中,服务崩溃重启或日志报错是常态。但原生的 docker-compose ps 只能提供基础的状态概览,缺乏对容器内部健康度、重启循环以及历史日志的深度洞察。当微服务出现间歇性故障时,排查往往需要手动拼接多个 API 和命令行输出,效率低下且容易遗漏关键线索。
工作原理:API 驱动的深度状态解析
该技能通过直接与 Docker Engine API 交互以及解析 docker-compose ps 的输出,构建了一套轻量但精准的监控机制。其核心工作流包括以下关键步骤:
- 状态与元数据获取:调用
/containers/{id}/json接口获取容器的详细元数据,准确识别当前运行状态。 - 重启次数追踪:深度解析返回的 JSON 中的
RestartCount字段,精准捕捉因异常退出导致的反复重启行为,帮助定位不稳定的服务。 - 日志流分析:通过
/containers/{id}/logs端点拉取容器日志,结合状态信息进行上下文关联分析,快速过滤出错误堆栈或异常警告。
适用边界与注意事项
此方案专注于 Docker Compose 环境的健康诊断,主要依赖 Docker Engine API 提供的数据。需要注意,它并不替代专业的 APM(应用性能监控)工具,无法追踪应用内部的业务逻辑指标。此外,在容器已完全停止且被系统清理的情况下,历史日志和重启计数可能会丢失。使用时需确保执行环境具备足够的权限访问 Docker daemon,并合理控制日志拉取的频率以避免对宿主机造成额外负载。
使用场景
- 微服务部署后间歇性崩溃,需解析容器重启计数并拉取历史日志,精准定位引发重启循环的具体报错代码。
- 运维团队需批量检查 Compose 服务的运行状态,并调用容器元数据接口确认内部健康详情与退出码。
- 容器环境频繁重启,工程师希望通过分析 API 返回的元数据与日志流,快速识别并隔离不稳定的服务节点。
适合人员
- 运维工程师:需深入排查 Docker Compose 服务反复重启和异常退出的具体原因。
- 后端开发者:在微服务上线后,希望通过容器日志和状态接口快速定位代码引发的运行时崩溃。
- SRE 工程师:负责维护容器化集群,需实时追踪容器健康状态并优化整体服务稳定性。