Skip to content

Docker 运维参考

本文说明一键安装后的目录结构、启停、端口、健康检查与常见排障。快速安装步骤见 Docker 安装部署

安装目录

默认路径为 /opt/databuff-ai-apm,可通过环境变量 APM_INSTALL_DIR 覆盖(安装脚本与 install.sh 均支持)。

/opt/databuff-ai-apm/
├── docker-compose.yml    # 主栈:Doris FE/BE + ingest + web
├── start.sh / stop.sh    # 推荐启停方式
├── env.sh                # 镜像版本(与 deploy/env.sh 一致)
├── data/                 # Doris 持久化(fe-meta、be-storage)
├── scripts/              # init-doris、pull-images、runtime 等
└── sql/                  # databuff.sql(首次启动导入)

启停与重启

推荐在安装目录执行:

bash
cd /opt/databuff-ai-apm
./start.sh    # 首次自动初始化 Doris 并导入表结构
./stop.sh     # 停止全部容器

重启单服务示例:

bash
docker compose restart ai-apm-web
docker compose restart ai-apm-ingest

start.sh 仅启动服务:检查 vm.max_map_count,等待 Doris 就绪后启动 ingest 与 web,并探测健康检查端点。镜像加载由 install.sh / update.sh 或手动执行 scripts/pull-images.sh 完成。

服务与端口

容器名组件宿主机端口说明
ai-apm-webWeb 平台27403UI 与 API
ai-apm-ingestIngest4317 / 4318 / 11800OTLP gRPC / HTTP;SkyWalking Agent gRPC
ai-apm-doris-feDoris FE8030 / 9030HTTP / MySQL 协议
ai-apm-doris-beDoris BE8040BE HTTP

健康检查与默认账号

服务探活 URL
Ingesthttp://127.0.0.1:4318/health
Webhttp://127.0.0.1:27403/health

安装完成或 start.sh 结束后,终端会输出 Web 地址与当前生效的登录账号(未改密时为默认值):

  • 用户名:admin(可通过 APM_SECURITY_SEED_USERNAME 覆盖)
  • 密码:Databuff@123(可通过 APM_SECURITY_SEED_PASSWORD 覆盖)

修改登录账号、Doris 连接账号或 Ingest 任务参数见 参数配置。脚本会读取运行中 Web 容器的环境变量并打印实际账号,不会在改密后仍显示默认密码。

查看日志

bash
cd /opt/databuff-ai-apm
docker compose logs -f ai-apm-ingest ai-apm-web
docker compose logs ai-apm-doris-fe ai-apm-doris-be

服务未就绪时,start.sh 超时后会提示检查 ingest / web 日志。

常见故障

现象处理
Doris 启动失败 / BE OOM确认宿主机内存;FE 已在 compose 中将 -Xmx patch 为 1200m
vm.max_map_count 过低start.sh 会尝试调至 2000000;Linux 可写入 sysctl.conf 持久化
端口被占用修改 docker-compose.yml 中 ports 映射或释放 27403 / 4317 / 4318 / 11800
服务列表为空确认 Agent/SDK 指向 4317/4318;见 OTLP 接入
规则创建后无告警确认服务已有指标;评估每分钟执行一次;检查规则监控对象是否匹配
需重置表结构安装目录执行 ./reset-table.sh(会清空 Doris 业务表,慎用)

数据持久化在 data/。停止服务不会删除数据;彻底清理见 升级与卸载

发布验收 / Release gate

开源发版前请在仓库根目录跑通下列三项(互不替代;任一 PASS 不能证明另外两门)。矩阵与勾选项见 Epic 交付物 self-ops-release-test-matrix.html(G-OPS*)。

门禁脚本覆盖什么主证据 / 前提
Adeploy/test/doris-failover-e2e.sh安装期 Doris 起不来 → Web 排障 / bootstrap → 恢复安装失败路径 e2e PASS
Bdeploy/test/doris-runtime-failover-e2e.sh稳态运行时 Doris 宕机 → 运维专家(ops)对话恢复主证据 = ops 会话(chat/submit + 消息/tool);/health 仅辅助。需已配置 LLM API Key。禁止脚本 docker start FE/BE 冒充专家恢复。SKIP_OPS_EXPERT=1 不是有效发版门禁
Cdeploy/test/run-tests.shAPI / 接口回归报告 PASS(通常需 demo 遥测)

发版 checklist(建议原样勾选):

text
□ A  ./deploy/test/doris-failover-e2e.sh
□ B  ./deploy/test/doris-runtime-failover-e2e.sh
     (未设 SKIP_OPS_EXPERT;会话证据默认 /tmp/doris-runtime-ops-evidence.json;勾满 G-OPS0~G-OPS3)
□ C  ./deploy/test/run-tests.sh

常用命令:

bash
# A — 安装失败排障(详见脚本头注释;离线常需 BUNDLE_ROOT / APM_INSTALL_DIR)
./deploy/test/doris-failover-e2e.sh

# B — 运行时宕机 → 运维专家恢复(栈已起且 Web 已配大模型 Key)
./deploy/test/doris-runtime-failover-e2e.sh

# C — API 回归
./deploy/test/run-tests.sh

升级后的冒烟仍见 deploy/docker/UPGRADE.mdverify-upgrade.sh不能替代上述 A/B/C 发版门禁。

相关文档