AKS关联新Azure托管Prometheus失败:仍指向已删除旧资源
解决AKS持续指向已删除旧托管Prometheus的问题
1. 强制刷新AKS监控关联配置
AKS集群的监控配置可能留存了缓存,直接用Azure CLI指定新Prometheus实例更新:
- 启用监控并关联新实例:
az aks update --resource-group RG1 --name <你的AKS集群名> --enable-azure-monitor-metrics --prometheus-resource-id /subscriptions/<订阅ID>/resourceGroups/RG1/providers/Microsoft.Monitor/accounts/<新Prometheus名称> - 若之前禁用过监控,先彻底移除旧配置再重新关联:
az aks disable-addons -a monitoring --resource-group RG1 --name <你的AKS集群名> az aks enable-addons -a monitoring --resource-group RG1 --name <你的AKS集群名> --prometheus-resource-id <新Prometheus资源ID>
2. 清理kube-system下的残留监控组件
旧配置可能被注入到ama-metrics系列Pod中,需要强制重启这些组件:
- 删除现有监控Pod,AKS会自动部署带新配置的实例:
kubectl delete pods -n kube-system -l app=ama-metrics - 检查并修正
ama-metrics-config配置映射:
如果输出中仍出现RG2的旧Prometheus地址,直接编辑更新:kubectl get configmap ama-metrics-config -n kube-system -o yamlkubectl edit configmap ama-metrics-config -n kube-system
3. 验证资源关联状态
- 确认AKS的监控配置已指向新实例:
检查返回的az aks show --resource-group RG1 --name <你的AKS集群名> --query "addonsProfiles.monitoring.config"prometheusResourceId是否为RG1下新Prometheus的资源ID。 - 确保新Prometheus已添加AKS作为数据源:
若未找到AKS数据源,手动添加:az monitor account datasource list --resource-group RG1 --name <新Prometheus名称>az monitor account datasource create --resource-group RG1 --name <新Prometheus名称> --datasource-type aks --cluster-resource-id /subscriptions/<订阅ID>/resourceGroups/RG1/providers/Microsoft.ContainerService/managedClusters/<你的AKS集群名>
4. 等待配置同步
Azure资源配置同步存在延迟,操作完成后等待15-30分钟,再通过Prometheus或Grafana验证数据采集是否正常。
内容的提问来源于stack exchange,提问作者Nikhil Sharma
相关产品推荐
相关产品推荐

