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

K8s集群中RabbitMQ指定监控指标在Prometheus中缺失求助

排查RabbitMQ指定Prometheus指标缺失的步骤

1. 确认指标名称映射

RabbitMQ的Prometheus插件会对原生指标做重命名,你要找的几个指标对应新名称如下:

  • rabbitmq_running → rabbitmq_management_agent_running
  • rabbitmq_up → 名称不变,但可能因采集配置未生效导致无数据
  • rabbitmq_node_mem_used → rabbitmq_node_memory_used_bytes
  • rabbitmq_node_mem_limit → rabbitmq_node_memory_limit_bytes
    先在Prometheus中尝试查询这些重命名后的指标,看是否能返回结果。

2. 验证Prometheus插件启用状态

进入RabbitMQ Pod执行命令,确认插件已启用:

kubectl exec -it <rabbitmq-pod-name> -- rabbitmq-plugins list | grep prometheus

输出需包含prometheus或rabbitmq_prometheus(不同版本名称略有差异),若未启用,执行启用命令:

kubectl exec -it <rabbitmq-pod-name> -- rabbitmq-plugins enable rabbitmq_prometheus

3. 检查RabbitMQ指标端点

在集群内直接访问RabbitMQ的指标端点,确认目标指标是否存在:

kubectl exec -it <prometheus-pod-name> -- curl http://<rabbitmq-service-name>:15692/metrics

在返回内容中搜索重命名后的指标,若能找到则是Prometheus采集配置问题;若找不到,需检查RabbitMQ版本(旧版本插件可能不支持部分指标)。

4. 核对Prometheus ServiceMonitor配置

若使用Prometheus Operator,确认RabbitMQ对应的ServiceMonitor配置:

  • 检查endpoints中的port是否为RabbitMQ暴露指标的端口(默认prometheus或15692)
  • 确认path为/metrics
  • 验证namespaceSelector和selector能匹配RabbitMQ的Service
    查看ServiceMonitor资源:
kubectl get servicemonitors -n <rabbitmq-namespace> <rabbitmq-servicemonitor-name> -o yaml

5. 检查RabbitMQ Helm Chart配置

若通过官方Helm Chart部署,确认metrics.enabled和metrics.serviceMonitor.enabled是否设为true:
查看当前Helm配置:

helm get values <rabbitmq-release-name> -n <rabbitmq-namespace>

若未开启,更新配置:

helm upgrade <rabbitmq-release-name> bitnami/rabbitmq -n <rabbitmq-namespace> --set metrics.enabled=true,metrics.serviceMonitor.enabled=true

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 15:35:02