Reaaliaikaisen seurannan määrittäminen Ganglian avulla Linux-palvelinten ruudukoille ja klustereille


Siitä lähtien, kun järjestelmänvalvojat ovat vastanneet palvelimien ja koneryhmien hallinnasta, työkalut, kuten sovellusten seuranta, ovat olleet heidän parhaita ystäviään. Luultavasti tunnet työkalut, kuten Icinga ja Centreon. Vaikka nämä ovatkin valvonnan raskaita painikkeita, niiden asentaminen ja niiden ominaisuuksien täysimääräinen hyödyntäminen voi olla hieman vaikeaa uusille käyttäjille.

Tässä artikkelissa esittelemme sinut Gangliaan, seurantajärjestelmään, joka on helposti skaalautuva ja jonka avulla voit tarkastella monenlaisia Linux-palvelimien ja klustereiden järjestelmämittareita (plus kaaviot) reaaliajassa.

Ganglian avulla voit määrittää ruudukot (sijainnit) ja klusterit (palvelinryhmät) organisaation parantamiseksi.

Näin voit luoda ruudukon, joka koostuu kaikista etäympäristössä olevista koneista, ja ryhmitellä ne sitten pienempiin ryhmiin muiden kriteerien perusteella.

Lisäksi Ganglian verkkokäyttöliittymä on optimoitu mobiililaitteille, ja sen avulla voit myös viedä tietoja en .csv - ja .json -muodoissa.

Testiympäristömme koostuu keskitetystä CentOS 7 -palvelimesta (IP-osoite 192.168.0.29), johon asennamme Ganglian, ja Ubuntu 14.04 -laitteesta (192.168.0.32), ruutuun, jota haluamme valvoa Ganglian verkkokäyttöliittymän kautta.

Tässä oppaassa viitataan CentOS 7 -järjestelmään pääsolmuna ja Ubuntu-ruutuun valvottuna koneena.

Ganglian asentaminen ja määrittäminen

Asenna valvontaohjelmat pääsolmuun seuraavasti:

1. Ota käyttöön EPEL-arkisto ja asenna sitten Ganglia ja siihen liittyvät apuohjelmat sieltä:

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

Yllä olevaan vaiheeseen asennetut paketit yhdessä ganglioiden, itse sovelluksen, kanssa suorittavat seuraavat toiminnot:

  1. rrdtool , Round-Robin-tietokanta, on työkalu, jota käytetään tietojen vaihtelun tallentamiseen ja esittämiseen kaavioiden avulla.
  2. ganglia-gmetad on daemon, joka kerää valvontatiedot isännöiltä, joita haluat seurata. Näissä isännissä ja pääsolmussa on myös tarpeen asentaa ganglia-gmond (itse valvontademon):
  3. ganglia-web tarjoaa web-käyttöliittymän, jossa tarkastellaan valvottujen järjestelmien historiallisia kaavioita ja tietoja.

2. Määritä todennus Ganglia-verkkokäyttöliittymälle (/ usr/share/ganglia). Käytämme Apachen tarjoamaa perustodennusta.

Jos haluat tutkia kehittyneempiä suojausmekanismeja, katso Apache-asiakirjojen Valtuutus ja todennus -osiosta.

Tämän tavoitteen saavuttamiseksi luo käyttäjätunnus ja määritä salasana Apache-suojatun resurssin käyttämiseksi. Tässä esimerkissä luomme käyttäjänimen nimeltä adminganglia ja annamme valitsemamme salasanan, joka tallennetaan tiedostoon /etc/httpd/auth.basic (voit vapaasti valita toisen hakemiston ja/tai tiedoston nimi - niin kauan kuin Apache on lukenut nämä resurssit, voit hyvin):

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

Anna salasana adminganglialle kahdesti ennen jatkamista.

3. Muokkaa /etc/httpd/conf.d/ganglia.conf seuraavasti:

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

Käytä ensin gridname-direktiiviä ja sen jälkeen kuvaavaa nimeä määrittämäsi ruudukolle:

gridname "Home office"

Käytä sitten data_lähde, jota seuraa klusterin (palvelinryhmän) kuvaava nimi, kyselyväli sekunteina sekä pää- ja valvottujen solmujen IP-osoite:

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

5. Muokkaa tiedostoa /etc/ganglia/gmond.conf.

a) Varmista, että klusterilohko näyttää seuraavalta:

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

b) Kommentoi udcast_send_chanel-lohkossa mcast_join-direktiivi:

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

c) Kommentoi lopuksi mcast_join- ja sitovuusdirektiivit udp_recv_channel-lohkossa:

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

Tallenna muutokset ja poistu.

6. Avaa portti 8649/udp ja anna PHP-komentosarjojen (suorittaa Apachen kautta) muodostaa yhteys verkkoon tarvittavaa SELinux-loogista:

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

7. Käynnistä Apache, gmetad ja gmond uudelleen. Varmista myös, että ne on mahdollista käynnistää käynnistettäessä:

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

Tässä vaiheessa sinun pitäisi pystyä avaamaan Ganglia-verkkokäyttöliittymä osoitteessa http://192.168.0.29/ganglia ja kirjautumaan sisään #Step 2: n kirjautumistiedoilla.

8. Ubuntun isäntään asennamme vain ganglia-monitorin, joka vastaa ganglia-gmondia CentOS: ssä:

$ sudo aptitude update && aptitude install ganglia-monitor

9. Muokkaa /etc/ganglia/gmond.conf-tiedostoa valvotussa ruudussa. Tämän on oltava identtinen pääsolmun saman tiedoston kanssa, paitsi että klusterin kommentoidut rivit, udp_send_channel ja udp_recv_channel on otettava käyttöön:

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
}

Käynnistä sitten palvelu uudelleen:

$ sudo service ganglia-monitor restart

10. Päivitä verkkokäyttöliittymä ja sinun pitäisi pystyä tarkastelemaan molempien isäntien tilastoja ja kaavioita kotitoimistoruudukon/Labs-klusterin sisällä (valitse kotitoimistoruudukon vieressä olevasta avattavasta valikosta klusteri, Labs meidän tapauksessamme):

Valikkovälilehtien (korostettu yllä) avulla voit käyttää paljon mielenkiintoista tietoa kustakin palvelimesta erikseen ja ryhmissä. Voit jopa verrata kaikkien klusterin palvelinten tilastoja vertaamalla isäntiä -välilehteä.

Valitse vain ryhmä palvelimia säännöllisen lausekkeen avulla ja näet nopean vertailun niiden toiminnasta:

Yksi henkilökohtaisesti mielestäni houkuttelevimmista ominaisuuksista on mobiililaitteille sopiva yhteenveto, johon pääset Mobile-välilehdellä. Valitse sinua kiinnostava klusteri ja sitten yksittäinen isäntä:

Yhteenveto

Tässä artikkelissa olemme esittäneet Ganglian, tehokkaan ja skaalautuvan seurantaratkaisun palvelinten ruudukoille ja klustereille. Voit vapaasti asentaa, tutkia ja leikkiä Ganglian kanssa niin paljon kuin haluat (muuten, voit myös kokeilla Gangliaa demossa, joka on projektin virallisella verkkosivustolla.

Kun olet siinä, huomaat myös, että useat tunnetut yritykset sekä IT-maailmassa että eivät käytä Gangliaa. Siihen on runsaasti hyviä syitä, lukuun ottamatta niitä, jotka olemme jakaneet tässä artikkelissa, ja helppokäyttöisyys ja kaaviot sekä tilastot (on mukava laittaa kasvot nimeen, eikö niin?) Luultavasti huipulla.

Mutta älä ota vain sanojamme, kokeile itse ja älä epäröi pudottaa meille riviä alla olevan kommenttilomakkeen avulla, jos sinulla on kysyttävää.