Usiamo Prometheus per monitorare gli eventi OOM.
Questa espressione dovrebbe riportare il numero di volte in cui l'utilizzo della memoria ha raggiunto i limiti:
rate(container_memory_failcnt{pod_name!=""}[5m]) > 0
Cordiali saluti:questa è la cosa migliore dopo i documenti appropriati, il codice
Ora puoi utilizzare kube-state-metrics kube_pod_container_status_terminated_reason
per rilevare gli eventi OOM
kube_pod_container_status_terminated_reason{reason="OOMKilled"}
kube_pod_container_status_terminated_reason{container="addon-resizer",endpoint="http-metrics",instance="100.125.128.3:8080",job="kube-state-metrics",namespace="monitoring",pod="kube-state-metrics-569ffcff95-t929d",reason="OOMKilled",service="kube-state-metrics"}
Cronologia degli eventi per il tuo particolare spazio dei nomi, ordinata per creationTimestamp:
kubectl get events -n YOURNAMESPACE -o wide --sort-by=.metadata.creationTimestamp
O se vuoi controllare la cronologia degli eventi per tutti i namespace, ordinati per creationTimestamp:
kubectl get events --all-namespaces -o wide --sort-by=.metadata.creationTimestamp