Metricbeat kubernetes module doesn't report container memory


Starting from k8s version 1.14, the kubelet /stats/summary endpoint doesn't return memory info per container but rather per pod only. Looks like metricbeat doesn't handle that and therefor the pre-generated dashboard for k8s (the one using mostly metric-state metrics called [Metricbeat Kubernetes] Overview ECS) shows nothing for memory.

Strange thing is, switching it to kubernetes.pod.memory.usage.bytes doesnt work either because it uses the same endpoint and the same container fields even though the pod metrics returned from that endpoint would work perfectly.
So both the beat logic in data.go (under kubernetes/container) and the dashboard setup seem to be broken.

funny enough, on the documentation they claim that it's tested on v 1.14 but I did check and it doesn't work on any version above 1.13

Anything I'm missing?
Thanks in advance,



I'm running on Ubuntu and tested this on microk8s. It turns out that this works when I'm using minikube on kvm. minikube uses docker as runtime while microk8s uses containerd (shouldn't that be the same underneath for docker as well?). So perhaps something with regards to the kubelet metric provider is off when I use microk8s.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.