You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prometheus未显示ServiceMonitors,ArgoCD Grafana面板无法加载求助

ArgoCD Grafana面板无数据故障排查步骤

1. 验证ArgoCD ServiceMonitor资源状态

  • 先确认ArgoCD相关的ServiceMonitor是否存在:
    kubectl get servicemonitors --all-namespaces | grep argocd
    
  • 查看目标ServiceMonitor的详细配置,重点检查端点、标签选择器和命名空间范围:
    kubectl describe servicemonitor <argocd-servicemonitor-name> -n argocd
    
    需确认:
    • spec.endpoints[*].port与ArgoCD metrics service的端口一致(通常为metrics或具体端口号如8082)
    • spec.namespaceSelector是否包含Prometheus所在命名空间,或设置为matchNames: [](允许所有命名空间)
    • spec.selector能正确匹配到ArgoCD的metrics service标签

2. 检查Prometheus权限配置

  • 验证Prometheus的ClusterRole是否拥有ServiceMonitor资源的访问权限:
    kubectl describe clusterrole <prometheus-clusterrole-name> -n monitoring
    
    确保包含以下权限:
    - apiGroups: ["monitoring.coreos.com"]
      resources: ["servicemonitors"]
      verbs: ["get", "list", "watch"]
    
  • 确认该ClusterRole已绑定到Prometheus的ServiceAccount:
    kubectl get clusterrolebindings | grep prometheus
    

3. 确认Prometheus配置重载生效

  • 检查Helm配置是否正确应用:
    helm get values <prometheus-release-name> -n monitoring
    
    确认serviceMonitorSelectorNilUsesHelmValues为false,且prometheusSpec.serviceMonitorSelector为空对象{}
  • 手动触发Prometheus配置重载(若启用了reload功能):
    kubectl exec -n monitoring <prometheus-pod-name> -- curl -X POST http://localhost:9090/-/reload
    
  • 查看Prometheus Pod日志,确认配置加载成功:
    kubectl logs -n monitoring <prometheus-pod-name> | grep "Loaded configuration"
    

4. 排查命名空间选择器过滤

  • 检查Prometheus是否设置了serviceMonitorNamespaceSelector,避免过滤掉ArgoCD所在命名空间:
    kubectl get prometheuses.monitoring.coreos.com <prometheus-name> -n monitoring -o jsonpath="{.spec.serviceMonitorNamespaceSelector}"
    
    若返回非空值,需确保ArgoCD所在命名空间的标签符合该选择器规则

5. 验证ArgoCD Metrics Service连通性

  • 确认ArgoCD metrics service存在且状态正常:
    kubectl get services -n argocd | grep metrics
    
  • 从Prometheus Pod内部测试metrics端点连通性:
    kubectl exec -n monitoring <prometheus-pod-name> -- curl http://<argocd-metrics-service-name>.argocd.svc:<port>/metrics
    
    若无法访问,排查网络策略、Service端口配置或ArgoCD metrics是否正常启用

6. 检查Prometheus Targets显示设置

  • 访问Prometheus UI的Targets页面,清空过滤框或搜索argocd关键词,确认是否存在相关目标(即使处于Down状态)
  • 若目标存在但Down,根据页面提示的错误信息(如连接超时、权限不足)进一步排查

内容的提问来源于stack exchange,提问作者Ajinkya Bapat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 22:52:37