Setting up Netdata on a LYLIX VPS in 60 seconds — real-time metrics without the heavy stack
You don't need Prometheus, Grafana, Loki, and a week to get useful monitoring on a single VPS. Netdata installs in one command, captures real-time metrics for everything that's already running, and exposes them via a clean dashboard. This article is the practical setup walkthrough.
The one-command install
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sh /tmp/netdata-kickstart.sh
The installer detects your distro, installs from the appropriate package source, and starts the agent. Default behavior: dashboard listens on localhost:19999, metrics collected for everything Netdata can auto-detect (system, network, disk, processes, plus many services if their config is in default locations).
Reaching the dashboard
By default the dashboard binds to localhost only. Two ways to view:
SSH tunnel (recommended)
ssh -L 19999:localhost:19999 root@<your-vps>
Open http://localhost:19999 on your laptop. No firewall changes, no exposure to the internet, no auth needed.
Reverse proxy with auth (production)
If multiple people need access, put Netdata behind nginx with basic auth:
server {
listen 443 ssl;
server_name metrics.yourdomain.com;
# ... TLS config ...
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.netdata-htpasswd;
location / {
proxy_pass http://127.0.0.1:19999;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
What you get out of the box
- CPU per-core, load average, context switches.
- Memory — used, cached, available, swap.
- Disk — I/O per device, latency, queue depth.
- Network — bytes/packets per interface, errors, retransmissions.
- System processes — top consumers by CPU, RAM, disk.
- Per-service if detected: nginx, apache, postfix, mysql, postgres, redis, php-fpm, asterisk, and many more.
All of it at 1-second resolution by default. The dashboard shows everything in real time with smooth scrolling history.
Service auto-detection
Netdata checks default config locations for many services. If you have nginx with status module enabled at /nginx_status, Netdata finds it automatically. Same for PHP-FPM status, MySQL connection counts, Redis stats.
To enable nginx monitoring:
# In an nginx config served on localhost
server {
listen 127.0.0.1:80;
location /nginx_status {
stub_status;
allow 127.0.0.1;
deny all;
}
}
Reload nginx; Netdata picks it up at next collector restart (or restart the agent: systemctl restart netdata).
Alerts
Netdata ships with hundreds of pre-configured alarms. Look at the Alarms tab in the dashboard. Common useful ones, enabled by default:
- Disk space < 10% free.
- RAM available < 10%.
- Load average > CPU count for 10 min.
- Network errors / packet drops > threshold.
- Disk I/O latency exceeded.
To get alerts off the box, configure a notification method in /etc/netdata/health_alarm_notify.conf. Slack, Discord, email, PagerDuty, Telegram — most are pre-templated.
What Netdata is NOT good at
- Long-term history. Default storage is a few days at 1-second resolution. For multi-month history, send metrics to a long-term store (Prometheus endpoint via Netdata's exporter, or Netdata Cloud).
- Cross-host dashboards on the free tier. Multi-host views need Netdata Cloud (free tier available, paid for higher node counts).
- Application performance monitoring. If you need per-request tracing for your Python web app, Netdata isn't the tool — that's a different category (Sentry, Datadog, OpenTelemetry).
Memory footprint
Netdata is light by container-monitoring standards but heavier than a bare daemon. Plan on:
- ~150 MB RAM steady-state on a typical small VPS.
- Disk: 250 MB to a few GB for metric storage depending on retention.
- CPU: 2-5% of a single core average; occasional spikes during compaction.
On a 1 GB VPS, that's noticeable. On 4 GB+, negligible. If the footprint is too much for your VPS, dial back collection frequency in /etc/netdata/netdata.conf:
[global]
update every = 5
history = 14400
Uninstalling
If you decide it's not your thing:
/usr/sbin/netdata-uninstaller.sh --yes
Cleans up the binary, config, data, and systemd unit.
Also Read
Powered by WHMCompleteSolution