新增 alloy/Dockerfile + config.alloy + build.sh + README + docs/observability/alloy-bake-plan.md. 当前 bind mount /tmp/alloy 仍稳定,本会话仅交付可执行件,实际 build 待低峰期执行.
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.alloyconfig.alloy:与宿主的/tmp/alloy/config.alloy同步(本目录是真相源,跑 build.sh 之前需更新)build.sh:自动 build + tag
Bake 步骤
cd /www/wwwroot/qihuaiflow/alloy./build.sh→ 产物qihuaiflow-alloy:verified-{TS}- 修改
docker-compose.ymlalloy 服务:services: alloy: image: qihuaiflow-alloy:verified-20260810-154500 # 移除 volumes 里的 /tmp/alloy mount docker compose up -d alloy- 验证:
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