Install Prometheus on Ubuntu 24.04: Prometheus vs Netdata for Linux Server Monitoring

October 13, 2026

Jonathan Dough

Install Prometheus on Ubuntu 24.04 if you want durable Linux server monitoring, strong alerting, and clean Grafana dashboards. Use Netdata if you want instant visibility with almost no setup. Ubuntu 24.04 LTS is a good base because it receives five years of standard security maintenance, which matters for a monitoring server you do not want to rebuild every few months [source: Canonical].

TLDR: Prometheus is best for teams that need historical metrics, alerts, and multi-server monitoring. Netdata is better when you need a dashboard in under five minutes and do not want to write queries. For example, a small SaaS team monitoring 12 Ubuntu servers may use Netdata first to catch CPU spikes, then move to Prometheus when they need 30-day retention, alert rules, and Grafana reports. If you only have one server, Netdata feels easier; if you have five or more, Prometheus starts to pay off.

Prometheus vs Netdata: the quick answer

Prometheus is a time-series database and monitoring system. It scrapes metrics from targets such as Linux servers, containers, databases, and apps. It stores those metrics and lets you query them with PromQL. It is powerful, but not exactly cuddly.

Netdata is a real-time monitoring agent with a polished web UI. Install it, open the dashboard, and you immediately see CPU, RAM, disk, network, processes, and system health. Honestly, it feels like Netdata was built for the moment when a server is on fire and nobody wants to read documentation.

Image not found in postmeta
  • Choose Prometheus for long-term metrics, alerting, Grafana, Kubernetes, and larger fleets.
  • Choose Netdata for fast setup, local troubleshooting, and rich real-time charts.
  • Use both if you want Netdata on each server and Prometheus as the central metrics store.

Install Prometheus on Ubuntu 24.04

The fastest clean install uses Ubuntu packages. They may not always be the newest upstream release, but they are simple to update and easy to manage with systemd.

sudo apt update
sudo apt install prometheus prometheus-node-exporter -y

Start and enable both services:

sudo systemctl enable --now prometheus
sudo systemctl enable --now prometheus-node-exporter

Check the service status:

systemctl status prometheus
systemctl status prometheus-node-exporter

Prometheus runs on port 9090. Node Exporter, which exposes Linux system metrics, runs on port 9100. Open Prometheus in a browser:

http://your-server-ip:9090

If UFW is active, allow access from your admin IP rather than the whole internet:

sudo ufw allow from YOUR_ADMIN_IP to any port 9090 proto tcp

The catch is that Prometheus is not something you should expose publicly without authentication or a reverse proxy. It has no built-in user login. Put it behind Nginx, Caddy, a VPN, or a private network.

Confirm Node Exporter is scraped

Open the Prometheus web UI and go to Status > Target health. You should see a target for localhost:9100. If it is green, Prometheus is collecting Linux metrics.

You can also run a query in the Prometheus expression browser:

node_cpu_seconds_total

For quick CPU pressure, try:

100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

This returns approximate CPU usage by instance. It looks ugly at first. That is normal. PromQL is powerful, but it has a learning curve that feels longer than it should for basic questions like “why is my CPU angry?”

Basic Prometheus config on Ubuntu 24.04

The main config file is usually here:

/etc/prometheus/prometheus.yml

A basic scrape section may look like this:

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

  - job_name: "node"
    static_configs:
      - targets: ["localhost:9100"]

After editing the file, validate and restart:

promtool check config /etc/prometheus/prometheus.yml
sudo systemctl restart prometheus

If you want to monitor another Ubuntu server, install prometheus-node-exporter on that server, allow port 9100 only from the Prometheus server, then add its IP under the node job.

Where Netdata is better

Netdata wins on first impressions. Its dashboard is ready almost immediately. You get charts for CPU steal time, disk latency, memory pressure, network drops, processes, systemd units, and more. No query language is required.

That matters during an outage. If a server is slow, Netdata can show the issue in seconds. Disk writes jumped. A process used all RAM. Network packets dropped. You get answers fast.

Installing Netdata is also simple. The official installer is one command, and the project documents several install methods [source: Netdata]. For a single VPS, it is hard to beat.

Still, Netdata has limits. Long-term storage and fleet-wide setups can get more complex. Netdata Cloud helps, but some teams prefer keeping metrics fully inside their own stack. Prometheus is often the safer fit for that.

Where Prometheus is better

Prometheus shines when monitoring becomes part of operations. It is not just a pretty chart tool. It is a metrics engine.

  • Alerting: Pair it with Alertmanager to send alerts to email, Slack, PagerDuty, or webhooks.
  • Retention: Keep metrics for days or weeks, depending on disk size and config.
  • Grafana support: Build clean dashboards for servers, apps, and business metrics.
  • Exporters: Use exporters for Nginx, MySQL, PostgreSQL, Redis, Blackbox checks, and more.
  • Kubernetes support: Prometheus is widely used in container platforms.

Prometheus uses a pull model. It scrapes endpoints at set intervals. That design makes target health visible. If a target is down, Prometheus knows it is missing. Netdata is more agent-first and dashboard-first.

A practical setup for small teams

A sensible setup for a small Linux team looks like this:

  • One Ubuntu 24.04 server runs Prometheus.
  • Every Linux server runs Node Exporter.
  • Grafana displays dashboards.
  • Alertmanager sends alerts.
  • Netdata runs on critical servers for instant troubleshooting.

This gives you both views. Prometheus handles history and alerts. Netdata helps when you need to stare at a live server and catch weird behavior right now.

Image not found in postmeta

Security tips after installation

Do not leave Prometheus open to the public. Restrict access with firewall rules. Use a VPN or reverse proxy with authentication. Keep Node Exporter private too, since it exposes detailed system data.

  • Allow port 9090 only from trusted IPs.
  • Allow port 9100 only from the Prometheus server.
  • Back up /etc/prometheus/prometheus.yml.
  • Watch disk usage under Prometheus data storage.
  • Use labels carefully, or your metric count can explode.

Final recommendation

If you want serious Linux server monitoring on Ubuntu 24.04, start with Prometheus plus Node Exporter. Add Grafana when you want better dashboards. Add Alertmanager when missed incidents start costing sleep.

If you are troubleshooting one machine and need answers right away, install Netdata. It is faster to understand and easier to show to non-specialists. For most growing teams, the best answer is not Prometheus or Netdata. It is Prometheus for central monitoring and Netdata for live diagnostics.

Also read: