Am descoperit un instrument fantastic: netdata. Cu netdata se poate face monitorizarea în timp real a unui server Linux: procesor, memorie, rețea, disc și multe altele. Netdata furnizează informații precise despre toate acestea, dar și despre procesele și serviciile din Linux, folosind resurse foarte puține. Totodată, permite setarea de alarme pentru orice valoare monitorizată. Așadar, să vorbim despre netdata, monitorizare Linux în timp real!
Deși nu are nevoie de configurări suplimentare după instalare, oferă posibilități multiple de particularizare. Eficiența și rapiditatea afișării informațiilor se aseamănă cu alte instrumente de administrare din consolă: htop sau vmstat.
Doar două distribuții au pachetul netdata în depozitele software: Arch Linux și Gentoo.
Pentru a instala netdata în cele 2 distribuții:
- Arch Linux (
sudo pacman -S netdata
) - Gentoo Linux (
sudo emerge --ask netdata
)
În toate celelalte distribuții netdata se instalează prin descărcare din git și compilare manuală.
Condiții prealabile
Înainte de a instala netdata, sistemul nostru trebuie să îndeplinească anumite condiții. Voi face prezentarea doar pentru Ubuntu, dar se va înlocui apt-get cu yum sau dnf pentru RHEL/CentOS sau Fedora.
Trebuie să ne asigurăm că sistemul nostru este actualizat:
sudo apt-get update
Urmează instalarea unor dependențe cerute de netdata:
sudo apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl
Următoarele pachete sunt opționale, dar recomandate de dezvoltatorul netdata:
sudo apt-get install python python-yaml python-mysqldb python-psycopg2 nodejs lm-sensors netcat
Instalare netdata
Pentru a instala netdata trebuie să folosim depozitul GitHub. Vom descărca sursele din GitHub într-un folder din directorul home al userului nostru:
git clone https://github.com/firehol/netdata.git --depth=1 ~/netdata
Intrăm în noul director (clonă din GitHub):
cd ~/netdata
Pentru instalarea netdata este necesar să rulăm scriptul netdata-installer.sh:
sudo ./netdata-installer.sh
Vom avea ceva ca în imaginea de mai jos (ni se va spune unde se vor instala componentele netdata). Vom apăsa ENTER:
După mai puțin de 1 minut software-ul dorit este instalat:
Prestabilit, netdata asculă pe portul 19999 (recomand cu tărie schimbarea lui - a se vedea mai jos cum se face asta).
Pentru a deschide portul 19999 în Ubuntu vom rula:
sudo ufw allow 19999/tcp
Vedeți aici cum se deschid porturile cu firewalld în CentOS/RHEL.
Diagramele netdata pot fi accesate scriind în browser următoarea adresă:
http://IP_ul-serverului-vostru:19999
Configurări netdata
Fișierul de configurare netdata se află în /etc/netdata/netdata.conf:
sudo vi /etc/netdata/netdata.conf
Aici sunt foarte multe opțiuni comentate (pentru activarea unei opțiuni este necesară decomentarea). Deocamdată, ne vom uita doar după două:
# default port = 19999
și
# history = 3600
Prima e clar ce face: schimă portul default pentru netdata. A doua opțiune decide câtă memorie RAM vom dedica serviciului netdata sau, altfel spus, cât timp vrem să păstrăm înregistrarea diagramelor (valoarea default este 3600 - eu am păstrat-o pe asta, dar puteți modifica în funcție de dorințele și resursele serverului vostru):
- 3600 seconde (diagramele se păstrează 1 oră) folosește 15 MB RAM
- 7200 seconde (diagramele se păstrează 2 ore) folosește 30 MB RAM
- 14400 seconde (diagramele se păstrează 4 ore) folosește 60 MB RAM
- 28800 seconde (diagramele se păstrează 8 ore) folosește 120 MB RAM
- 43200 seconde (diagramele se păstrează 12 ore) folosește 180 MB RAM
- 86400 seconde (diagramele se păstrează 24 ore) folosește 360 MB RAM
Explorând Panoul de Control netdata
Dashboard-ul netdata poate fi accesat la adresa următoare (nu uitați să puneți noul port în cazul în care l-ați schimbat): http://IP_ul-serverului-vostru:19999
Prima dată vom observa niște indicatori care arată în timp real consumul de procesor, memorie RAM, swap, trafic rețea și altele:
Netdata în acțiune poate fi urmărit aici - netdata live demo.
Actualizare netdata
Din păcate, actualizarea se face fie descărcând versiunea nouă din GitHub și recompilând-o, fie prin adăugarea unei sarcini cron (mai puțin în Arch Linux și Gentoo, unde actuzalizările vor veni prin intermediului gestionarului de pachete):
sudo -su
crontab -e
0 6 * * * /calea-către/folderul/netdata/descărcat/netdata-updater.sh
Linia adăugată în cron verifică în fiecare zi la ora 6 dimineața existența unei noi versiuni.
Dezinstalare netdata
Pentru a dezinstala acest intrument, trebuie rulat scriptul netdata-uninstaller.sh:
cd /calea-către/folderul/netdata/descărcat
./netdata-uninstaller.sh --force
Pagina oficială netdata este aici: http://my-netdata.io/
Pagina wiki GitHub de unde puteți afla mult mai multe informații este aici: https://github.com/firehol/netdata/wiki
Ce părere aveți de netdata? L-ați folosit? Sau aveți de gând să-l folosiți?
Gabriel a zis
Dezavantajos, tinand cont de modalitatea de a vedea mai multe calculatoare in timp real, plus ca toate logurile sunt dependente de resurse de memorie, nu poti sa consulti loguri. Interfata e bestiala.
Malin a zis
Eu merg pe Pinguzo facut de stafful de la Softaculous. E de mai bine de un an in public beta, dar il am activ inca de cand era beta.
Avantajul e ca e remote si astfel consuma ceva mai putine resurse decat unul local.
Bobses a zis
Voi testa când voi avea timp. Mersi pentru pont!