VPS

Install Netdata on VPS for Real-time Resource Monitoring

📅 October 27, 2026 ⏱ 10 min read 🐧 Ubuntu 22.04 / Debian 12

Netdata real-time server monitoring dashboard on VPS

Real-time VPS monitoring is essential for anyone running websites or applications on a server. Netdata is a free, open-source tool that lets you view CPU, RAM, Disk I/O, Network Traffic, and over 2,000 metrics in real-time through a beautiful web dashboard. Installation is simple and it works immediately out of the box.

1. What is Netdata and Why Use It?

Netdata is a lightweight monitoring agent that collects metrics every 1 second — unlike most other tools that collect every 10-60 seconds. This makes CPU or RAM spikes visible with much higher accuracy.

✅ Key advantages of Netdata: One-command installation, dashboard works immediately, supports 300+ plugins (Nginx, MySQL, Docker, Redis, etc.), 100% free for self-hosted use

Netdata is ideal for these use cases:

2. System Requirements

Netdata supports all major Linux distributions. Minimum requirements:

ComponentMinimumRecommended
RAM512 MB1 GB+
CPU1 vCore2 vCore+
Disk200 MB (SSD)1 GB+ for retention
OSUbuntu 20.04+Ubuntu 22.04 / Debian 12
NetworkPort 19999 (local)HTTPS via reverse proxy

ℹ️ Note: All AsiaGB VPS packages use SSD storage and run Ubuntu/Debian — fully compatible with all Netdata features.

3. Installing Netdata on Ubuntu/Debian

The easiest method is using the official Netdata installer script:

# Update package list first
sudo apt update && sudo apt upgrade -y

# Install Netdata with one-line installer
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh
sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry

Key flag options:

Install via APT (Ubuntu/Debian)

# Add Netdata APT repository
curl -s https://packagecloud.io/install/repositories/netdata/netdata/script.deb.sh | sudo bash

# Install
sudo apt install netdata -y

# Enable and start service
sudo systemctl enable netdata
sudo systemctl start netdata

Verify Installation

sudo systemctl status netdata
# Should show: Active: active (running)

4. Accessing the Dashboard

After installation, Netdata runs on port 19999. Access it via:

http://YOUR_VPS_IP:19999

⚠️ Security: Never expose port 19999 directly on the public internet. Use an SSH tunnel or Nginx reverse proxy as described in the next section.

Access via SSH Tunnel (Most Secure Method)

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

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

5. Securing Access with Nginx Reverse Proxy

To access Netdata via a domain with HTTPS, set up an Nginx reverse proxy:

sudo apt install nginx -y

# Create config file
sudo nano /etc/nginx/sites-available/netdata

Add this configuration:

upstream netdata {
    server 127.0.0.1:19999;
}

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

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

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

    location / {
        proxy_pass http://netdata;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
# Create password file
sudo htpasswd -c /etc/nginx/.htpasswd admin

# Enable config
sudo ln -s /etc/nginx/sites-available/netdata /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

6. Configuring Alerts

Netdata has a built-in alert system that can send notifications via email, Slack, Telegram, PagerDuty, and more.

Configure Email Alerts

sudo nano /etc/netdata/health_alarm_notify.conf
# Email settings
SEND_EMAIL="YES"
DEFAULT_RECIPIENT_EMAIL="[email protected]"

Configure Telegram Alerts

SEND_TELEGRAM="YES"
TELEGRAM_BOT_TOKEN="YOUR_BOT_TOKEN"
DEFAULT_RECIPIENT_TELEGRAM="YOUR_CHAT_ID"

💡 Tip: Netdata includes hundreds of pre-configured alert rules such as CPU >90%, RAM >85%, Disk >80%, and network error rate checks — no custom configuration needed.

Test Alerts

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

7. Setting Up Additional Plugins

Netdata supports hundreds of plugins, most of which auto-detect without any configuration:

PluginMonitorsAuto-detect
NginxRequests, Active connections, Response codes✅ Yes
MySQL/MariaDBQueries, Connections, InnoDB✅ Yes
DockerCPU/RAM per container✅ Yes
RedisCache hits, Memory, Connected clients✅ Yes
PHP-FPMPool status, Slow requestsManual config
PostfixMail queue, Delivery rate✅ Yes

Enable MySQL Plugin

# Create Netdata user in MySQL
mysql -u root -p -e "CREATE USER 'netdata'@'localhost' IDENTIFIED BY ''; GRANT USAGE ON *.* TO 'netdata'@'localhost'; FLUSH PRIVILEGES;"

sudo systemctl restart netdata

8. Connecting to Netdata Cloud (Free)

Netdata Cloud lets you view your dashboard from anywhere without opening any additional ports:

  1. Create a free account at app.netdata.cloud
  2. Create a Space and War Room
  3. Click "Connect Nodes" and copy the claim token
  4. Run on your VPS:
sudo netdata-claim.sh -token=YOUR_TOKEN -rooms=YOUR_ROOM_ID -url=https://app.netdata.cloud

🔒 Security: Netdata Cloud uses an Agent-Cloud Link encrypted with TLS. Metric data doesn't pass through the cloud — it flows directly from browser to agent via WebSocket.

9. Performance Tuning

If your VPS has limited RAM, you can reduce Netdata's footprint:

sudo nano /etc/netdata/netdata.conf
[global]
    # Reduce history retention
    history = 3600        # 1 hour (default)

    # Reduce update frequency (saves CPU)
    update every = 2      # Every 2 seconds instead of 1

[plugins]
    # Disable unused plugins
    python.d = no
    node.d = no

Restart after changes:

sudo systemctl restart netdata

10. Netdata vs Other Monitoring Tools

ToolReal-timeSetupPluginsAlertsCost
Netdata1 secondVery easy300+Built-inFree
Prometheus+Grafana15+ secondsComplexManyManualFree
Zabbix30 secondsComplexManyBuilt-inFree
Datadog15 secondsEasyManyBuilt-inPaid
New Relic1 minuteEasyManyBuilt-inPaid

Netdata wins for ease of installation and highest real-time resolution. It's ideal for developers who want free monitoring without complex configuration.

11. Frequently Asked Questions

❓ How much RAM does Netdata use?
Typically 30-100 MB depending on enabled plugins. Works well on VPS instances with 1 GB RAM or more.

❓ What's the difference between Netdata and Grafana?
Netdata works immediately after installation. Grafana requires a datasource backend (Prometheus/InfluxDB) first. Grafana is more flexible for custom dashboards.

❓ How long does Netdata store metrics?
Default: 1-second resolution for 1 hour, per-minute for 6 hours, per-hour for 6 days. Configurable in netdata.conf.

❓ Is it safe to expose port 19999?
No. Use SSH tunnel, Nginx reverse proxy with Basic Auth, or Netdata Cloud instead.

❓ Can I install Netdata on AsiaGB VPS?
Yes. AsiaGB VPS runs Ubuntu/Debian with SSD storage — fully compatible with all Netdata features.

❓ Is Netdata Cloud free?
Free tier available with unlimited nodes. Business plan adds longer retention and advanced alerts.

📝 Summary

Netdata is the best monitoring tool for VPS in terms of ease of use and real-time resolution. Key steps:

  • ✅ Install with one-line installer script
  • ✅ Access dashboard via SSH tunnel or Nginx reverse proxy
  • ✅ Configure Telegram/Email alerts for high resource usage
  • ✅ Nginx/MySQL/Docker plugins auto-detect
  • ✅ Connect to Netdata Cloud for anywhere access

Need a VPS that supports Netdata with SSD storage and 99% uptime? View AsiaGB VPS plans starting from 500 THB/month