Reāllaika uzraudzības iestatīšana ar Ganglia Linux serveru režģiem un kopām


Kopš sistēmas administratori ir atbildīgi par serveru un mašīnu grupu pārvaldīšanu, rīki, piemēram, lietojumprogrammu uzraudzība, ir viņu labākie draugi. Jūs, iespējams, būsiet pazīstami ar tādiem rīkiem kā Icinga un Centreon. Lai gan tie ir novērošanas smagie svari, to iestatīšana un pilnīga to funkciju izmantošana jaunajiem lietotājiem var būt nedaudz sarežģīta.

Šajā rakstā mēs jūs iepazīstināsim ar Ganglia, uzraudzības sistēmu, kas ir viegli pielāgojama un ļauj reāllaikā apskatīt plašu Linux serveru un kopu sistēmas metriku (plus diagrammas) dažādību.

Lai labāk organizētu, Ganglia ļauj iestatīt režģus (atrašanās vietas) un kopas (serveru grupas).

Tādējādi jūs varat izveidot režģi, kas sastāv no visām attālā vidē esošajām mašīnām, un pēc tam grupēt šīs mašīnas mazākās kopās, pamatojoties uz citiem kritērijiem.

Turklāt Ganglia tīmekļa saskarne ir optimizēta mobilajām ierīcēm, kā arī ļauj eksportēt datus en .csv un .json formātos.

Mūsu testa vidi veidos centrālais CentOS 7 serveris (IP adrese 192.168.0.29), kurā instalēsim Ganglia, un Ubuntu 14.04 mašīna (192.168.0.32), rūtiņa, kuru mēs vēlamies uzraudzīt, izmantojot Ganglia tīmekļa saskarni.

Šajā rokasgrāmatā mēs atsauksies uz CentOS 7 sistēmu kā galveno mezglu un uz Ubuntu lodziņu kā uzraugāmo mašīnu.

Ganglia instalēšana un konfigurēšana

Lai instalētu uzraudzības utilītus galvenajā mezglā, rīkojieties šādi:

1. Iespējojiet EPEL repozitoriju un pēc tam no turienes instalējiet Ganglia un ar to saistītās utilītas:

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

Iepriekš pakotnē instalētās paketes kopā ar ganglijiem, pašu lietojumprogrammu, veic šādas funkcijas:

  1. rrdtool , datu bāze Round-Robin, ir rīks, ko izmanto, lai grafikus saglabātu un parādītu datu variācijas laika gaitā.
  2. ganglia-gmetad ir dēmons, kas apkopo uzraudzības datus no saimniekiem, kurus vēlaties pārraudzīt. Šajos resursdatoros un galvenajā mezglā ir nepieciešams arī instalēt gangliju-gmondu (pašu uzraudzības dēmonu):
  3. ganglia-web nodrošina tīmekļa frontendu, kurā mēs skatīsim vēsturiskos grafikus un datus par uzraudzītajām sistēmām.

2. Iestatiet Ganglia tīmekļa saskarnes autentifikāciju (/ usr/share/ganglia). Mēs izmantosim pamata autentifikāciju, kā to nodrošina Apache.

Ja vēlaties izpētīt modernākus drošības mehānismus, skatiet Apache dokumentu sadaļu Autorizācija un autentifikācija.

Lai sasniegtu šo mērķi, izveidojiet lietotājvārdu un piešķiriet paroli, lai piekļūtu resursam, kuru aizsargā Apache. Šajā piemērā mēs izveidosim lietotājvārdu ar nosaukumu adminganglia un piešķirsim izvēlēto paroli, kas tiks saglabāta /etc/httpd/auth.basic (nekautrējieties izvēlēties citu direktoriju un/vai failu nosaukums - ja vien Apache ir lasīšanas atļaujas šiem resursiem, jums viss būs kārtībā):

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

Pirms turpināt divreiz ievadiet adminganglia paroli.

3. Modificējiet /etc/httpd/conf.d/ganglia.conf šādi:

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. Rediģējiet /etc/ganglia/gmetad.conf:

Vispirms izmantojiet režģa nosaukuma direktīvu, kam seko aprakstošais režģa nosaukums:

gridname "Home office"

Pēc tam izmantojiet datu avotu, kam seko aprakstošs klastera nosaukums (serveru grupa), vēlēšanu intervāls sekundēs un galvenā un uzraudzīto mezglu IP adrese:

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

5. Rediģējiet /etc/ganglia/gmond.conf.

a) Pārliecinieties, vai klastera bloks izskatās šādi:

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

b) blokā udp_send_chanel komentējiet direktīvu mcast_join:

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

c) Visbeidzot, komentējiet mcast_join un saistīšanas direktīvas udp_recv_channel blokā:

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

Saglabājiet izmaiņas un izejiet.

6. Atveriet portu 8649/udp un ļaujiet PHP skriptiem (palaist caur Apache) izveidot savienojumu ar tīklu, izmantojot nepieciešamo SELinux boolean:

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

7. Restartējiet Apache, gmetad un gmond. Pārliecinieties arī, vai tie ir iespējoti, lai sāktu sāknēšanu:

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

Šajā brīdī jums vajadzētu būt iespējai atvērt Ganglia tīmekļa saskarni vietnē http://192.168.0.29/ganglia un pieteikties, izmantojot # 2. darbības akreditācijas datus.

8. Ubuntu resursdatorā CentOS instalēsim tikai ganglijus-monitoru, kas ir ekvivalents ganglijiem-gmondiem:

$ sudo aptitude update && aptitude install ganglia-monitor

9. Rediģējiet /etc/ganglia/gmond.conf failu uzraudzītajā lodziņā. Tam jābūt identiskam ar to pašu failu galvenajā mezglā, izņemot to, ka jāaktivizē komentētās rindas klasterī, udp_send_channel un 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
}

Pēc tam restartējiet pakalpojumu:

$ sudo service ganglia-monitor restart

10. Atsvaidziniet tīmekļa saskarni, un jums vajadzētu būt iespējai apskatīt abu vietņu statistiku un diagrammas mājas biroja režģa/laboratoriju klastera iekšpusē (izmantojiet nolaižamo izvēlni blakus Mājas biroja režģis, lai izvēlētos kopu, mūsu gadījumā - Labs):

Izmantojot izvēlnes cilnes (kas iezīmētas iepriekš), varat piekļūt daudz interesantas informācijas par katru serveri atsevišķi un grupās. Varat pat salīdzināt visu klastera serveru statistiku, izmantojot cilni Salīdzināt viesus.

Vienkārši izvēlieties serveru grupu, izmantojot parasto izteiksmi, un jūs varēsit ātri salīdzināt to veiktspēju:

Viena no man personīgi vispievilcīgākajām funkcijām ir mobilajām ierīcēm draudzīgs kopsavilkums, kuram varat piekļūt, izmantojot cilni Mobilās. Izvēlieties interesējošo kopu un pēc tam individuālo resursdatoru:

Kopsavilkums

Šajā rakstā mēs esam iepazīstinājuši ar Ganglia, spēcīgu un pielāgojamu uzraudzības risinājumu tīklu un serveru kopām. Jūtieties brīvi instalēt, izpētīt un spēlēt ar Ganglia tik daudz, cik vēlaties (starp citu, jūs pat varat izmēģināt Ganglia demonstrācijā, kas paredzēta projekta oficiālajā vietnē.

Atrodoties tajā, jūs atklāsiet arī to, ka vairāki labi pazīstami uzņēmumi IT pasaulē vai neizmanto Ganglia. Tam ir daudz labu iemeslu, izņemot tos, par kuriem mēs esam dalījušies šajā rakstā, iespējams, ka augšpusē ir izmantošanas vieglums un diagrammas, kā arī statistika (ir patīkami uzlikt vārdu nosaukumam, vai ne?)

Bet neņemiet vērā tikai mūsu vārdu, izmēģiniet to pats un nevilcinieties nomest mums rindiņu, izmantojot zemāk esošo komentāru veidlapu, ja jums ir kādi jautājumi.