ZeusK8s
Observability

Engineers in panic mode, googling why pods are evicting. That's not an observability strategy.

Most teams have visibility into one cluster, in one tool, after a lag. When something breaks at 3am across three clusters, that's not enough. Zeus streams the real state of all your clusters in one place — and lets you act on what you see without switching tools.

Live, not after the fact

What's actually running right now, across every cluster.

Pod status, restart counts, CPU and memory, deployment health — across every cluster and cloud, streaming live. Not a dashboard you refresh and hope is current. The state you see is the state the cluster is in.

When a pod is evicting, you see it as it happens. When a deployment is rolling, you watch each replica go green. When a node is under pressure, the metrics show it before the alert fires. You're watching the cluster, not waiting for a summary of what happened.

And when you see something wrong, you can act on it from the same screen — tail logs, exec a shell, restart a pod, scale replicas — without context-switching to kubectl or another tool.

Zeus · Logs — api-gateway
Pods
Logs
Metrics
Events
filter logs…
api-gateway-7d4f… ▾
production-us ▾
streaming
14:23:01 api-gateway INFO POST /api/auth/token 200 OK 34ms user=user_8821
14:23:01 api-gateway INFO DB query 4ms pool=primary rows=1
14:23:02 worker-5b2e INFO Job dequeued id=job_92841 queue=notifications
14:23:02 api-gateway WARN Rate limit: 87/100 for ip=203.0.113.4
14:23:03 worker-5b2e INFO Email dispatched recipients=3 latency=210ms
14:23:04 api-gateway ERROR connect ETIMEDOUT 10.96.14.2:5432 — DB primary unreachable
14:23:04 api-gateway ERROR Retrying connection (attempt 1/3)
14:23:05 api-gateway WARN Retry 1 failed, waiting 500ms
14:23:06 api-gateway INFO DB reconnected pool=primary latency=12ms
14:23:07 api-gateway INFO POST /api/auth/token 200 OK 12ms user=user_3310
·
tail 100 · all levels
What you can do

See it. Understand it. Fix it. From one screen.

Streaming logs with filters

Tail logs from any pod in any cluster, filtered by keyword, severity, or time window. Multi-pod log merge for services with multiple replicas. No kubectl port-forwarding, no SSH.

Interactive shell in the browser

Drop into a container shell directly from the pod view. Debug, inspect files, run commands — without leaving the console or setting up local access to the cluster.

Prometheus metrics per workload

CPU, memory, and network graphs per pod, deployment, and node. Any service that exposes metrics gets scraped automatically — custom dashboards without a separate Grafana setup for basic operational visibility.

Kubernetes events you can act on

A live event stream — OOMKills, evictions, scheduling failures, probe failures — that you can flag for investigation and mark resolved. An audit trail of what happened and what was done about it.

Multi-cluster

One incident. Three clusters. One place to look.

When something goes wrong in a multi-cluster setup, the problem is usually that you can't see all the relevant signals in one place at once. You're tabbing between cloud consoles, kubectl contexts, and a Slack thread trying to correlate what you're seeing.

All clusters, one pod list

Filter pods across every cluster at once. An eviction on production-eu shows up in the same list as production-us.

Deployment status across clouds

A rolling deploy shows per-cluster progress in one timeline — not three separate kubectl rollout status calls.

Node pressure across the fleet

See which nodes are under CPU or memory pressure across all clusters. Spot patterns a per-cluster view hides.

Log correlation across services

Tail logs from the api-gateway in us-east and the downstream service in eu-west side by side.

Events from every cluster

A single event stream from all clusters lets you see if an issue is isolated or happening everywhere at once.

Act without switching context

Restart, scale, exec — from the multi-cluster view. No kubectl context switching mid-incident.