Servera monitorings ar Netdata: uzstādīšana 2026

17 May 2026 Autors: Laura Zariņa

Palaist serverī ar vienu komandu (vispirms pārbaudiet skripta saturu zemāk):

curl -sSL https://cp.lv/scripts/monitoring-servera-netdata.sh | sudo bash

…vai ar wget:

wget -qO- https://cp.lv/scripts/monitoring-servera-netdata.sh | sudo bash

Skripta saturs monitoring-servera-netdata.sh:

#!/usr/bin/env bash
# Netdata instalēšana + piekļuve caur nginx ar lietotājvārdu un paroli
set -euo pipefail
export DEBIAN_FRONTEND=noninteractive

# 1. Netdata instalēšana (oficiālais kickstart, stabilais kanāls)
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sudo sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry --non-interactive

# 2. Piesaistīt aģentu tikai localhost
sudo tee /etc/netdata/netdata.conf > /dev/null << 'EOF'
[web]
    bind to = 127.0.0.1
EOF
sudo systemctl restart netdata

# 3. Nginx reverse proxy ar basic autorizāciju
sudo apt-get update -y
sudo apt-get install -y nginx apache2-utils openssl
PASS="$(openssl rand -base64 12)"
sudo htpasswd -bc /etc/nginx/.netdata-htpasswd admin "$PASS"

# pēdiņas 'EOF' — nginx mainīgie ($host) netiek izvērsti
sudo tee /etc/nginx/sites-available/netdata > /dev/null << 'EOF'
server {
    listen 80;
    server_name monitor.example.com;
    auth_basic "Netdata";
    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 Connection "keep-alive";
    }
}
EOF

sudo ln -sf /etc/nginx/sites-available/netdata /etc/nginx/sites-enabled/netdata
sudo nginx -t && sudo systemctl reload nginx
echo "Gatavs. Panelis pieejams pa domēnu. Lietotājs: admin, parole: $PASS"

Netdata izvēršas ar vienu komandu un uzreiz dod tīmekļa paneli ar servera metrikām reāllaikā: CPU slodze, atmiņa, disks, tīkls, procesi — ar sekundes izšķirtspēju. Zemāk — instalēšana, piekļuves aizsardzība un paziņojumu konfigurēšana.

Kāpēc Netdata

Atšķirībā no smagām kombinācijām, piemēram, Prometheus+Grafana, Netdata uzstādās minūtē, neprasa konfigurēšanu un rāda simtiem metriku uzreiz pēc instalēšanas. Ideāli, kad ātri jāredz, kas ar serveri notiek tieši tagad.

Prasības: jebkurš VPS ar 512 MB RAM un vairāk. Aģents patērē maz resursu.

1. solis. Instalēšana

Oficiālais instalācijas skripts (kickstart) pats noteiks distributīvu:

wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry

Karogs --disable-telemetry izslēdz anonīmas statistikas sūtīšanu.

Pēc instalēšanas serviss palaidīsies automātiski:

systemctl status netdata

2. solis. Piekļuve panelim

Netdata klausās portu 19999. Atveriet pārlūkā:

http://<jusu_VPS_IP>:19999

Jūs redzēsiet dzīvu paneli. Pēc noklusējuma ports ir pieejams visiem — tas nav droši, tāpēc piekļuvi ierobežosim.

3. solis. Aizvērt tiešo piekļuvi

Piesaistiet Netdata tikai localhost. Failā /etc/netdata/netdata.conf:

[web]
    bind to = 127.0.0.1

Pārstartējiet:

systemctl restart netdata

Tagad panelis pieejams tikai no paša servera — no ārpuses to atvērsim caur reverse proxy ar paroli.

4. solis. Reverse proxy ar autorizāciju (nginx)

Uzinstalējiet utilītas un izveidojiet paroli:

apt install -y nginx apache2-utils
htpasswd -c /etc/nginx/.netdata-htpasswd admin

Atveriet konfigurāciju redaktorā (sudo nano /etc/nginx/sites-available/netdata) un ielīmējiet saturu:

server {
    listen 80;
    server_name monitor.example.com;

    auth_basic "Netdata";
    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 Connection "keep-alive";
    }
}

Vai izveidojiet konfigurāciju uzreiz ar vienu komandu (pēdiņas 'EOF' ir svarīgas — nginx mainīgais $host paliks nemainīts):

sudo tee /etc/nginx/sites-available/netdata > /dev/null << 'EOF'
server {
    listen 80;
    server_name monitor.example.com;
    auth_basic "Netdata";
    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 Connection "keep-alive";
    }
}
EOF

Aktivizējiet:

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

Tagad panelis atveras pa domēnu ar lietotājvārdu un paroli. Pievienojiet HTTPS ar certbot, lai savienojums būtu šifrēts.

5. solis. Paziņojumu konfigurēšana

Netdata prot sūtīt brīdinājumus uz Telegram, e-pastu un Slack. Telegram piemērs — rediģējiet /etc/netdata/health_alarm_notify.conf:

SEND_TELEGRAM="YES"
TELEGRAM_BOT_TOKEN="<bota_tokens>"
DEFAULT_RECIPIENT_TELEGRAM="<chat_id>"

Pārbaudiet sūtīšanu:

/usr/libexec/netdata/plugins.d/alarm-notify.sh test

Noderīgas metrikas kontrolei

Metrika Uz ko skatīties
CPU iowait Augsts — diska šaurā vieta
RAM available Maz — OOM risks
Disk space Sadaļas aizpildījums
Network errors Tīkla vai NIC problēmas
Load average Procesora pārslodze

Sliekšņu konfigurēšana

Brīdinājumu noteikumi glabājas mapē /etc/netdata/health.d/. Piemēram, diska aizpildījuma slieksnis:

nano /etc/netdata/health.d/disk_space.conf

Pēc izmaiņām pārlasiet konfigurāciju:

netdatacli reload-health

Piekļuves šifrēšana (HTTPS)

Basic autorizācija bez HTTPS pārraida paroli atklātā veidā. Pievienojiet Let’s Encrypt sertifikātu ar certbot:

apt install -y certbot python3-certbot-nginx
certbot --nginx -d monitor.example.com

Certbot pats izveidos novirzīšanu uz HTTPS un iestatīs sertifikāta automātisku atjaunošanu. Pārbaudiet atjaunošanas taimeri:

systemctl status certbot.timer

Aģenta resursu ierobežošana

Vājā VPS samaziniet datu vākšanas biežumu, lai mazinātu slodzi. Failā /etc/netdata/netdata.conf:

[db]
    update every = 2

Vērtība 2 vāc metrikas reizi divās sekundēs vienas vietā — precizitāte ir mazliet zemāka, slodze manāmi mazāka. Nevajadzīgos spraudņus (piemēram, datu vākšanu no neesošiem servisiem) var izslēgt sadaļā [plugins].

Noderīgas paneļa sadaļas

  • System Overview — kopsavilkums par CPU, RAM, disku un tīklu.
  • Applications — resursu patēriņš pa procesu grupām.
  • Disks — katras bloku ierīces aizture un noslodze.
  • Networking Stack — savienojumi, retransmits un TCP kļūdas.

Panelis ir pilnībā interaktīvs: novietojiet kursoru virs grafika, lai redzētu precīzas vērtības konkrētā brīdī, un ar peli iezīmējiet diapazonu, lai to pietuvinātu.

Atjaunināšana un noņemšana

Atjaunināt Netdata līdz svaigai stabilai versijai:

netdata-updater.sh

Pilnībā noņemt aģentu, ja tas vairs nav vajadzīgs:

/usr/libexec/netdata/netdata-uninstaller.sh --yes --force

Biežāk uzdotie jautājumi

Cik resursu patērē Netdata? Aģents ir viegls, taču ar sekundes izšķirtspēju vājā VPS slodze ir manāma. Datu vākšanas intervālu var palielināt failā netdata.conf.

Vai vēsturiskie dati tiek glabāti? Jā, lokāli datubāzē (dbengine). Glabāšanas dziļumu norāda konfigurācijas sadaļā [db].

Vai var uzraudzīt vairākus serverus? Jā, caur Netdata Cloud vai vecāku mezglu (streaming), kas vāc metrikas no bērnu mezgliem.

Vai ir droši turēt portu 19999 atvērtu? Nē. Piesaistiet to localhost un proksējiet caur nginx ar paroli un HTTPS.

Vai Netdata aizstāj Prometheus? Ātram reāllaika monitoringam — jā. Ilgai glabāšanai un sarežģītiem vaicājumiem Prometheus+Grafana kombinācija ir elastīgāka.


Monitorings ir obligāta ekspluatācijas daļa. Izvietojiet projektu uz VPS nomas vai VPS drošībai un VPN. Monitoringa un brīdinājumu konfigurēšanu uzņemsies Serveru administrēšana.

Laura Zariņa