监控指标显示Node级别资源而非Pod级别资源的问题

  • EMQX版本:5.8.4
    在Kubernetes环境中部署EMQX时,我注意到监控面板中显示的内存和CPU负载信息都是Node级别的,而不是Pod级别的。这导致无法准确了解每个EMQX Pod的实际资源使用情况。
  1. 为什么EMQX默认显示Node级别的资源信息而不是Pod级别的?
  2. 这是设计上的限制还是配置问题?
  3. 如何配置或调整才能让EMQX显示Pod级别的资源监控信息?

要拿到 Pod 级别资源监控,拆成两层:

  1. EMQX 指标层:采集 /api/v5/prometheus/stats,如果要看每个节点,用 mode=all_nodes_unaggregated

  2. K8s 资源层:Prometheus 采集 kubelet/cAdvisor + kube-state-metrics,在 Grafana 按 pod 维度看 CPU/内存(例如 container_cpu_usage_seconds_totalcontainer_memory_working_set_bytes)。

  3. 如果你在用 EMQX Operator,按文档配置 PodMonitor 采集 /api/v5/prometheus/stats。这会拿到每个 EMQX Pod 的 broker 指标,但不会把 Dashboard 那个系统资源卡片改成 Pod 。