Container & Kubernetes

Docker, watched the way a human would.

Every container's status, health check, CPU, and memory — tracked over time, alertable, correlated with its own logs, and predicted against its own history. No sidecar, no separate agent, no extra install.

4lifecycle/health alert types
2predictive layers: ETA & anomaly
0extra agents per container
What's Tracked

Live status, right next to your hosts.

Kllyroo container list with status, health, CPU and memory
Alerting

Every alert type, with its own incident trail.

Alert typeFires whenNotes
oom_killedContainer killed by the kernel for exceeding its memory limitDistinguished from a normal exit or crash
crash_loopedRepeated restart cycling detectedFixed-threshold safety net — always fires regardless of baseline
image_changedThe running image digest changed unexpectedlyUseful for catching unplanned deploys or drift
unhealthyDocker's own healthcheck reports unhealthyReads the healthcheck you already defined — nothing extra to configure
cpu_threshold / mem_thresholdCPU or memory crosses a configured limitComplemented by the ETA prediction below — a warning before the threshold, not just at it
restart_rate_anomalyRestart rate exceeds this specific container's own baselineSee "Restart-rate anomaly detection" below — the more interesting alert of the two restart-related types

A queue worker restarting hourly is normal. A database restarting hourly isn't.

A single fixed threshold ("alert after 3 restarts") can't express that — different containers have wildly different normal cadences by design. So instead of a global number, Kllyroo computes an exponential-moving-average baseline of restart rate per container, learned from that container's own history, and flags a deviation from its own normal — not from an arbitrary constant.

The baseline starts from a short bootstrap period before going live, so a freshly deployed container isn't falsely flagged on day one just for having no history yet.

Restart baseline — gochat-postgres-1
ALERT · restart_rate_anomalygochat-postgres-1
Restart rate is well above this container's own baseline — 5 restarts in 15 min vs. a typical 0.1.
Fix: check the container's own logs for the crash reason — this is a real deviation from its normal cadence, not noise.
Predictive Layer

CPU and memory ETA prediction, per container.

Every container gets the same trend-based "about to tip over" forecasting described in full on the Predictive Alerts page — applied here per container rather than per host.

CPU ETA — worker-queue
PREDICTED · cpu_eta_risk~4 min out
CPU trending toward 90% — projected to cross in about 4 minutes.
Memory ETA — postgres-1
PREDICTED · mem_eta_risk~7 min out
Memory trending toward its 1 GB limit — projected to cross in about 7 minutes.
Memory ETA prediction only runs where a memory limit is actually configured — Kllyroo reads the real limit from Docker (HostConfig.Memory), not the host's total RAM, so an unlimited container correctly shows no ETA rather than a misleading one.
Where We Stand

Scope, honestly.

What's covered

  • Lifecycle, health, CPU, and memory — tracked and alertable
  • Per-container history graphs with a date-range filter, same as hosts
  • Restart-rate anomaly detection baselined per container
  • CPU and memory ETA-to-threshold prediction
  • Each container's log stream matched against the signature library

On the roadmap

  • Per-container disk and network metrics (not collected today, so no ETA/anomaly on those yet)
  • LLM-based RCA enrichment layer on top of the deterministic signatures
Pairs Well With

Related capabilities

Get In Touch

Reach us directly.

Offices in India and the US — reach out and we'll get back to you.