如何解决在 GKE 中自定义 logName
最近不得不将我们的 GKE 日志记录设置升级到 Cloud Operations for GKE(根据 https://cloud.google.com/stackdriver/docs/solutions/gke/migration#what-is-changing)。从文档中,logName 字段发生了有趣的变化,它以前基于容器名称,但现在只是“projects/{PROJECTID}/logs/stdout”。
这通常不是问题,但我们严重依赖 Logging to BigQuery sinks 来分析我们的日志数据。由于 BigQuery 日志接收器使用它生成的表的 logName,我们现在生成的每个表都是“stdout_*”而不是容器名称。这非常令人困惑,并且使得使用共享数据集变得更加困难,并且从命名的角度来看通常很糟糕。我已经向 google 提交了一个功能请求,希望能够自定义 BQ 接收器表名称,但这对我们现在的用例没有帮助。
如果我们可以更改 logName,那么也可以更改 BQ 表名称。我已经看过 google 的 logging agent 文档,但还没有找到编辑这个 logName 字段的方法。
我考虑过的选项:
- 将表复制到新表名的 cron 作业(维护方面的缺点和成本的小幅增加)
- 禁用默认日志记录并使用自定义日志记录解决方案(投入大量时间,但不清楚这是否仍然有帮助)
- 硬着头皮只使用 stdout_* 表名(非常接近选择此选项)
是否可以从 k8s 容器中自定义 logName?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。