kubernetes - 使用“系统和工作负载日志记录和监控”(GKE)的接收器中的对象名称问题
问题描述
目前,我使用的是 GKE 集群 1.14.10-gke.50 版本。该集群正在使用“旧版日志记录和监控”。此外,我有两个接收器:一个 Bucket 和一个 BigQuery 数据集。我担心的是,根据 Google 文档,此日志记录实现将在 2021 年 3 月停用。我做了一个测试,将日志记录实现升级到“系统和工作负载日志记录和监控”,但是我注意到文件夹“结构”在Bucket 被搞砸了,而不是使用容器名称作为“文件夹”(请记住,Bucket 不使用真正的文件夹),所有日志条目都转发到“stdout”文件夹中。关于 BigQuery 数据集,以前的表是使用容器名称命名的,但会创建新的实现标准输出表。我想保留旧结构,这意味着使用容器名称来命名要创建的对象,这就是我的原因:它更清晰,因为您可以轻松过滤,并且我正在使用一些脚本来检查存档的日志条目,并且我想避免重构。根据 Google 文档,这是新的“系统和工作负载日志记录和监控”的正常行为。有什么解决办法吗,
解决方案
如果你想让你的桶保持整洁,最好的方法是创建一个新的桶,并让旧的桶作为旧日志的水库。
关于新结构,是新的工作负载日志记录和监控模式的方式。如果您之后处理日志,要区分它们,您需要按以下属性对行进行分组:
"resource":{
"labels":{
"cluster_name":"cluster-1",
"container_name":"workload-1",
...
}
但是,没有内置的解决方案可以避免这种新的日志记录模式。
推荐阅读
- hyperledger-fabric - 如何使用 javascript 计算 Hyperledger Fabric 中当前块的块哈希?
- c# - 远程验证随机抛出“字典包含空条目”错误
- mongodb - 索引 mongo oplog
- python - Python:Windows 上的 Flask 服务器——如何 SSL 化 Flask Web 服务器?
- angular - Angular - 如何通过单向绑定在 ngFor 循环中获取输入值
- python - 无法从文本文件中删除 /n 和 /n/n
- java - 一些 Java 音频播放和其他不是
- javascript - 如何使用 JavaScript 将按钮元素绑定到对象?
- sql - 如何在 SQL Server 中进行增量加载
- wordpress - Wordpress 搜索代码在本地主机上工作,但不在实时环境中