A server can be "up" and still be quietly failing you. Disk filling up over weeks, memory creeping toward a swap death spiral, a backup job that's been silently erroring for days — none of that shows up in a basic uptime check. The only way to catch it is to actually watch the numbers over time.
This guide sets up a self-hosted observability stack on a Bare Metal Server running Ubuntu 24.04 LTS.
How the Pieces Fit Together
text
[Node Exporter :9100] ──scraped by──► [Prometheus :9090] ──queried by──► [Grafana :3000]
Node Exporter: Reads hardware statistics straight from the kernel.
Prometheus: Pulls (scrapes) metrics from exporters and stores them as time-series data.
Grafana: The visualization layer that queries Prometheus using PromQL.
Step 1: Create Dedicated System Users
sudo useradd --no-create-home --shell /bin/false prometheus
sudo useradd --no-create-home --shell /bin/false node_exporter
sudo mkdir -p /etc/prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /etc/prometheus /var/lib/prometheus
Top comments (0)