Nastavitev sprotnega nadzora z Ganglia za mreže in grozde Linux strežnikov


Odkar so sistemski skrbniki odgovorni za upravljanje strežnikov in skupin strojev, so orodja, kot so aplikacije za spremljanje, njihovi najboljši prijatelji. Verjetno boste seznanjeni z orodji, kot sta Icinga in Centreon. Čeprav so to težke točke spremljanja, je lahko njihova nastavitev in popolno izkoriščanje njihovih funkcij za nove uporabnike nekoliko težavno.

V tem članku vam bomo predstavili Ganglia, nadzorni sistem, ki je enostavno prilagodljiv in omogoča ogled številnih sistemskih metrik strežnikov in grozdov Linux (plus grafi) v realnem času.

Ganglia vam omogoča, da nastavite mreže (lokacije) in grozde (skupine strežnikov) za boljšo organizacijo.

Tako lahko ustvarite mrežo, sestavljeno iz vseh naprav v oddaljenem okolju, in nato te stroje združite v manjše sklope na podlagi drugih meril.

Poleg tega je Ganglijin spletni vmesnik optimiziran za mobilne naprave in omogoča tudi izvoz podatkov v oblikah < .csv in .json .

Naše testno okolje bo sestavljeno iz osrednjega strežnika CentOS 7 (naslov IP 192.168.0.29), kamor bomo namestili Ganglia, in naprave Ubuntu 14.04 (192.168.0.32), polja, ki ga želimo nadzirati prek spletnega vmesnika Ganglia.

V tem priročniku bomo sistem CentOS 7 označili kot glavno vozlišče in polje Ubuntu kot nadzorovani stroj.

Namestitev in konfiguriranje ganglijev

Če želite v glavno vozlišče namestiti pripomočke za nadzor, sledite tem korakom:

1. Omogočite repozitorij EPEL in nato od tam namestite Ganglia in sorodne pripomočke:

# yum update && yum install epel-release
# yum install ganglia rrdtool ganglia-gmetad ganglia-gmond ganglia-web 

Paketi, nameščeni v zgornjem koraku, skupaj z gangliji, samo aplikacijo, opravljajo naslednje funkcije:

  1. rrdtool , Round-Robin Database, je orodje, ki se uporablja za shranjevanje in prikaz sprememb podatkov skozi čas s pomočjo grafov.
  2. ganglia-gmetad je demon, ki zbira nadzorne podatke od gostiteljev, ki jih želite nadzirati. V teh gostiteljih in v glavnem vozlišču je treba namestiti tudi ganglia-gmond (sam nadzorni demon):
  3. ganglia-web ponuja spletno stran, kjer si bomo ogledali zgodovinske grafe in podatke o nadzorovanih sistemih.

2. Nastavite preverjanje pristnosti za spletni vmesnik Ganglia (/ usr/share/ganglia). Uporabili bomo osnovno avtentikacijo, kot jo zagotavlja Apache.

Če želite raziskati naprednejše varnostne mehanizme, glejte razdelek Pooblastitev in overjanje v dokumentih Apache.

Če želite doseči ta cilj, ustvarite uporabniško ime in dodelite geslo za dostop do vira, zaščitenega z Apache. V tem primeru bomo ustvarili uporabniško ime, imenovano adminganglia , in mu dodelili geslo, ki ga bomo shranili v /etc/httpd/auth.basic (lahko izberete drug imenik in/ali datoteko ime - dokler ima Apache dovoljenja za branje na teh virih, boste v redu):

# htpasswd -c /etc/httpd/auth.basic adminganglia

Pred nadaljevanjem dvakrat vnesite geslo za adminganglije.

3. Spremenite /etc/httpd/conf.d/ganglia.conf, kot sledi:

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. Uredi /etc/ganglia/gmetad.conf:

Najprej uporabite mrežno ime, ki mu sledi opisno ime za mrežo, ki jo nastavljate:

gridname "Home office"

Nato uporabite data_source, ki mu sledi opisno ime za gručo (skupino strežnikov), interval glasovanja v sekundah in naslov IP glavnega in nadzorovanega vozlišča:

data_source "Labs" 60 192.168.0.29:8649 # Master node
data_source "Labs" 60 192.168.0.32 # Monitored node

5. Uredi /etc/ganglia/gmond.conf.

a) Prepričajte se, da je blok gruče videti tako:

cluster {
name = "Labs" # The name in the data_source directive in gmetad.conf
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

b) V bloku udp_send_chanel komentirajte direktivo mcast_join:

udp_send_channel   {
  #mcast_join = 239.2.11.71
  host = localhost
  port = 8649
  ttl = 1
}

c) Na koncu komentirajte direktivi mcast_join in bind v bloku udp_recv_channel:

udp_recv_channel {
  #mcast_join = 239.2.11.71 ## comment out
  port = 8649
  #bind = 239.2.11.71 ## comment out
}

Shranite spremembe in zapustite.

6. Odprite vrata 8649/udp in dovolite, da se skripti PHP (zaženejo se prek Apache) povežejo v omrežje z uporabo ustrezne logične vrednosti SELinux:

# firewall-cmd --add-port=8649/udp
# firewall-cmd --add-port=8649/udp --permanent
# setsebool -P httpd_can_network_connect 1

7. Znova zaženite Apache, gmetad in gmond. Prepričajte se tudi, da jim je omogočen zagon ob zagonu:

# systemctl restart httpd gmetad gmond
# systemctl enable httpd gmetad httpd

Na tej točki bi morali imeti možnost odpreti spletni vmesnik Ganglia na http://192.168.0.29/ganglia in se prijaviti s poverilnicami iz # 2. koraka.

8. V gostitelju Ubuntu bomo v CentOS namestili samo ganglia-monitor, enakovreden ganglia-gmond:

$ sudo aptitude update && aptitude install ganglia-monitor

9. Uredite datoteko /etc/ganglia/gmond.conf v nadzorovanem polju. Ta mora biti enaka isti datoteki v glavnem vozlišču, le da morajo biti omogočene komentirane vrstice v gruči, udp_send_channel in udp_recv_channel:

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
}

Nato znova zaženite storitev:

$ sudo service ganglia-monitor restart

10. Osvežite spletni vmesnik in morali bi si ogledati statistiko in grafe obeh gostiteljev znotraj mreže domačih pisarn/Labs (v spustnem meniju poleg Mreža domačih pisarn izberite gručo, v našem primeru Labs):

Z zavihki menijev (označeni zgoraj) lahko dostopate do številnih zanimivih informacij o vsakem strežniku posebej in v skupinah. Statistike vseh strežnikov v gruči lahko celo primerjate vzporedno z zavihkom Primerjaj gostitelje.

Preprosto izberite skupino strežnikov z regularnim izrazom in videli boste hitro primerjavo njihove uspešnosti:

Ena izmed funkcij, ki so meni osebno najbolj privlačne, je povzetek, prijazen do mobilnih naprav, do katerega lahko dostopate na zavihku Mobile. Izberite grozd, ki vas zanima, in nato posameznega gostitelja:

Povzetek

V tem članku smo predstavili Ganglia, močno in razširljivo rešitev za nadzor omrežij in skupin strežnikov. Prosto namestite, raziščite in se poigrajte z Ganglijo, kolikor želite (mimogrede, Ganglijo lahko celo preizkusite v predstavitvi, ki je na uradni spletni strani projekta.

Ko ste že pri tem, boste odkrili tudi, da več znanih podjetij, tako v svetu IT, niti ne uporablja Ganglije. Za to obstaja veliko tehtnih razlogov, poleg tistih, ki smo jih delili v tem članku, pa je na vrhu verjetno enostavnost uporabe in grafi, skupaj s statistiko (lepo je, če se imenu piše, kajne?).

Ampak ne verjemite nam samo na besedo, preizkusite ga sami in ne oklevajte, če nam pošljete vrstico s spodnjim obrazcem za komentar, če imate kakršna koli vprašanja.