- EMQX版本:5.8.4
在Kubernetes环境中部署EMQX时,我注意到监控面板中显示的内存和CPU负载信息都是Node级别的,而不是Pod级别的。这导致无法准确了解每个EMQX Pod的实际资源使用情况。
- 为什么EMQX默认显示Node级别的资源信息而不是Pod级别的?
- 这是设计上的限制还是配置问题?
- 如何配置或调整才能让EMQX显示Pod级别的资源监控信息?
要拿到 Pod 级别资源监控,拆成两层:
EMQX 指标层:采集 /api/v5/prometheus/stats,如果要看每个节点,用 mode=all_nodes_unaggregated。
K8s 资源层:Prometheus 采集 kubelet/cAdvisor + kube-state-metrics,在 Grafana 按 pod 维度看 CPU/内存(例如 container_cpu_usage_seconds_total、container_memory_working_set_bytes)。
如果你在用 EMQX Operator,按文档配置 PodMonitor 采集 /api/v5/prometheus/stats。这会拿到每个 EMQX Pod 的 broker 指标,但不会把 Dashboard 那个系统资源卡片改成 Pod 。