Monitoring
Every app is observable out of the box — live CPU, memory, traffic, and line-by-line logs, in the console and over MCP, with no exporters to wire up.
Every app you deploy is observable the moment it’s live — no dashboards to wire up, no exporters to install, no query language to learn. The console shows how an app is doing right now and over the last 24 hours, and your coding agent reads the same signals over MCP, so a person and an agent are always looking at the same truth. Three things are covered out of the box: resource usage, HTTP traffic, and logs.
Resource usage
Live CPU and memory against what you’ve allocated, as a 24-hour graph — usage versus the request floor and the limit ceiling. It’s where you see at a glance whether an app is comfortable or bumping its ceiling, and it’s the exact signal an operating agent reads to right-size a project and drop idle capacity off the hourly bill.
Traffic
For every app that serves HTTP, the traffic panel tracks the four numbers that tell you it’s healthy:
Error rate and p95 latency are the two to watch — a climbing error rate or a latency spike is usually the first sign something regressed. And because every deploy lands on the record, you can line a spike up against the exact change that caused it.
Logs
For the line-by-line detail behind a metric, read the app’s logs — the Logs tab in the console (pod and container selector, live tail), or nyx_app_logs from your coding agent, which reads structured, timestamped output directly with no shell hop and handles a scaled-to-zero app cleanly. The same view is where you confirm a Job or CronJob run did its work. Scan for the usual suspects: Exception, panic, Connection refused, OOMKilled, a readiness probe failing.
One signal, two readers
Monitoring isn’t a separate product bolted on — it’s the same telemetry surfaced two ways. A person opens the Monitoring and Logs tabs; an agent calls nyx_app_logs and nyx_project_state over MCP whenever it needs to make an operations call. Neither is looking at a stale copy of the other, which is what lets an agent operate an app you can still watch in real time. Health has a security sibling, too: every app’s image is CVE-scanned automatically — see Security scanning.
Coming: agent-level observability
Watching an app is solved. Watching the agent operating it — is it stuck, looping, burning cost, drifting off its budget — is the next layer, and it’s one nyxory already runs its own agents on: a monitoring layer that traces every run step by step, flags a run that’s gone quiet or circular, and raises an alert. Bringing that same lens to the agents and apps you run here, with alerting that an operations agent can act on, is landing — the record every run already writes is the foundation it reads.