📜  docker 容器日志到谷歌云日志 (1)

📅  最后修改于: 2023-12-03 15:30:32.304000             🧑  作者: Mango

将 Docker 容器日志导入到 Google Cloud 日志

Docker 是一种广泛使用的容器化平台,它可以为应用程序提供一个独立的运行环境。然而,与其他技术相比,Docker 不太容易处理容器的日志。在本文中,我们将介绍如何将 Docker 容器日志导入到 Google Cloud 日志中,以便更好地管理和监控容器日志。

使用 Google Cloud Logging Agent

Google Cloud Logging Agent 是一个官方支持的工具,可以帮助用户收集和转发 Docker 容器日志。它可以将 Docker 容器日志收集到本地文件,然后将其传输到 Google Cloud Logging 服务中。以下是使用 Logging Agent 的步骤:

  1. 安装 Logging Agent:

    $ curl -sSO https://dl.google.com/cloudagents/add-logging-agent-repo.sh
    $ sudo bash add-logging-agent-repo.sh
    $ sudo apt-get update
    $ sudo apt-get install google-fluentd
    
  2. 配置 Logging Agent:

    Logging Agent 默认配置文件是 /etc/google-fluentd/config.d/docker.conf,您可以根据自己的需求进行更改。下面是一个示例配置文件:

    <source>
      type tail
      format json
      path /var/lib/docker/containers/*/*.log
      read_from_head true
      tag docker.*
      <parse>
        @type json
      </parse>
    </source>
    
    <match docker.*>
      @type google_cloud
      buffer_size 1
      num_threads 8
      max_retry_wait 30s
      disable_retry_limit true
      <template>
        {"container": "${tag_parts[1]}", "docker": {"container_id": "${tag_parts[2]}"}, "log": ${record["log"]}}
      </template>
    </match>
    

    该配置文件指定了日志源为 Docker 容器日志文件,使用 JSON 格式解析日志。然后,它将日志发送到 Google Cloud Logging 服务。

  3. 重新启动 Logging Agent:

    $ sudo service google-fluentd restart
    
  4. 检查日志是否正确传输:

    您可以通过访问 Google Cloud Logging 控制台来检查日志是否正确传输。选择您要查看的日志资源,然后在日志查看器中选择 “Docker” 来查看 Docker 容器日志。

结论

通过使用 Google Cloud Logging Agent,您可以轻松地导入 Docker 容器日志到 Google Cloud Logging 服务中。这将有助于更好地管理和监控 Docker 容器日志,帮助您早日发现和解决问题。