日志未从 Google Compute Engine 到达 Cloud Logging
Logs aren't arriving in Cloud Logging from Google Compute Engine
我在 GCE 中有一个 VM 实例 运行(使用 Container Optimized OS)并且在其中我有一个活跃的 运行 容器正在生成 json 日志.当我导航到 /var/lib/docker/containers/<CONTAINER_IMAGE>/<CONTAINER_IMAGE>-json.log
.
时,我可以看到这些日志
在同一实例中,另一个 docker 容器正在 运行 使用图像 gcr.io/stackdriver-agents/stackdriver-logging-agent:1.8.4
。这是我创建 VM 时自动设置的。
VM 有权访问 Cloud Logging,并且 Cloud Logging API 已启用。我还按照步骤 here 将 google-logging-enabled
添加到元数据中,值为 true
.
当 VM 启动时,日志记录代理似乎正确启动并发出一条日志,说明它正在拖尾我想要日志的 docker 容器的日志文件,但是该文件中的日志永远不会出现在 Google 日志记录中。以下是确实进入 Cloud Logging 的日志的屏幕截图:
我遇到这个问题已经有一段时间了,非常感谢您对这个问题的任何帮助!提前致谢 (:
Google logging 使用 fluentd 来捕获日志。
你可以reconfugure fluentd to include additional log files.
创建文件 /etc/google-fluentd/config.d/my_app_name.conf
并在文件中放入格式为 path /path/to/my/log
的一行。 fluentd documentation.
中有更多示例
您还可以指定文件的格式 parsed: as a single string
type field or in more structured way (more convinient when you're looking for something). Again - here's some more info about fluentd's output plugins。
最后继续阅读 fluentd
documentation 以更好地了解如何使用此工具。
在我提供的 json 日志中,使用的时间格式未被 fluentd 接受。我已经能够通过添加来解决这个问题:
reserve_time true
到默认配置中的过滤器。现在配置忽略任何指定时间的嵌套字段。我是从 here.
那里了解到的
我在 GCE 中有一个 VM 实例 运行(使用 Container Optimized OS)并且在其中我有一个活跃的 运行 容器正在生成 json 日志.当我导航到 /var/lib/docker/containers/<CONTAINER_IMAGE>/<CONTAINER_IMAGE>-json.log
.
在同一实例中,另一个 docker 容器正在 运行 使用图像 gcr.io/stackdriver-agents/stackdriver-logging-agent:1.8.4
。这是我创建 VM 时自动设置的。
VM 有权访问 Cloud Logging,并且 Cloud Logging API 已启用。我还按照步骤 here 将 google-logging-enabled
添加到元数据中,值为 true
.
当 VM 启动时,日志记录代理似乎正确启动并发出一条日志,说明它正在拖尾我想要日志的 docker 容器的日志文件,但是该文件中的日志永远不会出现在 Google 日志记录中。以下是确实进入 Cloud Logging 的日志的屏幕截图:
我遇到这个问题已经有一段时间了,非常感谢您对这个问题的任何帮助!提前致谢 (:
Google logging 使用 fluentd 来捕获日志。
你可以reconfugure fluentd to include additional log files.
创建文件 /etc/google-fluentd/config.d/my_app_name.conf
并在文件中放入格式为 path /path/to/my/log
的一行。 fluentd documentation.
您还可以指定文件的格式 parsed: as a single string
type field or in more structured way (more convinient when you're looking for something). Again - here's some more info about fluentd's output plugins。
最后继续阅读 fluentd
documentation 以更好地了解如何使用此工具。
在我提供的 json 日志中,使用的时间格式未被 fluentd 接受。我已经能够通过添加来解决这个问题:
reserve_time true
到默认配置中的过滤器。现在配置忽略任何指定时间的嵌套字段。我是从 here.
那里了解到的