Netdata Installation

Netdata is a real-time monitoring agent that collects 1000+ metrics per second and visualizes them in a built-in web dashboard. It auto-discovers running services (MySQL, Nginx, PostgreSQL, Docker containers) and starts collecting their metrics without manual configuration. Installation takes under 5 minutes and immediately provides visibility into CPU, memory, disk, network, and application-level metrics with 1-second granularity.

What is Netdata?

Netdata architecture:
  netdata agent (runs on each server)
    Auto-discovers: MySQL, nginx, Redis, Docker, etc.
    Collects: 1000+ metrics at 1-second resolution
    Stores: 1 hour of data in RAM (configurable)
    Serves: built-in web dashboard on port 19999

  No external database required for single-server monitoring
  Can optionally export to Prometheus/Graphite/InfluxDB for long-term storage

Installing Netdata

# Install via official script (recommended — gets latest version):
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh
bash /tmp/netdata-kickstart.sh --dont-wait

# OR install from Ubuntu repos (older version):
sudo apt install -y netdata

# Verify it's running:
sudo systemctl status netdata
curl -s http://localhost:19999/api/v1/info | python3 -m json.tool | head -10

Netdata API info response

{
    "version": "1.44.0",
    "uid": "abc123",
    "mirrored_hosts": [],
    "alarms": {"ok": 52, "warning": 3, "critical": 0},
    "charts_count": 387
}

Accessing the dashboard

# Dashboard is on port 19999 — by default accessible on all interfaces
# For security: restrict to localhost and access via SSH tunnel:

# In /etc/netdata/netdata.conf:
# [web]
# bind to = 127.0.0.1
sudo systemctl restart netdata

# Access via SSH tunnel from your laptop:
# ssh -L 19999:localhost:19999 user@yourserver
# Then open: http://localhost:19999 in your browser

# OR configure nginx reverse proxy with authentication:
sudo nano /etc/nginx/sites-available/netdata

Nginx reverse proxy config for Netdata

upstream netdata {
    server 127.0.0.1:19999;
}
server {
    listen 443 ssl;
    server_name netdata.yourdomain.com;
    auth_basic "Netdata";
    auth_basic_user_file /etc/nginx/.htpasswd;
    location / {
        proxy_pass http://netdata;
    }
}

Alerts and notifications

# Netdata has built-in alert rules that fire automatically
# Configure email notifications:
sudo nano /etc/netdata/health_alarm_notify.conf

health_alarm_notify.conf — email setup

SEND_EMAIL="YES"
DEFAULT_RECIPIENT_EMAIL="irfan@yourcompany.com"
# Or use Slack:
SLACK_WEBHOOK_URL="https://hooks.slack.com/services/T.../B.../..."
DEFAULT_RECIPIENT_SLACK="#alerts"

Conclusion

Netdata is the fastest way to get real-time monitoring on a new server. Its auto-discovery is the key advantage — once installed, it starts collecting MySQL slow query metrics, Nginx connection rates, and Docker container CPU without manual configuration. Restrict the dashboard to localhost and access via SSH tunnel or nginx basic auth rather than exposing port 19999 publicly. For multi-server environments, Netdata Cloud (free tier available) provides centralized alerting without running a separate monitoring server.

FAQ

Is Netdata Installation important for Ubuntu administrators?+

Yes. It supports practical Ubuntu administration because it connects directly to server reliability, security, troubleshooting, or daily operations.

Should I practice this on a live server?+

Use a lab VM first. After you understand the command output and rollback path, apply the workflow carefully on real systems.

What should I do after reading this article?+

Run the practice commands, write down what each one shows, and continue to the next article in the Ubuntu roadmap.

Need help with Ubuntu administration?

Work directly with Muhammad Irfan Aslam for Ubuntu Server, Linux, cloud, Docker, DevOps, CI/CD, or infrastructure troubleshooting support.

Hire Me for Support