GCP HTTP(S) 负载均衡器后端 (NEG) 上出现未知 500 错误

GCP HTTP(S) 负载均衡器后端 (NEG) 上出现未知 500 错误

我们在 GKE 后端与 NEG 之间使用了 HTTP(S) 负载均衡器。最近,我们在 GCP 监控中创建了以下警报:5xx 负载均衡器错误使用loadbalancing.googleapis.com/https/backend_request_count指标,有时会触发警报500 错误即使我们看不到500 错误在应用程序方面(至少不是在〜10分钟时间范围)。

这可能是负载均衡器本身的内部网络问题吗?还是其他原因导致的?也许是 GKE 集群内部的问题?我们检查了负载均衡器本身的日志,但没有找到任何有助于解决此问题的详细信息。

答案1

首先,如果您已为 GKE 集群启用了日志记录,则应该查看 Google Cloud Logging 并查找这些错误请求。这将为您提供有关这些失败请求的更多详细信息。

在 GKE 上使用 Cloud Logging

其次,推荐的方法是使用 Google 的 Cloud Trace 和 OpenTelemetry 来检测您的应用程序。这样您就可以创建警报、指标、仪表板,甚至可以检查请求和代码块是否产生了错误。

这不是一个快速而简单的任务,但对于调试目的来说它非常有价值。

请查看斯特拉克司机踪迹

答案2

基于您没有看到特定于应用程序的错误这一事实,一种可能的情况是您的运行状况检查可能定期失败。我首先会检查以确保您的后端的运行状况检查配置正确(URI、超时等)。如果一切正常并且您尚未启用它,请启用运行状况检查日志记录:

gcloud compute health-checks update PROTOCOL HEALTH_CHECK_NAME \
    --enable-logging

...并调查日志以查看故障是否有模式(例如特定节点、一天中的时间等):

logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fhealthchecks"

相关内容