Files
qihu-bot e50d006ef4 #952 alloy traces 配置 bake Dockerfile + 计划 (20260810-154537)
新增 alloy/Dockerfile + config.alloy + build.sh + README + docs/observability/alloy-bake-plan.md. 当前 bind mount /tmp/alloy 仍稳定,本会话仅交付可执行件,实际 build 待低峰期执行.
2026-08-10 15:45:37 +08:00
..

alloy 镜像本地化

背景

  • 当前 alloy 容器(qihu-aiflow-alloy)用 grafana/alloy:latest + bind mount /tmp/alloy → /etc/alloy:ro 注入配置。
  • 这种方式风险:/tmp 在重启时可能被清空,或运维误删 /tmp/alloy 导致 alloy 启动失败。
  • bake 进镜像:让 alloy 容器自包含配置,符合容器 immutable 原则。

目录

  • Dockerfile:基于 grafana/alloy:latest,COPY 本目录 config.alloy 到 /etc/alloy/config.alloy
  • config.alloy:与宿主的 /tmp/alloy/config.alloy 同步(本目录是真相源,跑 build.sh 之前需更新)
  • build.sh:自动 build + tag

Bake 步骤

  1. cd /www/wwwroot/qihuaiflow/alloy
  2. ./build.sh → 产物 qihuaiflow-alloy:verified-{TS}
  3. 修改 docker-compose.yml alloy 服务:
    services:
      alloy:
        image: qihuaiflow-alloy:verified-20260810-154500
        # 移除 volumes 里的 /tmp/alloy mount
    
  4. docker compose up -d alloy
  5. 验证: docker exec qihu-aiflow-alloy wget -q -O- http://localhost:12345/-/ready

⚠️ 风险与回滚

  • 风险:重建期间 metrics 采集会中断 1-3 分钟
  • 回滚:docker compose 用 qihuaiflow-alloy:latest(原 grafana/alloy 基础 + bind mount)切回
  • 建议执行时机:低峰期(凌晨 1-5 点)

当前状态

  • 配置:已同步(2026-08-10),包含 OTLP receiver(4317/4318) + traces 接收(暂不导出)
  • 镜像构建:本目录就绪,等待"低峰 bake 任务"执行 build.sh