Netdata - Real-Time Monitoring

Netdata is a lightweight monitoring tool that installs in one command and offers real-time dashboards accessible via browser. Much simpler to configure than Grafana+Prometheus.

02

Installation

bash
# Automatic installation (one command)
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sudo sh /tmp/netdata-kickstart.sh --stable-channel --dont-start-it

# Start and enable
sudo systemctl start netdata
sudo systemctl enable netdata

# Verify
sudo systemctl status netdata
03

Dashboard access

By default Netdata listens on port 19999 on localhost. To access it:

Direct access (insecure, testing only)

bash
# Open the port in firewall only from your IP
sudo ufw allow from 1.2.3.4 to any port 19999

Go to http://SERVER_IP:19999

Secure access via Nginx reverse proxy (recommended)

bash
sudo nano /etc/nginx/sites-available/netdata
nginx
server {
    listen 80;
    server_name monitor.yourdomain.com;

    # Basic authentication (optional but recommended)
    auth_basic "Monitor";
    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;
    }
}
bash
sudo ln -s /etc/nginx/sites-available/netdata /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

# Create user for authentication
sudo htpasswd -c /etc/nginx/.htpasswd admin
04

What it monitors (by default)

  • CPU: usage per core, frequency, interrupts
  • RAM and swap: usage, free, cached
  • Disk: I/O, latency, space used, inode
  • Network: bandwidth, packets, errors per interface
  • Processes: top processes by CPU/RAM
  • Nginx/Apache: active connections, requests/sec
  • MySQL/MariaDB: queries/sec, connections, threads
  • Docker: CPU and RAM per container
  • Redis: commands, memory, hit rate
05

Configuration

bash
# Main file
sudo nano /etc/netdata/netdata.conf

Recommended configuration for VPS:

ini
[global]
    # Reduce retention (save disk)
    history = 3600       # 1 hour of history in RAM

[web]
    # Accept connections only from localhost (use reverse proxy)
    bind to = 127.0.0.1

[plugins]
    # Disable unused plugins
    tc = no
    idlejitter = no
bash
sudo systemctl restart netdata
06

Alerts and notifications

Netdata has pre-configured alerts. To receive email notifications:

bash
sudo nano /etc/netdata/health_alarm_notify.conf
bash
# Email
SEND_EMAIL="YES"
DEFAULT_RECIPIENT_EMAIL="your@email.com"
SENDMAIL_SENDER="netdata@yourserver.com"

For Telegram notifications:

bash
SEND_TELEGRAM="YES"
TELEGRAM_BOT_TOKEN="123456:ABC-DEF..."
DEFAULT_RECIPIENT_TELEGRAM="@yourchannel"
# or numeric chat ID: "123456789"
07

Update Netdata

bash
sudo /usr/libexec/netdata/netdata-updater.sh
# or
sudo apt upgrade netdata -y
08

Netdata Cloud (optional)

You can connect the server to Netdata Cloud (free) to access dashboards without opening ports:

bash
# Follow registration wizard at https://app.netdata.cloud
# Then connect the node with provided token
sudo netdata-claim.sh -token=TOKEN -rooms=ROOM_ID -url=https://app.netdata.cloud
09

Uninstall

bash
sudo /usr/libexec/netdata/netdata-uninstaller.sh --yes

DeluxHost, fondata nel 2023, offre soluzioni di hosting di alta qualità per diverse esigenze digitali. Forniamo hosting condiviso, VPS e server dedicati con sicurezza avanzata e datacenter globali.

© DeluxHost, Tutti i diritti riservati. | Partita IVA: IT17734661006
Tutti i sistemi operativi