
📋 Table of Contents
- What is Netdata and Why Use It?
- System Requirements
- Installing Netdata on Ubuntu/Debian
- Accessing the Dashboard
- Securing Dashboard Access
- Configuring Alerts
- Setting Up Additional Plugins
- Connecting to Netdata Cloud
- Performance Tuning
- Netdata vs Other Monitoring Tools
- Frequently Asked Questions
- Summary
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:
- Real-time resource monitoring during deployment or load testing
- Setting up alerts when CPU or RAM spikes unexpectedly
- Diagnosing web server and database performance issues
- Planning for VPS scale-up or upgrade decisions
2. System Requirements
Netdata supports all major Linux distributions. Minimum requirements:
| Component | Minimum | Recommended |
|---|---|---|
| RAM | 512 MB | 1 GB+ |
| CPU | 1 vCore | 2 vCore+ |
| Disk | 200 MB (SSD) | 1 GB+ for retention |
| OS | Ubuntu 20.04+ | Ubuntu 22.04 / Debian 12 |
| Network | Port 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:
--stable-channel— Install stable release instead of nightly--disable-telemetry— Disable anonymous usage statistics--dont-start-it— Install but don't start the service automatically
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:
| Plugin | Monitors | Auto-detect |
|---|---|---|
| Nginx | Requests, Active connections, Response codes | ✅ Yes |
| MySQL/MariaDB | Queries, Connections, InnoDB | ✅ Yes |
| Docker | CPU/RAM per container | ✅ Yes |
| Redis | Cache hits, Memory, Connected clients | ✅ Yes |
| PHP-FPM | Pool status, Slow requests | Manual config |
| Postfix | Mail 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:
- Create a free account at app.netdata.cloud
- Create a Space and War Room
- Click "Connect Nodes" and copy the claim token
- 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
| Tool | Real-time | Setup | Plugins | Alerts | Cost |
|---|---|---|---|---|---|
| Netdata | 1 second | Very easy | 300+ | Built-in | Free |
| Prometheus+Grafana | 15+ seconds | Complex | Many | Manual | Free |
| Zabbix | 30 seconds | Complex | Many | Built-in | Free |
| Datadog | 15 seconds | Easy | Many | Built-in | Paid |
| New Relic | 1 minute | Easy | Many | Built-in | Paid |
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