Device health, metrics & logging
What NervesHub collects from devices (health metrics, alarms, network info, geo, connection history, and optional logs) and where it's stored.
Written By Josh Kalderimis
Last updated About 2 months ago
Beyond delivering firmware, NervesHub gives you visibility into what your fleet is doing. This page explains what's collected, how, and where it lives. To turn these on, see Device health, metrics & geo and Manage products.
What's collected
How it flows
Health and Geo are extensions: non-critical features that ride the same websocket as firmware updates, but are kept separate so they never interfere with an update. The device reports on an interval you configure, and NervesHub stores the results and shows them on the device's Health page and across the product.
Connection tracking is built in: NervesHub records each device's connections and last-seen time so you can see what's online at a glance.
Storage and retention
Most telemetry lives in PostgreSQL alongside the rest of your data, with retention and cleanup controlled by configuration (see the self-hosting configuration reference for the health, connection, and cleanup variables).
Device logs and richer analytics (Insights) use the optional ClickHouse database. If you don't run ClickHouse, log capture and Insights are unavailable and everything else works unchanged. This keeps a minimal deployment lean while letting larger operators opt into deeper observability.
Acting on telemetry
Telemetry isn't just for dashboards. It feeds real decisions:
Rollouts can be restricted by network interface, so you avoid large updates over cellular.
Support scripts and the remote console let you dig into a specific device when its health looks wrong.
Audit logs record what was done, across orgs, products, devices, and deployments.