Sitemap
Veerendra K

Veerendra K

I’m Veerendra, Site Reliability Engineer, passionate about tech. You can also find my blog posts in https://veerendra2.github.io/

How I Simplified My Homeserver Monitoring Stack

2 min readJun 24, 2026

--

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:

If you’re running a homelab or homeserver and want leaner monitoring, this approach is worth considering.

--

--

Veerendra K
Veerendra K

Written by Veerendra K

I’m Veerendra, Site Reliability Engineer, passionate about tech. You can also find my blog posts in https://veerendra2.github.io/