Install Netdata for Real-Time VPS Monitoring

Netdata is the best free real-time server monitoring tool for individual VPS administrators and small teams. It collects CPU, RAM, Disk, and Network metrics every second, displaying them on a beautiful and intuitive dashboard — completely free of charge.

What is Netdata and Why Use It

Netdata is an open-source system monitoring tool developed since 2013, now running on over 1 million systems worldwide. Its key advantages include:

Best suited for: Individual VPS administrators, startups, and developers who want easy monitoring without investing time in complex Prometheus + Grafana setup.

System Requirements

ComponentMinimumRecommended
OSUbuntu 20.04+ / Debian 10+Ubuntu 22.04 LTS
RAM512 MB1 GB or more
CPU1 vCore2 vCore or more
Disk1 GB (1-day retention)5 GB (7-day retention)
Port19999 (local or reverse proxy)Nginx reverse proxy + HTTPS

All AsiaGB VPS plans starting from 1 GB RAM are fully compatible with Netdata.

Installing Netdata on Ubuntu/Debian

Method 1: Kickstart Script (Recommended — Fastest)

Run the following command on your VPS. Takes approximately 2-5 minutes:

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

Flags used:

Method 2: Install via Package Manager

# Ubuntu/Debian
curl -fsSL https://packagecloud.io/netdata/netdata/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/netdata.gpg
echo "deb https://packagecloud.io/netdata/netdata/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/netdata.list
sudo apt-get update
sudo apt-get install -y netdata

Verify Installation

sudo systemctl status netdata
# Expected: Active: active (running)

Enable Auto-start on Reboot

sudo systemctl enable netdata

Accessing the Dashboard

By default, Netdata listens on port 19999 on all interfaces. Access it immediately at:

http://YOUR_VPS_IP:19999
Warning: By default, Netdata is publicly accessible with no authentication. If your VPS is directly connected to the internet, secure it before production use. See the security section below.

SSH Tunnel (Most Secure Method)

# Run on your local machine
ssh -L 19999:localhost:19999 user@YOUR_VPS_IP -N

# Then open your browser at
http://localhost:19999

Securing with Nginx Reverse Proxy

Use Nginx as a reverse proxy to access Netdata via HTTPS with basic authentication:

Step 1: Restrict Netdata to Localhost

Edit /etc/netdata/netdata.conf:

[web]
    bind to = 127.0.0.1
sudo systemctl restart netdata

Step 2: Create Nginx Virtual Host

server {
    listen 443 ssl;
    server_name monitor.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/monitor.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/monitor.yourdomain.com/privkey.pem;

    auth_basic "Netdata Monitoring";
    auth_basic_user_file /etc/nginx/.htpasswd;

    location / {
        proxy_pass http://127.0.0.1:19999;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Step 3: Create Password File

sudo apt install -y apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd admin

Configuring Alerts

Netdata includes over 400 pre-built alert templates. Configure Telegram notifications in /etc/netdata/health_alarm_notify.conf:

SEND_TELEGRAM="YES"
TELEGRAM_BOT_TOKEN="YOUR_BOT_TOKEN"
TELEGRAM_CHAT_ID="YOUR_CHAT_ID"
sudo systemctl restart netdata

Test Alert

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

Key Metrics to Monitor

CategoryMetricsAlert Threshold
CPUuser, system, iowaitiowait > 20% = disk bottleneck
Memoryused, cached, bufferedused > 85% = insufficient RAM
Disk I/Oreads, writes, utilizationutilization > 80% = slowdown
Networkreceived, sent, packetsbandwidth approaching ISP limit
Loadload1, load5, load15load15 > number of CPU cores
Processesrunning, blockedblocked > 10 = I/O issue
Pro Tip: Watch the steal CPU metric on VPS. If steal consistently exceeds 10%, your hypervisor is throttling your CPU — time to upgrade your plan or switch providers.

Netdata vs Prometheus/Grafana and Other Tools

ToolSetup EaseReal-timeResource UsageBest For
Netdata⭐⭐⭐⭐⭐ Very Easy1 second~150 MB RAMIndividual VPS, SMB
Prometheus + Grafana⭐⭐ Complex15+ seconds500+ MB RAMEnterprise, clusters
Zabbix⭐⭐⭐ Moderate30+ seconds300+ MB RAMEnterprise
htop/top⭐⭐⭐⭐⭐ Very EasyReal-timeMinimalQuick debugging, no history

Frequently Asked Questions

Does Netdata work on low-spec VPS?

Yes. Netdata needs only 100-200 MB RAM and less than 1% CPU overhead, suitable for any VPS starting from 1 GB RAM.

Is Netdata truly free?

Netdata Agent is 100% free and open-source under Apache 2.0 license. There is an optional Netdata Cloud for enterprise teams, but self-hosted usage has no limitations.

How do I update Netdata?

sudo /usr/libexec/netdata/netdata-updater.sh

How long does Netdata retain data?

By default, Netdata retains data in memory for approximately 1 hour. You can configure disk-based retention for months using the dbengine mode in /etc/netdata/netdata.conf.

Can I run Netdata in Docker?

docker run -d --name=netdata \
  -p 19999:19999 \
  -v netdataconfig:/etc/netdata \
  -v netdatalib:/var/lib/netdata \
  -v /proc:/host/proc:ro \
  -v /sys:/host/sys:ro \
  --cap-add SYS_PTRACE \
  netdata/netdata

Summary

Complete Setup Checklist

  1. Install: sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry
  2. Restrict port 19999 to localhost only
  3. Configure Nginx reverse proxy with HTTPS
  4. Create basic authentication
  5. Set up Telegram/Email alerts
  6. Access dashboard at https://monitor.yourdomain.com

Netdata is one of the best investments of 5 minutes you can make for any VPS — it lets you detect server problems before your users do, or before your site goes down.

Looking for a reliable VPS to run Netdata on? Check out AsiaGB VPS — SSD storage, 99% Uptime, available in Thailand and Singapore with Thai-language support.