Methods of payment Abuse

How to Install and Configure Netdata for Server Monitoring

30.06.2025, 19:11

Is your server slowing down, and you can’t figure out why? Logs show nothing, htop doesn’t help, and your website only loads half the time? That’s where Netdata comes in — a lightweight but powerful monitoring tool that shows you what’s happening on your system right now.

In this guide, we’ll walk you through installing Netdata, securing its web interface, and setting up alerts so you’re always aware of what’s going on with your server.

Why use Netdata?

Netdata gives you real-time insights into your system: CPU usage, memory, disk activity, network traffic, and dozens of services. Unlike bulky monitoring systems, it doesn’t need a database or complex setup. You install it, and it just works.

Netdata updates its charts every second. No averages — you see exactly what’s eating up resources in the moment. This is especially helpful on VPS setups where resources are tight and multiple services may be running at once.

By default, Netdata shows:
— CPU and RAM usage
— Disk and network activity
— Metrics for Docker containers, MySQL, Redis, and more

Preparing the Server

Before installing Netdata, make sure your system is up to date to avoid errors.

For Ubuntu/Debian:

sudo apt update && sudo apt upgrade

For CentOS, AlmaLinux, or Rocky Linux:

You’ll also need curl to run the install script:

sudo apt install curl        # Debian/Ubuntu
sudo dnf install curl        # CentOS/Red Hat

If this is a fresh server, now’s a good time to set up basic security: create a user with sudo privileges and disable root login.

Installing Netdata

Netdata installs via a single script that auto-detects your OS, grabs dependencies, and sets up the service.

Run:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

When prompted, choose the default mode (full functionality). In a few minutes, Netdata will be up and running.

Open a browser and go to:

http://<your_IP>:19999

You’ll see real-time interactive charts. But right now, the dashboard is open to anyone who knows your IP. Let’s lock it down.

Securing Access with Nginx

The simplest way to secure Netdata’s dashboard is to proxy it through Nginx with basic authentication.
1. Open Netdata’s config file:

sudo nano /etc/netdata/netdata.conf

2. Find the line that says bind to and change it to:

bind to = 127.0.0.1

This makes Netdata accessible only from the local machine.

3. Restart Netdаta:

sudo systemctl restart netdata

4. Install Nginx and the password utility:

sudo apt install nginx apache2-utils

5. Create a password file:

sudo htpasswd -c /etc/nginx/.htpasswd admin

6. Create a new Nginx site config:

sudo nano /etc/nginx/sites-available/netdata

Paste this in:

server {
    listen 80;
    server_name your_domain;

    location / {
        proxy_pass http://127.0.0.1:19999/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}

Enable the site and reload Nginx:

sudo ln -s /etc/nginx/sites-available/netdata /etc/nginx/sites-enabled/
sudo systemctl reload nginx

Now the dashboard is protected and only accessible through your domain with a password.

Reading Netdata Charts

Netdata’s interface is intuitive and refreshes every second. At the top, you’ll see CPU load, memory usage, and running processes. Below that — disk and network activity.

It shows:
— Incoming and outgoing traffic
— Network errors
— External DNS lookups
— Service activity like MySQL, Redis, Docker, and others

You can scroll through past data to see what was happening during a traffic spike or resource bottleneck — who was hogging the CPU, how much bandwidth was used, whether disk I/O caused delays, and so on.

Setting Up Alerts

No one wants to stare at dashboards all day. Netdata can notify you when something goes wrong — for example, if CPU usage stays high for over a minute. t supports various channels: email, Telegram, Discord, and more.

To set up alerts on Telegram:
1. Create a bot via @BotFather and save the token
2. Get your user or group ID using @userinfobot
3. Open the alert config:

sudo nano /etc/netdata/health_alarm_notify.conf

4. Find the telegram section, uncomment it, and fill in your info:

TELEGRAM_BOT_TOKEN="your_token"
DEFAULT_RECIPIENT_TELEGRAM="your_ID"

5. Restart Netdаta:

sudo systemctl restart netdata

That’s it — you’ll now get Telegram alerts if something critical happens.

And if the built-in metrics aren’t enough, you can add your own. Netdata can pull data from logs, integrate with Prometheus, and run custom scripts. Charts for these show up automatically.

Final Thoughts

Netdata is an excellent tool if you want to understand your server in real time. It’s easy to install, doesn’t need complicated setup, and gives you instant visual feedback — plus alerts when something goes wrong.

Set it up, secure the dashboard, connect alerts — and you’ll always know what’s happening on your infrastructure. No guesswork. No blind spots. No panic.