Skip to content

Monitoring

Health checks

Service URL Response
Nexus https://<nexus-host>/healthz {"status":"ok","version":"<version>"}
Authz https://<authz-host>/healthz ok
Realtime https://<realtime-host>/healthz ok
radius API /health/live, /health/ready live: no dependencies; ready: checks the database

Hostnames per environment are in Deployment. The first request after idle pays a container cold start.

The portal polls the nexus /healthz every 15 seconds for its connection banner and takes the version field for the About dialog.

Logs

  • Nexus, authz, Zitadel, radius API: Scaleway Cockpit (Grafana), serverless containers data source. Cockpit is not managed by Terraform.
  • Realtime Worker: npx wrangler tail --env <dev|stg|production> --format=pretty, with a CLOUDFLARE_API_TOKEN that can read Workers.
  • Portal: static Pages hosting has no runtime logs; use the browser console and network tab.
  • Edge agent: on the device, tail -f /var/log/daemon | grep edge-agent, or ea status for the live dashboard (reads the agent's state file, so it works while the agent cannot reach the platform). Without a local login, use the portal Console.

Device views in the portal

The device page shows config history (ListConfigVersions), live state over the viewer WebSocket, the log tail (GetGatewayLogs), CPU/memory/temperature series (GetGatewayMetrics, 24 hours), the device events audit trail, and the agent version and channel. The fleet list flags devices whose LAN has no outbound NAT and the admin Devices page flags devices running outdated system rules.

Relays

Admin > Relays shows each relay's last heartbeat and state. See Relay Fleet.

Alerts

No automated alerting or paging is configured.