Monitoring
Operational monitoring of a Smart Corridor node has three layers: container health (is everything running), pipeline health (are events flowing), and biometric health (are identifications good). Watch all three — a node can be green on containers while a disconnected camera silently produces zero identifications.
Container and service health
The node is a Docker Compose stack, so standard container monitoring applies: container state and restarts, host CPU/GPU, memory, and disk (PostgreSQL growth when storage is enabled). docker compose ps and docker compose logs <service> are the first diagnostic stop; feed the same signals into whatever fleet monitoring you already run. VPP's own monitoring guidance is in the VPP platform documentation.
Pipeline health: events as a heartbeat
The most honest health signal is the event stream itself. A camera that streams but detects nothing, or an adapter that stopped translating, shows up as silence on the Hub's /graphql subscriptions. A lightweight watchdog that subscribes to the combined events stream and alerts when a unit produces no events during expected traffic hours catches whole classes of failure that container checks miss.
Biometric health
Track the per-unit ratios of identification.match, no_match, and condition_violation over time. Drift in these ratios — with no configuration change — usually means the physical environment changed: seasonal light, a moved queue barrier, a dirty lens. The Officer Monitoring App gives the live view; for trends, consume the stream into your own metrics system via Consuming Events.