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

K8s中配置Prometheus采集Redis指标后无数据,需补充什么配置?

排查Redis指标未显示在Prometheus中的配置要点
  • 检查Prometheus的ServiceMonitor选择器匹配规则
    kube-prometheus-stack默认的Prometheus实例只会选择带有特定标签的ServiceMonitor。执行命令查看Prometheus的配置:
    kubectl get prometheus kube-prometheus-stack-prometheus -n monitoring -o yaml
    找到serviceMonitorSelector字段,确认它的匹配标签是否和你的Redis ServiceMonitor标签一致。如果Redis的ServiceMonitor没有对应的标签,需要给ServiceMonitor添加匹配标签,比如:

    metadata:
      labels:
        release: kube-prometheus-stack  # 该标签需与Prometheus的serviceMonitorSelector.matchLabels完全匹配
    
  • 验证ServiceMonitor的Endpoints配置
    检查Redis ServiceMonitor的endpoints是否正确指向metrics容器的端口和路径:
    kubectl get servicemonitor <redis-servicemonitor-name> -n monitoring -o yaml
    确认endpoints[0].port是metrics容器暴露的端口名(通常为metrics),path是否为/metrics(Redis exporter默认路径),同时确认namespaceSelector是否包含Redis所在的命名空间,或设置为any: true。

  • 确认Redis Metrics Exporter的正常运行
    进入Redis Pod的metrics容器,手动访问metrics接口验证数据是否生成:
    kubectl exec -it <redis-pod-name> -n <redis-namespace> -c metrics -- curl localhost:<metrics-port>/metrics
    如果无指标数据返回,说明exporter未正确连接Redis主节点或sentinel实例,需检查metrics容器的连接配置。

  • 排查NetworkPolicy或防火墙限制
    确认monitoring命名空间的Prometheus Pod可访问Redis所在命名空间的metrics服务端口。若存在NetworkPolicy,需添加允许Prometheus访问Redis metrics端口的规则。

  • 验证Prometheus的ServiceMonitor命名空间扫描范围
    检查Prometheus的serviceMonitorNamespaceSelector配置,确认它包含Redis ServiceMonitor所在的monitoring命名空间,或设置为any: true,确保Prometheus能扫描到该命名空间下的ServiceMonitor实例。

内容的提问来源于stack exchange,提问作者prosto.vint

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 14:17:04