TL;DR Node Exporter
Node Exporter runs on every CloudSonic server, exposing system metrics to Prometheus and accessible securely via Tailscale without opening any public ports.
Node Exporter is a Prometheus exporter that collects hardware and operating system metrics from Linux servers. It runs on every CloudSonic server, feeding CPU, memory, disk, network, and filesystem data into Prometheus for storage and alerting. All Node Exporter metrics on CloudSonic are bound to localhost and accessible only via Tailscale so your server metrics are never publicly accessible.
Node Exporter for Server Metrics on CloudSonic
Node Exporter on CloudSonic is bound to localhost and the Tailscale interface, meaning its metrics endpoint is never reachable from the public internet regardless of UFW firewall rules. Prometheus scrapes Node Exporter metrics over the Tailscale network on a regular interval, storing CPU, memory, disk I/O, network traffic, and filesystem usage as time-series data for querying and alerting in Grafana. The combination of Node Exporter, Prometheus, Grafana, and Tailscale gives you a complete observability stack for your CloudSonic server without exposing a single monitoring port to the public internet.
Useful Commands
curl http://127.0.0.1:9100/metrics
curl http://127.0.0.1:9113/metrics
curl http://127.0.0.1:9121/metrics