Monitorizarea mai multor calculatoare cu Ganglia pe Debian Squeeze
Ganglia este un sistem de monitorizare dezvoltat de UC Berkely special pentru grupuri (clusters) și grilaje (grids) de mașini de calcul. Acesta poate fi folosit ușor pentru monitorizarea încărcării calculatoarelor.
Spre deosebire de Nagios, principalul sistem de monitorizare concurent care rulează implicit pe o singură mașină-gazdă, Ganglia împarte rolurile între mașinile componente. Ori nodul principal, ori serverul HTTP poate rula demonul gmetad care are acces la metadate, în timp ce nodurile simple rulează demonul de monitorizare gmond. Dacă serverul HTTP rulează pe nodul principal, atunci este foarte simplu. Altfel, este bine să instalezi gmetad pe serverul HTTP, în loc de nodul principal.
În continuare prezentăm un ghid de instalare și configurare pentru Ganglia pe Debian 6.0 „Squeeze”.
Instalarea sistemului Ganglia
Ganglia folosește RRDTool pentru stocarea datelor pentru grafice și nu va funcționa fără acest program. Din fericire, RRDTool este împachetat în Debian Squeeze și nu este necesară compilarea surselor. Rulează doar:
$ sudo apt-get install rrdtool librrds-perl librrd2-dev
Pentru a putea vedea diagramele radiale în PHP, mai ai nevoie și de suportul pentru biblioteca GD în PHP5:
$ sudo apt-get install php5-gd
Și Ganglia se găsește în depozitele Debian 6.0 și poate fi instalată ușor. Pe nodul principal, unde rulează serverul HTTP, instalează pachetele:
$ sudo apt-get install ganglia-monitor gmetad ganglia-webfrontend
Dar pe nodurile simple (și pe cel principal, dacă nu rulează acolo serverul HTTP) este suficient să instalezi doar agentul de monitorizare:
$ sudo apt-get install ganglia-monitor
Acum creează în /var/www o legătură simbolică la directorul unde a fost instalată interfața pentru Ganglia:
$ cd /var/www $ sudo ln -s /usr/share/ganglia-webfrontend ganglia
În continuare, deschide pagina http://$(hostname)/ganglia cu un navigator:
$ links http://$(hostname)/ganglia
Și vei observa că se încarcă o pagină Ganglia cu un raport gol, pentru că sistemul nu este încă configurat. Bineînțeles, poți și este recomandat să creezi o gazdă virtuală pentru noul tău sit Ganglia, dar nu vom acoperi aici acest aspect.
Configurarea pe nodul principal
Fișierul de configurare pentru demonul meta de pe nodul principal a fost instalat din pachetul Debian în /etc/ganglia/gmetad.conf. Parcurgând fișierul cu un editor text, vei observa că sunt valori pe care le poți schimba. Unele sunt necesare pentru a funcționa, în timp ce altele sunt opționale.
/etc/ganglia/gmetad.conf
Aceste sunt setări importante și implicit comentate, deci ignorate, iar tu trebuie să le decomentezi și să le modifici în consecință.
-
authority
La autoritate ar trebui să pui adresa URL a interfeței Ganglia, de forma http://sub.domeniu.org/ganglia, iar în cazul de față http://localhost/ganglia. Dacă ești în spatele unui paravan și adresa apare ca fiind a paravanului, este în regulă să o folosești pe aceea. -
trusted_hosts
Dacă serverul HTTP poartă mai multe nume de domenii, e bine să le listezi pe toate aici. Altfel, poți să lași un spațiu gol.
Modificări opționale
-
gridname
Dacă nu vrei să ai un nume generic, MyGrid, pentru rețeaua monitorizată, poți să o schimbi în ce-ți place. -
rrd_rootdir
Ganglia are nevoie de mult spațiu pentru a salva datele în baza de date. Dacă vrei să fie salvate în alt loc decât/var/lib/ganglia
, schimbă această valoare.
Repornirea demonului
Pentru a fi încărcate noile setări, repornește demonul meta:
$ sudo /etc/init.d/gmetad restart
Configurarea clienților
Fișierele de configurare ale agenților de monitorizare ar trebui să se regăsească în /etc/ganglia/gmond.conf
de pe fiecare mașină de pe care vrei să culegi datele de încărcare. Ele trebuie modificate în funcție de fiecare nod client. Dacă vrei să monitorizezi și nodul principal, atunci aceleași setări trebuie modificate și acolo.
/etc/ganglia/gmond.conf
Următoarele valori trebuie modificate:
-
name
Numele grupului sau rețelei din care face parte nodul. Acesta va apărea în pagina HTTP. -
owner
Dacă vrei să împarți grupul sau rețeaua în domenii de administrare, aici vor fi puși administratorii responsabili pentru fiecare nod. Dacă nu este un grup sau o rețea mare, este suficient un singur administrator pentru toate nodurile. -
mcast_if
Dacă nodul are mai multe interfețe, va trebui specificată cea pe care o poate folosi ca să se conecteze cu nodul principal. -
num_nodes
Numărul de noduri din grup sau rețea.
Bineînțeles, aceste valori pot fi modificate pe fiecare nod în parte sau poate fi rulat un script care generează și copiază câte un fișier de configurare pentru fiecare nod, în funcție de parametrii nodului.
Repornirea demonilor
După ce ai făcut modificările în fișierele de configurare gmond.conf
, trebui să repornești demonul ganglia-monitor
pe fiecare nod afectat și gmetad
de pe nodul cu serverul HTTP.
$ sudo /etc/init.d/ganglia-monitor restart $ sudo /etc/init.d/gmetad restart
Acum, este recomandabil să aștepți 10 minute pentru ca modificările să devină vizibile. Felicitări, acum îți poți monitoriza propria fermă de calculatoare! :-)
Notă: Acest ghid a fost tradus de pe DebianClusters și adaptat să reflecte actualizările din Debian 6.0. Prima versiune a fost publicată de autor pe wiki.linux.md.
Comentarii
ieugen (neverificat)
Joi, 06 Octombrie 2011
Link permanent
Ganglia pentru cluster Hadoop/HBase
Ganglia este folosit cu succes pentru monitorizarea unui cluster Hadoop/HBase. Poți scoate niște metrici foarte frumoase cu ajutorul lui.