发布于2026-06-29 阅读(0)
扫一扫,手机访问
Docker Compose是目前最省事也最可控的部署方式,能把进程隔离、网络互通和卷挂载都固化在一个YAML文件里。相比之下,二进制安装的过程相当繁琐,百分之九十的失败都卡在权限、路径、配置加载顺序这些细节上。
你可能会问:既然二进制安装这么麻烦,为什么还要提?因为很多初次部署的开发者就是被它带进坑里的。手动处理 loki-linux-amd64 和 promtail-linux-amd64 的执行权限,写错 systemd 单元文件就静默退出,/etc/loki/config.yaml 不会被自动加载,必须显式传 --config.file,日志目录挂载权限不一致就静默丢日志。而 Docker Compose 把这些全固化在 YAML 里,改端口、换路径、加标签只动几行配置。
官方模板拿来就能用,但下面这三个地方不调好,肯定会出问题:
./loki-config/config.yaml:/etc/loki/local-config.yaml。路径不存在或权限不对,容器启动后立刻退出,docker logs loki 只显示 failed to load config。- /var/log:/var/log,如果宿主机 /var/log 属主不是 root:adm,而容器默认以非 root 用户运行,就会跳过采集且不报错。Loki 启动失败,八成的锅都在这三个地方没对齐:
3100,如果宿主机被占用(比如另一个 Loki 或 Nginx),必须同步改 docker-compose.yml 的 ports 映射,比如 "3101:3100"。只改配置不改映射,Grafana 连不上。/tmp/loki/chunks。如果指向 /opt/loki/chunks 却没做 volumes 挂载,Loki 启动时直接报 permission denied。4 和 6,但 Nginx 或 Ja va 应用几秒就能触发限速,promtail 日志里反复出现 rate limited。建议按实际流量设为 30 和 15。Promtail 不是装上就能收日志,它靠 static_configs.labels 打流标识,靠 pipeline_stages 解析内容。漏掉任何一个环节,Grafana 就查不到数据:
job 和 host,例如 {job="system", host="${HOSTNAME}"}。空 labels: {} 或全注释掉,Loki 会直接丢弃该流。"__path__: "/var/log/**/*.log"。单引号或不加引号会导致匹配失效。localhost——同机部署用 http://loki:3100/loki/api/v1/push(Docker 网络内服务名),跨主机填目标 IP。不能依赖 DNS 或容器别名。复杂的地方在于 Promtail 自身日志输出不走 journalctl,查问题得进容器跑 curl -s http://localhost:9080/targets | grep promtail_targets_active,返回值是 0 就说明根本没发现日志文件——这时候再回头检查路径、权限、__path__ glob 写法。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9