【问题标题】:How to disable logs from k8s_cluster on Stackdriver Logging?如何在 Stackdriver Logging 上禁用来自 k8s_cluster 的日志?
【发布时间】:2019-07-03 08:28:48
【问题描述】:

我们有一个 Google Coud Platform 项目,我们在其中使用集群来部署我们的应用,我们在本月的账单中注意到 Stackdriver Logging 增加了太多,因此我们开始创建排除项。

我们从resource.type="container" 排除日志没有任何问题, 但我们无法做到这一点 resource.type="k8s_cluster"

过滤以创建我们想要的排除:

resource.type="k8s_cluster"
protoPayload.serviceName="k8s.io"
protoPayload.resourceName="app.k8s.io/v1beta1/namespaces/default/applications/prometheus-1"

奇怪的是,Stackdriver Monitoring 并没有从那里检测到任何数据(0B 摄取),也没有从我们的 gcp 项目 (https://console.cloud.google.com/logs/usage?project=xxxx) 中检测到任何数据,除非我们使用日志查看器对其进行过滤,然后我们可以看到日志。

Grafana 可以通过 Stackdriver Datasource 检测数据,你可以看到它here

【问题讨论】:

    标签: logging kubernetes google-cloud-platform google-cloud-stackdriver


    【解决方案1】:

    resource.type="k8s_cluster" 的过滤器包含始终启用的 System Events 的审核日志,因此,它们不会从 Stackdriver Logging 中排除,这与仅具有容器 stdout 和 stderr 日志记录的 resource.type="container" 不同。

    此外,您可以通过将“@type”条件添加到 Stackdriver 过滤器来确定哪些日志属于审核日志流:

    resource.type="k8s_cluster"
    protoPayload.serviceName="k8s.io"
    protoPayload.resourceName="app.k8s.io/v1beta1/namespaces/default/applications/prometheus-1"
    protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
    

    最后,Grafana 能够显示这些基于日志的指标,因为它们是通过数据源导出到其中而不是进入 Stackdriver。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-24
      • 2020-04-15
      • 1970-01-01
      • 2020-09-21
      • 1970-01-01
      • 2022-06-25
      相关资源
      最近更新 更多