Observability Control 是一个用于管理可观测性技术栈生命周期的技能,主要用途是控制 LGTM 技术栈以支持 Claude Code 的遥测监控。
用途
该技能用于管理可观测性技术栈的生命周期,包括启动、停止、备份、恢复和升级等操作。它适用于需要控制 LGTM 技术栈进行 Claude Code 监控的场景。
主要能力
该技能管理的技术栈包含以下组件:
- Grafana:端口 3000,用于仪表盘和可视化
- Prometheus:端口 9090,用于指标存储
- Loki:端口 3100,用于日志聚合
- Tempo:端口 3200,用于分布式追踪
- OTEL Collector:端口 4317/4318,用于遥测接收
- Promtail:用于日志发送
支持的操作包括:
- start:启动可观测性技术栈
- stop:优雅停止技术栈(保留数据)
- restart [service]:重启特定服务或所有服务
- status:对所有组件进行健康检查
- health:验证服务端点
- backup:导出仪表盘和配置
- restore <backup-path>:从备份恢复
- logs [service]:查看技术栈组件的日志
- fix-permissions:修复卷权限问题(常见于 Tempo)
使用方式
该技能通过 Docker Compose 和 Docker 命令进行操作。技术栈位置包括主技术栈路径和基于技能的技术栈路径。具体命令示例包括:
- 启动:docker compose -f /mnt/c/data/github/botaniqal-medtech/botaniqal-medtech/observability/docker-compose.yml up -d
- 停止:docker compose -f /mnt/c/data/github/botaniqal-medtech/botaniqal-medtech/observability/docker-compose.yml down
- 重启所有:docker compose -f /path/docker-compose.yml restart
- 重启特定:docker restart loki
- 状态检查:docker ps --format "table {{.Names}}\t{{.Status}}" | grep -E "(otel|loki|grafana|prometheus|tempo)"
- 健康验证:curl -s http://localhost:3000/api/health(Grafana)、curl -s http://localhost:9090/-/healthy(Prometheus)、curl -s http://localhost:3100/ready(Loki)、curl -s http://localhost:3200/ready(Tempo)
- 备份仪表盘:使用 curl 和 jq 导出 Grafana 仪表盘
- 恢复:使用 curl POST 请求导入仪表盘
- 查看日志:docker logs loki --tail 100 等
- 修复权限:删除并重建 Tempo 数据卷,设置权限后重启
还提供了快速命令,如检查所有服务状态、查看错误日志、测试 OTLP 端点、查询 Loki 数据和列出 Grafana 仪表盘。
适用场景
适用于需要管理可观测性技术栈生命周期的场景,特别是控制 LGTM 技术栈进行 Claude Code 监控时。
限制
该技能的具体限制暂未提供。访问点包括 Grafana(http://localhost:3000,凭据 admin/admin)、Prometheus(http://localhost:9090)、Loki(http://localhost:3100)、OTLP gRPC(localhost:4317)和 OTLP HTTP(localhost:4318)。脚本包括 start-stack.sh、stop-stack.sh、health-check.sh、backup-dashboards.sh 和 restore-dashboards.sh。