GITA-INC-001HIGHPodContainer is unhealthy
Field checked: status.containerStatuses[].state
- Opens when
- A container is in the waiting state with any reason other than ContainerCreating or PodInitializing, for example CrashLoopBackOff, ImagePullBackOff, ErrImagePull or CreateContainerConfigError.
- A waiting state without a reason also opens the incident, reported as “Waiting”.
- Resolves when
- The container has been running for at least 5 minutes, measured from its start time. Gita checks again at that moment even if the Pod does not change.
- The container terminates and the Pod will not restart it: restartPolicy Never, OnFailure with exit code 0, or a Pod that has Succeeded or Failed.
- The container no longer appears in the Pod status, or the Pod is deleted.
- Missing or unknown status
- A restart keeps the incident open: ContainerCreating, PodInitializing, a run shorter than 5 minutes and a termination that will be restarted do not resolve it, so a CrashLoopBackOff stays one incident instead of reopening on every restart. A running Pod that declares containers but reports no container statuses is not evaluated; the current state of its findings is kept.
Gita opens one incident per container, so two failing containers in one Pod are two incidents. A terminated container does not open this rule, even with a non-zero exit code: a Pod that fails as a whole is reported by GITA-INC-002. Init containers are not evaluated.
status:
phase: Running
containerStatuses:
- name: api
state:
waiting:
reason: CrashLoopBackOff # opens GITA-INC-001 for "api"kubectl get pod <pod> -n <namespace> \
-o jsonpath='{range .status.containerStatuses[*]}{.name}{"\t"}{.state}{"\n"}{end}'