我目前使用 Kubernetes Engine 管理一个托管在 Google Cloud Platform 上的网站。昨天我注意到 GKE 节点上的 CPU% 信息急剧下降到略高于 0。调查后发现显然没有问题——该网站仍然处于活动状态,并且通过 SSH 直接检查 CPU 使用率显示负载水平正常。看来 GKE 中由 Google 管理的监控代理无法准确报告 CPU 使用率,尽管所有其他值都报告正确。
有人遇到过这个问题吗?在这种情况下,有没有解决方案可以恢复准确的监测值?
--zig
编辑:为了澄清我的原始帖子,在突然出现不准确的 0% 报告之前,此信息源多年来一直准确反映我们实时实例的利用率。此信息源对于我们的开发和测试环境也继续保持准确。
答案1
GCP 主仪表板的 CPU 使用率与实例的单个 CPU 使用率不同。Google Developers Console 中显示的 CPU 使用率不是实例的 CPU 使用率,而是管理实例的容器的 CPU 使用率。此容器负责为实例提供虚拟化服务并收集用于负载平衡、自动扩展、云监控等的所有指标。因此,大量的 I/O 或网络操作会导致 Google Developers Console 中显示的 CPU 利用率飙升。
解决方法是使用 Stackdriver 监控自定义指标以获得更准确的 CPU 使用率指标。