存储桶中的GCP Stackdriver Logging日志格式从每个容器的文件夹更改为stdout \ stderr [英] GCP stackdriver logging logs format changed in bucket from folder per container to stdout\stderr

本文介绍了存储桶中的GCP Stackdriver Logging日志格式从每个容器的文件夹更改为stdout \ stderr的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个问题,与这里描述的类似: GKE kubernetes容器标准输出日志格式已更改

i have a question, similar as describe here: GKE kubernetes container stdout logs format changed

在旧版本的stackdriver中,我有1个带有过滤器的接收器,如下所示:

in old version of stackdriver i had 1 sink with filter like this:

resource.type=container,
resource.namespace_id=[NAMESPACE_NAME] 
resource.pod_id=[POD_NAME]

并且日志很好地存储在存储桶中,就像这样:

and logs was stored in bucket pretty well, like this:

logName=projects/[PROJECT-NAME]/logs/[CONTAINER-NAME]

...所以我有每个容器的日志文件.

...so i had folders whith logs for each container.

但是现在我将我的stackdriver logging + monitoring更新到了最新版本,现在我有2个文件夹stdout \ stderr,其中包含所有容器的所有日志!

But now i updated my stackdriver logging+monitoring to last version and now i have 2 folders stdout\stderr which contains all logs for all containers!

logName=projects/[PROJECT-NAME]/logs/stdout
logName=projects/[PROJECT-NAME]/logs/stderr

所有来自多个容器的日志都存储在此单个文件夹中!这很不舒服=(

All logs from many containers stored in this single folders! This is pretty uncomfortable =(

我已经在文档中阅读了以下内容: https://cloud. google.com/monitoring/kubernetes-engine/migration#changes_in_log_entry_contents

I'v read about this in docs: https://cloud.google.com/monitoring/kubernetes-engine/migration#changes_in_log_entry_contents

logName字段可能会更改. Stackdriver Kubernetes Engine监视日志条目在其日志名称中使用stdout或stderr,而Legacy Stackdriver使用更广泛的名称,包括容器名称.容器名称仍然可以用作资源标签.

The logName field might change. Stackdriver Kubernetes Engine Monitoring log entries use stdout or stderr in their log names whereas Legacy Stackdriver used a wider variety of names, including the container name. The container name is still available as a resource label.

...但是我找不到解决方案!请帮助我,如何像以前的stackdriver版本那样按文件夹记录容器?

...but i can't find solution! Please, help me, how to make container per folder logging, like it was in old version of stackdriver?

推荐答案

以下是建议的解决方法:

Here is a workaround that has been suggested:

  1. 为每个由过滤的容器创建一个不同的接收器 resource.labels.container_name
  2. 将每个接收器导出到不同的位置 桶
  1. Create a different sink for each of your containers filtered by resource.labels.container_name
  2. Export each sink to a different bucket

注意:如果将每个单独的接收器配置为同一存储桶,则将合并日志.

Note: If you configure each separate sink to the same bucket the logs will be combined.

更多详细信息,请参见 Google问题跟踪器

More details at Google Issue Tracker

这篇关于存储桶中的GCP Stackdriver Logging日志格式从每个容器的文件夹更改为stdout \ stderr的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆