GKE新指标API数据未显示,已尝试版本与权限调整仍需排查
我之前在排查GKE监控指标的时候也碰到过一模一样的情况,结合实际踩坑经验,你可能漏掉了这几个关键配置环节:
确认集群是否启用了Stackdriver Kubernetes Engine Monitoring
新的kubernetes.io系列指标依赖GKE与Stackdriver的完整集成,默认情况下,部分旧版本GKE集群可能没有开启这个功能。你可以在GCP控制台的集群详情页,检查"监控"配置项,确保已经启用了"Stackdriver Kubernetes Engine Monitoring"(部分旧界面叫"启用系统组件日志和监控")。如果是通过gcloud创建的集群,需要确保创建时添加了--enable-stackdriver-kubernetes参数。验证指标查询权限的主体
你提到给实例的Service Account赋予了Owner权限,但要注意:如果是你通过本地客户端(比如gcloud、API调用)查询指标,那需要确保你当前使用的账号(而非节点SA)拥有Monitoring Viewer或更高权限(比如Monitoring Editor)。节点SA的权限主要负责将指标上报到Stackdriver,而查询指标需要的是你用来发起请求的账号有对应的读取权限。等待指标采集的延迟时间
新的kubernetes.io指标采集和同步的延迟比旧版gcp/container指标要长,通常需要10-15分钟才能在监控系统中看到数据。如果刚配置完就查询,很可能还没有数据生成,建议等待一段时间后再尝试。确认Kubernetes版本的兼容性
虽然你尝试了1.8、1.10版本,但要注意:GKE对kubernetes.io指标的全面支持是从1.10版本开始的,1.8版本仅支持部分基础指标,而且可能存在兼容性问题。建议重点排查1.10集群的配置,确认是否满足指标采集的前提。核对指标名称的正确性
新指标的命名规则和旧版完全不同,比如旧版的gcp/container/cpu/utilization对应新版的kubernetes.io/node/cpu/utilization。你可以通过gcloud monitoring metrics list --filter="metric.type:kubernetes.io/*"命令列出所有可用的新指标,确保你查询的指标名称没有拼写错误。
如果以上步骤都检查过还是有问题,可以尝试重启集群的监控组件(比如通过GCP控制台的集群操作里的"重启监控代理"),或者查看Stackdriver的日志,排查是否有指标上报的错误信息。
内容的提问来源于stack exchange,提问作者jsirianni

