我们已经创建了 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
答案2
如果您仍然看到这些错误,请查看您的指标。主要是kubernetes.io/container/...
在与记录错误的 gke-metrics-agent 相同的节点上运行的容器的指标。您是否看到指标中不应该存在的差距?
上下文超出错误可能偶尔发生,但不应该大量发生。这可能是网络问题,也可能只是偶尔出现。您是否有任何网络策略/防火墙规则可能会阻止 gke-metrics-agent 与 Cloud Monitoring 通信?
遗憾的是,您无法自行更新 gke-metrics-agent 中的 open-telemetry。较新的集群版本也可以帮助更新代理,因此请尽可能尝试升级您的集群。如果问题影响您的指标,请联系支持人员。