Netdata is a monitoring agent that auto-detects what’s running on a server and shows hundreds of metrics — CPU, memory, disks, network, Nginx, MySQL, Docker containers — in a live dashboard at one-second resolution. It ships with sensible alerts out of the box. If you want visibility right now without building a monitoring stack, Netdata is the fastest route.

1. Install

The official kickstart script installs the agent from Netdata’s repositories (or static builds) and sets up automatic updates:

wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
less /tmp/netdata-kickstart.sh        # review it
sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry

Many distributions also package it (sudo apt install netdata), usually as an older version.

Check that it runs:

systemctl status netdata --no-pager
curl -s http://localhost:19999/api/v1/info | head

2. Secure the dashboard

Netdata’s dashboard listens on port 19999. Don’t expose it publicly — it reveals detailed information about your server. Options:

Bind it to localhost in /etc/netdata/netdata.conf:

[web]
    bind to = 127.0.0.1

Restart (sudo systemctl restart netdata) and open it through an SSH tunnel:

ssh -L 19999:127.0.0.1:19999 user@your-server

Then browse to http://localhost:19999.

Or put it behind Nginx with authentication:

location /netdata/ {
    auth_basic "Monitoring";
    auth_basic_user_file /etc/nginx/.htpasswd-netdata;
    proxy_pass http://127.0.0.1:19999/;
    proxy_set_header Host $host;
    proxy_http_version 1.1;
    proxy_set_header Connection "keep-alive";
}

Or restrict by firewall to your IP or VPN subnet only.

(The netdata.conf file may not exist until you create it; sudo /etc/netdata/edit-config netdata.conf opens it with defaults.)

3. What you get automatically

Netdata detects and charts, with no configuration:

  • System: CPU per core (including steal and iowait), load, memory, swap, disks I/O and latency, filesystems, network interfaces, TCP states.
  • Processes grouped by application (apps.plugin): see which program uses CPU, memory and disk.
  • systemd services, Docker containers and cgroups.
  • Many services when they expose status endpoints: Nginx, Apache, MySQL/MariaDB, PostgreSQL, Redis, PHP-FPM, and more.

Some collectors need a status endpoint enabled — for example Nginx’s stub_status:

server {
    listen 127.0.0.1:80;
    server_name localhost;
    location /nginx_status { stub_status; allow 127.0.0.1; deny all; }
}

and a MySQL user for monitoring:

CREATE USER 'netdata'@'localhost';
GRANT USAGE, REPLICATION CLIENT, PROCESS ON *.* TO 'netdata'@'localhost';

Restart Netdata after enabling them.

4. Alerts

Netdata ships with hundreds of preconfigured health alarms: disk space running out, high memory pressure, disk errors, packet drops, OOM kills, service-specific issues. See active alerts in the dashboard’s alarm panel.

To receive notifications, configure health_alarm_notify.conf:

sudo /etc/netdata/edit-config health_alarm_notify.conf

Set up email (needs a working local mail setup), or Telegram, Slack, Discord, ntfy and many others by filling in their tokens. Test with:

sudo -u netdata /usr/libexec/netdata/plugins.d/alarm-notify.sh test

(The path may be /usr/lib/netdata/… on some installs.)

5. Resource usage and retention

Netdata is efficient, but on a 1–2 GB VPS keep an eye on it:

  • It typically uses a few percent of one core and 100–200 MB RAM, depending on the number of metrics.
  • Metrics are stored in its database engine (dbengine) with tiers: per-second data for recent history, aggregated data for longer periods. Disk space for retention is configurable in netdata.conf under [db].
  • Disable collectors you don’t need to save resources.

6. Netdata Cloud (optional)

You can connect agents to Netdata Cloud to see many servers in one place, with role-based access and centralized alert notifications. It’s optional — the local agent works fully on its own. Metrics stay on your server; the cloud queries agents on demand.

Netdata vs Prometheus + Grafana

Netdata Prometheus + Grafana
Setup Minutes, auto-detection More work; flexible
Resolution 1 second Typically 15–60 seconds
Alerts Hundreds preconfigured Write your own rules
Long-term, multi-server analysis Good with Cloud/parents Excellent
Custom dashboards Limited Extensive

Many people use both: Netdata for live troubleshooting, Prometheus for long-term trends. Add an external check like Uptime Kuma to catch outages from the outside.

Related: CPU and RAM monitoring and top for quick checks without an agent.

  • Netdata
  • Monitoring
  • Linux