首页 > 解决方案 > 使用“系统和工作负载日志记录和监控”(GKE)的接收器中的对象名称问题

问题描述

目前,我使用的是 GKE 集群 1.14.10-gke.50 版本。该集群正在使用“旧版日志记录和监控”。此外,我有两个接收器:一个 Bucket 和一个 BigQuery 数据集。我担心的是,根据 Google 文档,此日志记录实现将在 2021 年 3 月停用。我做了一个测试,将日志记录实现升级到“系统和工作负载日志记录和监控”,但是我注意到文件夹“结构”在Bucket 被搞砸了,而不是使用容器名称作为“文件夹”(请记住,Bucket 不使用真正的文件夹),所有日志条目都转发到“stdout”文件夹中。关于 BigQuery 数据集,以前的表是使用容器名称命名的,但会创建新的实现标准输出表。我想保留旧结构,这意味着使用容器名称来命名要创建的对象,这就是我的原因:它更清晰,因为您可以轻松过滤,并且我正在使用一些脚本来检查存档的日志条目,并且我想避免重构。根据 Google 文档,这是新的“系统和工作负载日志记录和监控”的正常行为。有什么解决办法吗,

标签: kubernetesgoogle-cloud-platformgoogle-kubernetes-enginebucket

解决方案


如果你想让你的桶保持整洁,最好的方法是创建一个新的桶,并让旧的桶作为旧日志的水库。

关于新结构,是新的工作负载日志记录和监控模式的方式。如果您之后处理日志,要区分它们,您需要按以下属性对行进行分组:

"resource":{
  "labels":{
    "cluster_name":"cluster-1",
    "container_name":"workload-1",
...
}

但是,没有内置的解决方案可以避免这种新的日志记录模式。


推荐阅读