Skip to content

Observability

Every deployment comes with its own observability. Open it from the dashboard and you get status, logs, metrics and alerts for that one thing, with nothing to wire up and no third-party agent to run.

Screenshot of a deployment's Overview tab showing status, the public hostname, CPU and memory tiles and the observability panel
QuestionWhere
Is it up?The status pill on the Overview tab and on the dashboard list. See Status below.
What is it printing?The Logs tab. See Logs.
Is it busy?CPU, memory and replica tiles on Overview, plus request rate, p95 latency and network in and out for public web apps. See Metrics.
Tell me when it breaksAlerts on Overview: CPU, memory or restart thresholds that email you. See Alerts.
What changed and when?The Activity tab: rollouts, rollbacks, config changes, alert firings and who did them. See Rollbacks and activity.
How did the build go?The build log on the Activity tab and on each revision. See Builds and source.

A time picker on the Overview tab (15m, 1h, 6h, 24h or a custom window) is shared by the metrics and the Logs tab, so you can narrow in on an incident once and read everything in that window.

The status pill tells you the health of the live replicas against what you asked for.

StatusMeaning
HealthyEvery replica passes its health checks and the live config matches the saved config.
SyncingA change is rolling out: new replicas starting, old ones draining.
DegradedAt least one replica is failing health checks or restarting repeatedly. Check the Logs tab.
PausedReplicas set to 0, nothing running.
AsleepA scale to zero app or datastore parked itself; the next request wakes it.
DeletingBeing removed.

During a rollout the status moves through the steps below. If a health check fails, the rollout stops and the previous revision keeps serving.

A deployment's health progresses from syncing to pulling the image, starting the container and running a health check, which lands on healthy or degraded, with degraded able to recover back to healthy.A deployment's health progresses from syncing to pulling the image, starting the container and running a health check, which lands on healthy or degraded, with degraded able to recover back to healthy.

The same status is available from the terminal with okctl deploy status <id> and from a coding agent through the MCP server.

PlanLogs and metrics kept for
Pay as you go7 days
Personal30 days
Team90 days

Download logs from the Logs tab if you need to keep them longer.

If you run in your own AWS account, every page in this section applies to deployments on your cluster, and the cluster page adds node-level telemetry: node count, vCPU, memory and active deployments. See Clusters.