【发布时间】:2020-02-03 15:18:16
【问题描述】:
本月初,我们在 GCP 上的 3 个项目中启用了 Stackdriver Monitoring。
最近我们发现 Stackdriver API 指标显示了大约 85% 的错误:
在图表上,这些错误代码是 429:
我检查了配额,一切正常:
下一个指标图告诉我们是什么方法导致了错误:
使用另一个图表“凭据错误”,我发现我们的 GKE 服务帐户发出的 API 请求。我们有 GKE 实例的自定义服务帐户,据我们所知,它具有监控所需的所有权限:
roles/logging.logWriterroles/monitoring.metricWriter-
roles/stackdriver.resourceMetadata.writer(如this issue 中所述)
另外,GKE 集群中的stackdriver-metadata-agent pods 每分钟记录一次相关错误:
stackdriver-metadata-agent-cluster-level-d6556b55-2bkbc metadata-agent I0203 15:03:16.911940 1 binarylog.go:265] rpc: flushed binary log to ""
stackdriver-metadata-agent-cluster-level-d6556b55-2bkbc metadata-agent W0203 15:03:56.495034 1 kubernetes.go:118] Failed to publish resource metadata: rpc error: code = ResourceExhausted desc = Resource has been exhausted (e.g. check quota).
stackdriver-metadata-agent-cluster-level-d6556b55-2bkbc metadata-agent I0203 15:04:16.912272 1 binarylog.go:265] rpc: flushed binary log to ""
stackdriver-metadata-agent-cluster-level-d6556b55-2bkbc metadata-agent W0203 15:04:56.657831 1 kubernetes.go:118] Failed to publish resource metadata: rpc error: code = ResourceExhausted desc = Resource has been exhausted (e.g. check quota).
除此之外,我还没有找到与该问题相关的任何日志,而且我无法弄清楚是谁每秒向 Stackdriver API 发出 2 个请求,收到 429 错误。
我应该补充一点,以上所有内容都适用于所有 3 个项目。
有人可以建议我们如何解决这个问题吗?
这仍然超出配额吗?如果是,为什么配额的请求指标正常Quota exceeded errors count 不包含数据?
我们是否缺少对 GKE 服务帐号的任何权限?
还有什么可以关联的?
提前致谢。
【问题讨论】:
标签: google-cloud-platform google-api stackdriver google-cloud-stackdriver google-cloud-monitoring