alert: KubeContainerOomKilled
expr: kube_pod_container_status_last_terminated_reason{reason="OOMKilled"} == 1
and on (namespace, pod, container)
increase(kube_pod_container_status_restarts_total[10m]) > 0
for: 0m
severity: warning
Сообщение алерта: Контейнер {{ $labels.container }} убит по OOM ({{ $labels.namespace }}/{{ $labels.pod }})
Контейнер был перезапущен, и причиной последнего завершения стал OOMKilled: процесс превысил лимит памяти (resources.limits.memory). Алерт активен, пока в течение 10 минут был рост счётчика перезапусков.
Слишком низкий лимит, утечка памяти, пиковая нагрузка, настройки runtime (JVM heap, Node.js) выше лимита контейнера.
kubectl -n <ns> describe pod <pod> # Last State: Terminated, Reason: OOMKilled
kubectl -n <ns> top pod <pod> --containers
kubectl -n <ns> get pod <pod> -o jsonpath='{.spec.containers[*].resources}'
kubectl -n <ns> logs <pod> -c <контейнер> --previous
Увеличить лимит памяти, привести настройки приложения к лимиту, найти утечку. Сохраняйте разумную разницу между requests и limits.
Для тестовых и пакетных задач, где OOM ожидаем.
Весь набор из 44 протестированных правил + Alertmanager → Telegram: 790 ₽
Открыть в Telegram · Бесплатный набор Monitoring Lite · Все алерты runbook