【问题标题】:Difference between GCP HTTPS LoadBalancer access logs and istio logsGCP HTTPS LoadBalancer 访问日志和 istio 日志的区别
【发布时间】:2020-04-13 10:06:06
【问题描述】:

我有几个 GKE 集群,我手动部署了 istio(手动,而不是 GKE 中的 Google Cloud 提供的托管 istio

我最近收到了一封来自 Google 的电子邮件,通知我

Google Cloud Platform 将更改 HTTP(S) 负载平衡的默认行为,以便默认情况下不再启用日志记录。

由于我的 GKE 集群为 istio-ingressgateway 资源创建 HTTPS LB,是否有任何与 HTTPS LB 有关的日志记录在 istio 日志中看不到?

【问题讨论】:

  • 您好,Istio 日志主要由 envoy 日志(网格内)组成,更改不会影响它们。默认情况下,HTTPS LB 日志将位于 GKE 指标资源管理器中。
  • 如果我选择禁用 HTTPS 负载均衡日志,我会获得访问日志吗?

标签: logging google-cloud-platform load-balancing istio


【解决方案1】:

istio 访问日志对于到达您的入口网关的每个连接请求都是可见的。

HTTP(S) loadbalancer logs 不同,包括:

记录的内容

HTTP(S) 负载平衡日志条目包含对监控和调试 HTTP(S) 流量有用的信息。日志条目包含以下类型的信息:

  • 大多数 GCP 日志中显示的一般信息,例如严重性、项目 ID、项目编号、时间戳等。
  • HttpRequest 日志字段。但是,不会为 HTTP(S) 负载平衡 Cloud Logging 日志填充 HttpRequest.protocolHttpRequest.latency
  • structPayload 内的 statusDetails 字段。此字段包含一个字符串,该字符串解释了负载均衡器返回它所做的 HTTP 状态的原因。下表包含对这些日志字符串的进一步说明。

当您禁用 HTTP(S) LB 日志时,istio 仍会记录到达 istio 入口网关的所有流量,并且这些日志将可在 envoy 日志中访问。

但是,与在 LoadBalancer 级别终止且从未到达 istio 入口网关的流量相关的日志可能不会被记录。

因此,例如,与您的任何后端都不匹配并且在负载均衡器上终止的请求可能不会留下日志。

如果您希望拥有更多日志并确保没有遗漏,您应该启用 HTTP(S) LB 日志。否则禁用这些日志会减少日志量,包括与 istio 日志重叠的冗余日志。

有关 HTTP(S) LB 的更多信息,请访问 Google 云文档page

有关 Istio 日志的更多信息,请访问 Istio 文档page

有关 GKE istio 插件的信息,请访问 Google 云文档page

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-19
    • 2019-08-18
    • 2019-05-20
    • 2020-02-07
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多