How I Simplified My Homeserver Monitoring Stack
Running Prometheus, node_exporter, and cAdvisor on my homeserver felt like the standard approach to monitoring — until I looked at what those tools were actually costing me.
cAdvisor alone was consuming more CPU than everything else in my monitoring stack combined. Two separate containers were doing one job: telling me what my machine and its containers were up to. For a Raspberry Pi and an old Lenovo laptop with limited headroom, that overhead was hard to ignore.
So I replaced the entire stack with VictoriaMetrics and FluentBit.
The Results
+------------------+------------------+--------------+
| Tool | CPU Utilization | Memory Usage |
+------------------+------------------+--------------+
| Old Stack | | |
| Prometheus | 0.754% | 307 MB |
| node_exporter | 0.351% | 10.2 MB |
| cAdvisor | 2.59% | 55.2 MB |
+------------------+------------------+--------------+
| New Stack | | |
| VictoriaMetrics | 0.431% | 190 MB |
| FluentBit | 0.379% | 31 MB |
+------------------+------------------+--------------+Old stack total: ~3.70% CPU, ~372 MB memory
New stack total: ~0.81% CPU, ~221 MB memory
What Changed
FluentBit replaced both node_exporter and cAdvisor. It handles node metrics, Docker container stats, and can ship logs from a single container. The trick was using FluentBit’s log_to_metrics filter to convert Docker container stats into Prometheus-compatible metrics.
Get Veerendra K’s stories in your inbox
Join Medium for free to get updates from this writer.
VictoriaMetrics dropped in as a Prometheus replacement with no query changes. Smaller binary, lower resource usage, and a native Grafana datasource plugin.
The Full Story
The migration had some interesting technical details — like why FluentBit’s log_to_metrics filter requires gauge mode even for counter-style metrics (spoiler: it's about how the cAdvisor implementation handles value_field).
I also ran cAdvisor and FluentBit side-by-side to compare accuracy. There’s a slight CPU reporting difference I still haven’t fully explained, but for homeserver monitoring it doesn’t matter.
Read the full two-part series:
- Part 1: Motivation and Migration — the technical setup, configs, and the gauge-vs-counter insight
- Part 2: Results and Conclusion — before/after screenshots, the full comparison, and dashboard migration
If you’re running a homelab or homeserver and want leaner monitoring, this approach is worth considering.









