使用 Promtail 收集 Docker 事件日志

问题描述 投票:0回答:2

如何从 docker events 获取日志到 Promtail?

我正在使用 Docker 在我的服务器上运行一组容器,我想使用 Promtail 收集和集中它们的日志。具体来说,我想从

docker events
(来自 docker 守护进程的有关容器启动时间等的日志)命令捕获日志并将其发送到 Promtail。

我怎样才能实现这个目标?为了将 docker events 的日志发送到 Promtail,我需要设置哪些步骤和配置?

请注意,我的 Docker 主机在 Windows 计算机上运行,并且我使用的是最新版本的 Promtail。

我的

promtail.yaml
文件:

server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: http://loki:3100/loki/api/v1/push

scrape_configs:
  - job_name: flog_scrape 
    docker_sd_configs:
      - host: unix:///var/run/docker.sock
        refresh_interval: 5s
        filters:
          - name: label
            values: ["logging=promtail"] 
    relabel_configs:
      - source_labels: ['__meta_docker_container_name']
        regex: '/(.*)'
        target_label: 'container'
      - source_labels: ['__meta_docker_container_log_stream']
        target_label: 'logstream'
      - source_labels: ['__meta_docker_container_label_logging_jobname']
        target_label: 'job'

任何帮助或建议将不胜感激。谢谢!

docker logging monitoring grafana-loki promtail
2个回答
0
投票

将此职位添加到您的

scrape_configs:

  - job_name: journal
    journal:
      json: false
      max_age: 12h
      path: /var/log/journal
      # matches: _syslog_identifier=dockerd
      labels:
        job: systemd-journal
    relabel_configs:
      - source_labels:
          - __journal__systemd_unit
        target_label: systemd_unit
      - source_labels:
          - __journal__hostname
        target_label: hostname
      - source_labels:
          - __journal_syslog_identifier
        target_label: syslog_identifier
      - source_labels:
          - __journal__transport
        target_label: transport

这将收集所有服务的所有日志消息。如果您确实只想收集 docker 服务消息,可以取消注释

matches
行。

我不确定您需要具体更改 Windows 哪些内容,但这在 Ubuntu 22.04 上效果很好。


0
投票

根据docker文档:https://docs.docker.com/config/daemon/logs/

在 Windows 上,日志位于: Windows (WSL2) (dockerd 日志) - %LOCALAPPDATA%\Docker\log m\dockerd.log

Windows (WSL2)(容器日志)-%LOCALAPPDATA%\Docker\log

© www.soinside.com 2019 - 2024. All rights reserved.