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 aCLOUDFLARE_API_TOKENthat 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, orea statusfor 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.