Servera monitorings ar Netdata: uzstādīšana 2026
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 bashSkripta 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.