使用 Sidecar 模式自定义/禁用 Istio 中的日志记录

问题描述 投票:0回答:1

我们的应用程序部署在 GKE 上,并使用 Istio 作为每个容器上的 sidecar。

我们使用 Istio 来实现所有良好的用例、授权、流量分割、路由等。

在生产中,我们观察到 Istio(使用其默认日志配置)记录了完整的 URL,在我们的例子中,该 URL 包含我们不希望被记录的敏感信息。

经过研究,发现 Istio OOB 没有办法将其配置为不记录 queryParameters。

已尝试以下方法但无济于事:

  • 将 Istio 日志级别设置为“关闭”

    sidecar.istio.io/logLevel: "off"

  • 将 componentLogLevel 设置为“错误”和“关闭”

    sidecar.istio.io/componentLogLevel
    curl -s -X POST http://localhost:15000/logging?level=off

  • 将agentLogLevel设置为

    none

    sidecar.istio.io/agentLogLevel: "default:none"

日志快照

2024-02-12T23:25:51.216339Z info    cache   returned workload trust anchor from cache   ttl=23h59m59.783666749s
2024-02-12T23:25:51.216647Z info    ads SDS: PUSH request for node:istio-test-1.0.1-7cc4c4f575-ddd12.istio-ns resources:1 size:4.0kB resource:default
2024-02-12T23:25:51.216758Z info    ads SDS: PUSH request for node:istio-test-1.0.1-7cc4c4f575-ddd12.istio-ns resources:1 size:1.1kB resource:ROOTCA
[2024-02-12T23:27:13.262Z] "GET /istio-test?queryParam=Sensitive HTTP/1.1" 403 - rbac_access_denied_matched_policy[none] - "-" 0 19 0 - "10.0.0.0"...

帮助表示感谢!

istio istio-sidecar
1个回答
0
投票

我们可以使用这个注解 ---> "sidecar.istio.io/logLevel": off 来禁用 istio-proxy (Sidecar) 的日志。

您可以在容器的spec下添加此注释并再次应用yaml。 Pod 将重新启动并且不会出现日志。

© www.soinside.com 2019 - 2024. All rights reserved.