我目前正在尝试使用 promtail、loki 和 grafana 为 docker swarm 集群设置日志监控。从 promtail 到 loki 的日志转发以及 graphana 中的可视化都运行良好。
但是,使用我当前的 promtail 配置,所有容器日志都会以未聚合的方式发送到 loki。因此,我的问题是,如果有人知道 promtail 配置,它发送由他们所属的 docker swarm 服务聚合的容器日志?
当前的 promtail config.yml 如下所示:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: varlogs_prom
__path__: /var/log/*log
- job_name: containers
static_configs:
- targets:
- localhost
labels:
job: containerlogs_prom
__path__: /var/lib/docker/containers/*/*log
pipeline_stages:
- json:
expressions:
output: log
stream: stream
attrs:
- json:
expressions:
tag:
source: attrs
- regex:
expression: (?P<image_name>(?:[^|]*[^|])).(?P<container_name>(?:[^|]*[^|])
).(?P<image_id>(?:[^|]*[^|])).(?P<container_id>(?:[^|]*[^|]))
source: tag
- timestamp:
format: RFC3339Nano
source: time
- labels:
tag_prom:
stream_prom:
image_name_prom:
container_name_prom:
image_id_prom:
container_id_prom:
- output:
source: output
提前致谢 !!