Postavljanje nadzora u stvarnom vremenu s 'Ganglia' za mreže i klastere Linux poslužitelja
Otkako su administratori sustava zaduženi za upravljanje poslužiteljima i grupama strojeva, alati poput aplikacija za nadzor njihovi su najbolji prijatelji. Vjerojatno su vam poznati alati kao što su Nagios, Zabbix, Icinga i Centreon. Iako su to velika težina nadzora, njihovo postavljanje i potpuno iskorištavanje njihovih značajki može biti donekle teško za nove korisnike.
U ovom ćemo vam članku predstaviti Ganglia, sustav nadzora koji je lako skalabilan i omogućuje pregled široke palete sistemskih metrika Linux poslužitelja i klastera (plus grafikone) u stvarnom vremenu.
Ganglia vam omogućuje postavljanje gridova (lokacija) i klastera (grupa poslužitelja) za bolju organizaciju.
Stoga možete stvoriti mrežu sastavljenu od svih strojeva u udaljenom okruženju, a zatim grupirati te strojeve u manje skupove na temelju drugih kriterija.
Osim toga, Ganglia web sučelje je optimizirano za mobilne uređaje, a također vam omogućuje izvoz podataka u .csv
i .json
formatima.
Naše testno okruženje sastojat će se od središnjeg CentOS 7 poslužitelja (IP adresa 192.168.0.29) gdje ćemo instalirati Ganglia i Ubuntu 14.04stroj (192.168.0.32), okvir koji želimo nadzirati putem Ganglia web sučelja.
U ovom vodiču nazivat ćemo sustav CentOS 7 kao glavni čvor, a Ubuntu okvir kao nadzirani stroj.
Instaliranje i konfiguriranje Ganglija
Da biste instalirali pomoćne programe za nadzor u glavni čvor, slijedite ove korake:
1. Omogućite EPEL repozitorij, a zatim odatle instalirajte Ganglia i srodne uslužne programe:
yum update && yum install epel-release
yum install ganglia rrdtool ganglia-gmetad ganglia-gmond ganglia-web
Paketi instalirani u gornjem koraku zajedno s ganglijima, samom aplikacijom, obavljaju sljedeće funkcije:
rrdtool
, Round-Robin baza podataka, alat je koji se koristi za pohranu i prikaz varijacija podataka tijekom vremena pomoću grafikona.ganglia-gmetad
je demon koji prikuplja podatke o nadzoru s hostova koje želite nadzirati. U tim hostovima iu glavnom čvoru također je potrebno instalirati ganglia-gmond (sam nadzorni demon):ganglia-web
pruža web sučelje gdje ćemo pregledavati povijesne grafikone i podatke o nadziranim sustavima.
2. Postavite autentifikaciju za Ganglia web sučelje (/usr/share/ganglia). Koristit ćemo osnovnu provjeru autentičnosti koju nudi Apache.
Ako želite istražiti naprednije sigurnosne mehanizme, pogledajte odjeljak Autorizacija i autentifikacija u Apache dokumentima.
Da biste postigli ovaj cilj, stvorite korisničko ime i dodijelite lozinku za pristup resursu zaštićenom Apacheom. U ovom primjeru, stvorit ćemo korisničko ime pod nazivom adminganglia
i dodijeliti lozinku po našem izboru, koja će biti pohranjena u /etc/httpd/auth.basic (slobodno odaberite drugi direktorij i/ili naziv datoteke – sve dok Apache ima dopuštenja za čitanje na tim resursima, bit ćete u redu):
htpasswd -c /etc/httpd/auth.basic adminganglia
Unesite lozinku za adminganglia dvaput prije nastavka.
3. Izmijenite /etc/httpd/conf.d/ganglia.conf na sljedeći način:
Alias /ganglia /usr/share/ganglia
<Location /ganglia>
AuthType basic
AuthName "Ganglia web UI"
AuthBasicProvider file
AuthUserFile "/etc/httpd/auth.basic"
Require user adminganglia
</Location>
4. Uredite /etc/ganglia/gmetad.conf:
Najprije upotrijebite direktivu imena mreže nakon koje slijedi opisni naziv mreže koju postavljate:
gridname "Home office"
Zatim upotrijebite data_source nakon čega slijedi opisni naziv za klaster (grupu poslužitelja), interval prozivanja u sekundama i IP adresa glavnog i nadziranog čvora:
data_source "Labs" 60 192.168.0.29:8649 # Master node
data_source "Labs" 60 192.168.0.32 # Monitored node
5. Uredite /etc/ganglia/gmond.conf.
a) Provjerite izgleda li blok klastera na sljedeći način:
cluster {
name = "Labs" # The name in the data_source directive in gmetad.conf
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
b) U bloku udp_send_chanel komentirajte direktivu mcast_join:
udp_send_channel {
#mcast_join = 239.2.11.71
host = localhost
port = 8649
ttl = 1
}
c) Konačno, komentirajte direktive mcast_join i bind u bloku udp_recv_channel:
udp_recv_channel {
#mcast_join = 239.2.11.71 ## comment out
port = 8649
#bind = 239.2.11.71 ## comment out
}
Spremite promjene i izađite.
6. Otvorite priključak 8649/udp i dopustite PHP skriptama (pokrenutima putem Apachea) da se povežu na mrežu pomoću potrebne SELinux boolean:
firewall-cmd --add-port=8649/udp
firewall-cmd --add-port=8649/udp --permanent
setsebool -P httpd_can_network_connect 1
7. Ponovno pokrenite Apache, gmetad i gmond. Također provjerite jesu li omogućeni za pokretanje pri pokretanju sustava:
systemctl restart httpd gmetad gmond
systemctl enable httpd gmetad httpd
U ovom trenutku trebali biste moći otvoriti Ganglia web sučelje na http://192.168.0.29/ganglia
i prijaviti se s vjerodajnicama iz #Step 2.
8. U host Ubuntu instalirat ćemo samo ganglia-monitor, ekvivalent ganglia-gmond u CentOS:
sudo aptitude update && aptitude install ganglia-monitor
9. Uredite datoteku /etc/ganglia/gmond.conf u nadziranom okviru. Ovo bi trebalo biti identično istoj datoteci u glavnom čvoru osim što su komentirani redovi u clusteru, udp_send_channel i udp_recv_channel treba biti omogućeno:
cluster {
name = "Labs" # The name in the data_source directive in gmetad.conf
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
udp_send_channel {
mcast_join = 239.2.11.71
host = localhost
port = 8649
ttl = 1
}
udp_recv_channel {
mcast_join = 239.2.11.71 ## comment out
port = 8649
bind = 239.2.11.71 ## comment out
}
Zatim ponovno pokrenite uslugu:
sudo service ganglia-monitor restart
10. Osvježite web sučelje i trebali biste moći vidjeti statistiku i grafikone za oba hosta unutar Home Office Grid/Labs klastera ( upotrijebite padajući izbornik pored Rešetke kućnog ureda da biste odabrali klaster, Laboratorij u našem slučaju):
Pomoću kartica izbornika (gore označenih) možete pristupiti mnogim zanimljivim informacijama o svakom poslužitelju pojedinačno ili u grupama. Možete čak usporediti statistiku svih poslužitelja u klasteru jedan pored drugog koristeći karticu Usporedi hostove.
Jednostavno odaberite grupu poslužitelja pomoću regularnog izraza i moći ćete vidjeti brzu usporedbu njihove izvedbe:
Jedna od značajki koju osobno smatram najprivlačnijom je sažetak prilagođen mobilnim uređajima, kojem možete pristupiti pomoću kartice Mobilno. Odaberite klaster koji vas zanima, a zatim pojedinačni host:
Sažetak
U ovom smo članku predstavili Ganglia, moćno i skalabilno rješenje za nadzor za mreže i klastere poslužitelja. Slobodno instalirajte, istražujte i igrajte se s Gangliom koliko god želite (usput, možete čak isprobati Gangliju u demo verziji koja se nalazi na službenoj web stranici projekta.
Dok ste već kod toga, također ćete otkriti da nekoliko poznatih tvrtki u IT svijetu ili ne koriste Ganglia. Postoji mnogo dobrih razloga za to osim onih koje smo podijelili u ovom članku, s jednostavnošću upotrebe i grafikonima zajedno sa statistikom (lijepo je staviti lice na ime, zar ne?) koji su vjerojatno na vrhu.
Ali nemojte nam samo vjerovati na riječ, isprobajte ga sami i ne ustručavajte se javiti nam se putem obrasca za komentare u nastavku ako imate bilo kakvih pitanja.