Pods fail in ways
kubectl describe won't catch in time.
Crash loops, OOM kills, failed scheduling, image-pull errors — the signal is scattered across pod logs and events in a dozen namespaces. By the time you describe the pod, it's already been replaced. Epok reads it from the first log.
Kubernetes failures are loud in the cluster and quiet in your inbox. A pod OOM-kills and restarts; a deployment can't schedule because a node is full; an image pull fails on a typo'd tag. The evidence lives in pod logs, events, and restart counts — and it rotates out as pods churn.
Catching it usually means a Prometheus rule per failure mode, a working kube-state-metrics pipeline, and someone who remembers to look. For a small team, that's a project that never quite ships.
Pod failure modes, understood
Crash loops, OOM kills, failed scheduling, and image-pull errors are recognized from the log and event stream — and corroborated with kube-state and host/container metrics when you send them. No rule per failure type.
No agent to install
Point your existing log shipper at one endpoint — nothing new to install to start. Send Kubernetes events and kube-state / container metrics the same way when you want deeper coverage.
One incident per workload
A crash-looping pod produces dozens of identical lines. They fold into a single incident for the workload, with the restart pattern, not dozens of pages.
Tied to what changed
When a rollout triggers the crashes, the deploy lands in the same timeline — so “new image, immediate OOM” reads as one story.
- ✓An alert naming the workload and the failure mode (crash loop, OOM, unschedulable) from the first occurrence.
- ✓The restart pattern and the events that led up to it, captured before the pod rotates out.
- ✓Repeated crash lines grouped into one incident instead of a pager storm.
- ✓The triggering rollout correlated in, when a deploy is the cause.
Logs and events give you pod-failure intelligence on day one — and when you also send kube-state or host metrics, Epok folds memory saturation and the OOM it causes into one incident. No rule per failure mode to maintain.
Watch it catch this one. No signup.
The live demo runs detection on real-shape data — every alert cited back to the line behind it. Or send your own logs in the 14-day trial.