GKE 指标代理记录许多错误

GKE 指标代理记录许多错误

我们已经创建了 GKE 集群,并且收到来自 gke-metrics-agent 的错误。错误每 cca 30 分钟出现一次。总是相同的 62 个错误。

所有错误都有标签k8s-pod/k8s-app:“gke-metrics-agent”

第一个错误是:

error   exporterhelper/queued_retry.go:245  Exporting failed. Try enabling retry_on_failure config option.  {"kind": "exporter", "name": "googlecloud", "error": "rpc error: code = DeadlineExceeded desc = Deadline expired before operation could complete."  

此错误之后依次出现以下错误

  • “go.opentelemetry.io/collector/exporter/exporterhelper。(*retrySender).send”
  • “/go/src/gke-logmon/gke-metrics-agent/vendor/go.opentelemetry.io/collector/exporter/exporterhelper/queued_retry.go:245”
  • go.opentelemetry.io/collector/exporter/exporterhelper.(*metricsSenderWithObservability).send
  • /go/src/gke-logmon/gke-metrics-agent/vendor/go.opentelemetry.io/collector/exporter/exporterhelper/metrics.go:120

有 40 个类似这样的错误。两个突出的错误是:

- error exporterhelper/queued_retry.go:175  Exporting failed. Dropping data. Try enabling sending_queue to survive temporary failures.  {"kind": "exporter", "name": "googlecloud", "dropped_items": 19}"

- warn  batchprocessor/batch_processor.go:184   Sender failed   {"kind": "processor", "name": "batch", "error": "rpc error: code = DeadlineExceeded desc = Deadline expired before operation could complete."}"

我尝试在 Google 上搜索这些错误,但什么也没找到。我甚至找不到有关 gke-metrics-agent 的任何文档。

我尝试过的事情:

  • 检查配额
  • 将 GKE 更新到较新的版本(当前版本为 1.21.3-gke.2001)
  • 更新节点
  • 禁用所有防火墙规则
  • 赋予k8s节点所有权限

我可以提供有关我们的 kubernetes 集群的更多信息,但我不知道哪些信息对于解决这个问题可能很重要。

答案1

“已超过最后期限”是一个已知问题,指标通过基于 Open Telemetry 构建的 GKE Metrics 代理发送到 Cloud Monitoring。目前有两种解决方法可以解决此问题:

1.更新暂停

新版本包括一项更改,将默认超时时间从 5 秒增加到 12 秒。因此,您可能需要使用可以修复此 rpc 错误的新版本重建并重新部署工作负载。

2.要使用更高版本的 GKE,此问题已通过 gke-metrics-agent 版本修复:1.18.6-gke.6400+ 1.19.3-gke.600+ 1.20.0-gke.600+。

答案2

如果您仍然看到这些错误,请查看您的指标。主要是kubernetes.io/container/...在与记录错误的 gke-metrics-agent 相同的节点上运行的容器的指标。您是否看到指标中不应该存在的差距?

上下文超出错误可能偶尔发生,但不应该大量发生。这可能是网络问题,也可能只是偶尔出现。您是否有任何网络策略/防火墙规则可能会阻止 gke-metrics-agent 与 Cloud Monitoring 通信?

遗憾的是,您无法自行更新 gke-metrics-agent 中的 open-telemetry。较新的集群版本也可以帮助更新代理,因此请尽可能尝试升级您的集群。如果问题影响您的指标,请联系支持人员。

相关内容