Kuweka Ufuatiliaji wa Wakati Halisi na Ganglia kwa Gridi na Vikundi vya Seva za Linux


Tangu wasimamizi wa mfumo wamekuwa wakisimamia udhibiti wa seva na vikundi vya mashine, zana kama vile programu za ufuatiliaji zimekuwa marafiki wao wa karibu. Labda utafahamu zana kama vile Icinga, na Centreon. Ingawa hizo ndizo uzito mzito wa ufuatiliaji, kuziweka na kutumia kikamilifu vipengele vyake kunaweza kuwa vigumu kwa watumiaji wapya.

Katika makala haya tutakujulisha Ganglia, mfumo wa ufuatiliaji ambao unaweza kuongezwa kwa urahisi na unaoruhusu kuona aina mbalimbali za metriki za mfumo wa seva na makundi ya Linux (pamoja na grafu) kwa wakati halisi.

Ganglia hukuruhusu kusanidi gridi (maeneo) na vikundi (vikundi vya seva) kwa mpangilio bora.

Kwa hivyo, unaweza kuunda gridi inayojumuisha mashine zote katika mazingira ya mbali, na kisha upange mashine hizo katika seti ndogo kulingana na vigezo vingine.

Zaidi ya hayo, kiolesura cha wavuti cha Ganglia kimeboreshwa kwa ajili ya vifaa vya mkononi, na pia hukuruhusu kutuma data kwenye miundo ya .csv na .json.

Mazingira yetu ya majaribio yatajumuisha seva kuu ya CentOS 7 (anwani ya IP 192.168.0.29) ambapo tutasakinisha Ganglia, na mashine ya Ubuntu 14.04 (192.168.0.32), kisanduku ambacho tunataka kufuatilia kupitia kiolesura cha wavuti cha Ganglia.

Katika mwongozo huu wote tutarejelea mfumo wa CentOS 7 kama nodi kuu, na sanduku la Ubuntu kama mashine inayofuatiliwa.

Kufunga na kusanidi Ganglia

Ili kusakinisha huduma za ufuatiliaji kwenye nodi kuu, fuata hatua hizi:

1. Washa hazina ya EPEL kisha usakinishe Ganglia na huduma zinazohusiana kutoka hapo:

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

Vifurushi vilivyowekwa katika hatua hapo juu pamoja na ganglia, programu yenyewe, hufanya kazi zifuatazo:

  1. rrdtool, Hifadhidata ya Round-Robin, ni zana ambayo hutumika kuhifadhi na kuonyesha tofauti za data kwa wakati kwa kutumia grafu.
  2. ganglia-gmetad ni daemoni inayokusanya data ya ufuatiliaji kutoka kwa wapangishi ambao ungependa kufuatilia. Katika majeshi hayo na katika nodi kuu ni muhimu pia kufunga ganglia-gmond (daemon ya ufuatiliaji yenyewe):
  3. ganglia-web hutoa mandhari ya mbele ya wavuti ambapo tutatazama grafu za kihistoria na data kuhusu mifumo inayofuatiliwa.

2. Sanidi uthibitishaji wa kiolesura cha wavuti cha Ganglia (/usr/share/ganglia). Tutatumia uthibitishaji wa kimsingi kama ilivyotolewa na Apache.

Iwapo ungependa kuchunguza mbinu za juu zaidi za usalama, rejelea sehemu ya Uidhinishaji na Uthibitishaji ya hati za Apache.

Ili kutimiza lengo hili, tengeneza jina la mtumiaji na uweke nenosiri ili kufikia rasilimali iliyolindwa na Apache. Katika mfano huu, tutaunda jina la mtumiaji liitwalo adminganglia na kuweka nenosiri tunalochagua, ambalo litahifadhiwa ndani /etc/httpd/auth.basic (jisikie huru kuchagua saraka na/au faili nyingine. jina - mradi tu Apache amesoma ruhusa kwenye rasilimali hizo, utakuwa sawa):

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

Ingiza nenosiri la adminganglia mara mbili kabla ya kuendelea.

3. Rekebisha /etc/httpd/conf.d/ganglia.conf kama ifuatavyo:

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

Kwanza, tumia agizo la jina la gridi ikifuatiwa na jina la maelezo ya gridi unayoweka:

gridname "Home office"

Kisha, tumia data_source ikifuatiwa na jina la maelezo kwa nguzo (kikundi cha seva), muda wa upigaji kura kwa sekunde na anwani ya IP ya bwana na nodi zinazofuatiliwa:

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

5. Hariri /etc/ganglia/gmond.conf.

a) Hakikisha kizuizi cha nguzo kinaonekana kama ifuatavyo:

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

b) Katika udp_send_chanel block, toa maoni kwa mcast_join maagizo:

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

c) Mwishowe, toa maoni kwa mcast_join na funga maagizo kwenye udp_recv_channel block:

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

Hifadhi mabadiliko na uondoke.

6. Fungua mlango 8649/udp na uruhusu hati za PHP (endesha kupitia Apache) kuunganishwa kwenye mtandao kwa kutumia boolean muhimu ya SELinux:

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

7. Anzisha upya Apache, gmetad, na gmond. Pia, hakikisha kuwa zimewezeshwa kuanza kwenye buti:

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

Kwa hatua hii, unapaswa kuwa na uwezo wa kufungua kiolesura cha wavuti cha Ganglia katika http://192.168.0.29/ganglia na uingie ukitumia kitambulisho kutoka #Hatua ya 2.

8. Katika seva pangishi ya Ubuntu, tutasakinisha tu ganglia-monitor, sawa na ganglia-gmond katika CentOS:

$ sudo aptitude update && aptitude install ganglia-monitor

9. Hariri faili ya /etc/ganglia/gmond.conf katika kisanduku kinachofuatiliwa. Hii inapaswa kufanana na faili sawa katika nodi kuu isipokuwa kwamba mistari ya maoni kwenye nguzo, udp_send_channel, na udp_recv_channel inapaswa kuwashwa:

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
}

Kisha, anza tena huduma:

$ sudo service ganglia-monitor restart

10. Onyesha upya kiolesura cha wavuti na unafaa kuwa na uwezo wa kuona takwimu na grafu za wapangishi wote wawili ndani ya gridi ya Ofisi ya Nyumbani/Nguzo ya Maabara (tumia menyu kunjuzi iliyo karibu na gridi ya Ofisi ya Nyumbani ili kuchagua kundi, Maabara kwa upande wetu):

Kwa kutumia vichupo vya menyu (vilivyoangaziwa hapo juu) unaweza kufikia maelezo mengi ya kuvutia kuhusu kila seva kibinafsi na katika vikundi. Unaweza hata kulinganisha takwimu za seva zote katika kundi kando kwa kutumia kichupo cha Linganisha Seva.

Chagua tu kikundi cha seva kwa kutumia usemi wa kawaida na utaweza kuona ulinganisho wa haraka wa jinsi zinavyofanya kazi:

Mojawapo ya vipengele ambavyo binafsi naona vikinivutia zaidi ni muhtasari unaotumia simu ya mkononi, ambao unaweza kufikia kwa kutumia kichupo cha Rununu. Chagua kundi linalokuvutia na kisha mwenyeji mahususi:

Muhtasari

Katika makala hii tumeanzisha Ganglia, suluhisho la ufuatiliaji wa nguvu na scalable kwa grids na makundi ya seva. Jisikie huru kusakinisha, kuchunguza na kucheza na Ganglia kadri upendavyo (kwa njia, unaweza hata kujaribu Ganglia katika onyesho lililotolewa katika tovuti rasmi ya mradi.

Ukiwa huko, utagundua pia kuwa kampuni kadhaa zinazojulikana katika ulimwengu wa IT au hazitumii Ganglia. Kuna sababu nyingi nzuri za hiyo isipokuwa zile ambazo tumeshiriki katika makala hii, kwa urahisi wa matumizi na grafu pamoja na takwimu (ni vizuri kuweka uso kwa jina, sivyo?) Labda kuwa juu.

Lakini usichukue neno letu kwa hilo, jaribu mwenyewe na usisite kutupa mstari kwa kutumia fomu ya maoni hapa chini ikiwa una maswali yoyote.