参数配置
安装完成后如何修改登录账号,以及如何调整 Ingest 管道任务参数。目录与启停见 Docker 运维、Kubernetes 运维;容量与更多调优项见 性能优化与容量规划。
1. 修改登录用户名与密码
开源版 Web 使用启动时注入的内置账号(内存 seed),界面暂无改密入口。通过环境变量覆盖后重启 ai-apm-web 即可生效。
| 配置项(YAML) | 环境变量 | 默认值 |
|---|---|---|
apm.security.seed-username | APM_SECURITY_SEED_USERNAME | admin |
apm.security.seed-password | APM_SECURITY_SEED_PASSWORD | Databuff@123 |
修改后请用新账号重新登录;旧会话/Token 将不可用。密码会出现在环境变量中,请按主机权限与密钥管理规范保护。
start.sh/ 安装脚本结束时会从运行中的 Web 容器读取并打印当前生效的账号密码(不再写死默认值)。
Docker
推荐使用 docker-compose.override.yml(安装脚本自动合并;升级不会覆盖该文件):
cd /opt/databuff-ai-apm # 或 echo $APM_INSTALL_DIR
cat > docker-compose.override.yml <<'EOF'
services:
ai-apm-web:
environment:
APM_SECURITY_SEED_USERNAME: "youruser"
APM_SECURITY_SEED_PASSWORD: "your-strong-password"
EOF
docker compose up -d ai-apm-web
docker exec ai-apm-web printenv | grep '^APM_SECURITY_SEED_'也可直接编辑 docker-compose.yml 中 ai-apm-web.environment,但 升级会覆盖 docker-compose.yml,需事后重新改回或改用 override。
Kubernetes
在 ConfigMap 中追加变量并重启 Web:
kubectl -n databuff edit configmap ai-apm-config在 data: 下增加(注意缩进与引号):
APM_SECURITY_SEED_USERNAME: "youruser"
APM_SECURITY_SEED_PASSWORD: "your-strong-password"保存后重启并验证:
kubectl -n databuff rollout restart deploy/ai-apm-web
kubectl -n databuff rollout status deploy/ai-apm-web
kubectl -n databuff exec deploy/ai-apm-web -- printenv | grep '^APM_SECURITY_SEED_'也可只改 Deployment 的 env(kubectl -n databuff edit deploy/ai-apm-web),效果相同。
升级注意:再次执行
install.sh/start.sh会kubectl apply仓库内的configmap.yaml,可能冲掉手工追加的键。升级后请重新写入,或在本地维护补丁清单。
2. 调整 Ingest 任务参数
Ingest 使用多 worker + 环形缓冲处理 Trace / Metric / 聚合。参数定义见 ai-apm-ingest 的 application.yml,均可通过环境变量覆盖。
常用任务与缓冲参数
| 配置项(YAML) | 环境变量 | 默认值 | 说明 |
|---|---|---|---|
ingest.pipeline.trace-tasks | INGEST_TRACE_TASKS | 8 | Trace 解析与组装并行度 |
ingest.pipeline.metric-tasks | INGEST_METRIC_TASKS | 4 | 指标路由并行度 |
ingest.pipeline.aggregate-tasks | INGEST_AGGREGATE_TASKS | 4 | 分钟聚合 worker 数 |
ingest.pipeline.trace-buffer-size | INGEST_TRACE_BUFFER_SIZE | 8192 | 每 Trace worker 环形缓冲槽位(≥16) |
ingest.pipeline.metric-buffer-size | INGEST_METRIC_BUFFER_SIZE | 1024 | 每 Metric worker 缓冲 |
ingest.pipeline.aggregate-buffer-size | INGEST_AGGREGATE_BUFFER_SIZE | 1024 | 每聚合 worker 缓冲 |
缓冲打满时会丢弃事件(overflow)。UI 缺数据但 ingest 日志无异常时,可优先加大 *_BUFFER_SIZE 或 *_TASKS。更多 Doris flush 等参数见 性能优化 — Ingest 管道调优。
Docker
推荐写入 docker-compose.override.yml:
cd /opt/databuff-ai-apm
cat > docker-compose.override.yml <<'EOF'
services:
ai-apm-ingest:
environment:
INGEST_TRACE_TASKS: "16"
INGEST_TRACE_BUFFER_SIZE: "16384"
INGEST_METRIC_TASKS: "8"
EOF
docker compose up -d ai-apm-ingest
docker exec ai-apm-ingest printenv | grep '^INGEST_'若同一文件中已配置 Web 账号等项,只需在对应 services 下追加,勿覆盖整份文件。
Kubernetes
kubectl -n databuff edit configmap ai-apm-config在 data: 下增加例如:
INGEST_TRACE_TASKS: "16"
INGEST_TRACE_BUFFER_SIZE: "16384"
INGEST_METRIC_TASKS: "8"然后重启 ingest:
kubectl -n databuff rollout restart deploy/ai-apm-ingest
kubectl -n databuff rollout status deploy/ai-apm-ingest
kubectl -n databuff exec deploy/ai-apm-ingest -- printenv | grep '^INGEST_'与登录账号相同:
start.sh/install.sh重新 apply ConfigMap 后需再写入自定义键。
调参建议
- 每次只改 1~2 项,便于回滚。
- 先解决丢数据(加大 buffer / tasks),再视 CPU、Doris Stream Load 压力微调。
- 加大
*_TASKS会提高 CPU 与内存占用,请对照 性能优化 中的资源基线。