Vyhledávání na webu

Nastavení monitorování v reálném čase pomocí „Ganglia“ pro sítě a clustery linuxových serverů


Od té doby, co správci systému mají na starosti správu serverů a skupin počítačů, jsou nástroje jako monitorovací aplikace jejich nejlepšími přáteli. Pravděpodobně budete obeznámeni s nástroji jako Nagios, Zabbix, Icinga a Centreon. I když to jsou těžké váhy monitorování, jejich nastavení a plné využití jejich funkcí může být pro nové uživatele poněkud obtížné.

V tomto článku vám představíme Ganglia, monitorovací systém, který je snadno škálovatelný a umožňuje zobrazit širokou škálu systémových metrik linuxových serverů a clusterů (plus grafy) v reálném čase.

Ganglia vám umožňuje nastavit sítě (umístění) a klastry (skupiny serverů) pro lepší organizaci.

Můžete tedy vytvořit mřížku složenou ze všech počítačů ve vzdáleném prostředí a poté tyto počítače seskupit do menších sad na základě jiných kritérií.

Webové rozhraní Ganglia je navíc optimalizováno pro mobilní zařízení a také umožňuje exportovat data ve formátech .csv a .json.

Naše testovací prostředí se bude skládat z centrálního serveru CentOS 7 (IP adresa 192.168.0.29), kam nainstalujeme Ganglia, a Stroj Ubuntu 14.04 (192.168.0.32), box, který chceme sledovat prostřednictvím webového rozhraní Ganglia.

V této příručce budeme odkazovat na systém CentOS 7 jako na hlavní uzel a na box Ubuntu jako na monitorovaný stroj.

Instalace a konfigurace Ganglia

Chcete-li nainstalovat monitorovací nástroje do hlavního uzlu, postupujte takto:

1. Povolte úložiště EPEL a poté odtud nainstalujte Ganglia a související nástroje:

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

Balíčky nainstalované ve výše uvedeném kroku spolu s ganglií, samotnou aplikací, provádějí následující funkce:

  1. rrdtool, databáze Round-Robin, je nástroj, který se používá k ukládání a zobrazování změn dat v průběhu času pomocí grafů.
  2. ganglia-gmetad je démon, který shromažďuje monitorovací data od hostitelů, které chcete monitorovat. V těchto hostitelích a v master node je také nutné nainstalovat ganglia-gmond (samotný monitorovací démon):
  3. ganglia-web poskytuje webové rozhraní, kde budeme prohlížet historické grafy a data o sledovaných systémech.

2. Nastavte ověřování pro webové rozhraní Ganglia (/usr/share/ganglia). Použijeme základní ověřování, které poskytuje Apache.

Pokud chcete prozkoumat pokročilejší bezpečnostní mechanismy, podívejte se do části Autorizace a ověřování v dokumentaci Apache.

Chcete-li tohoto cíle dosáhnout, vytvořte uživatelské jméno a přiřaďte heslo pro přístup ke zdroji chráněnému Apache. V tomto příkladu vytvoříme uživatelské jméno s názvem adminganglia a přiřadíme heslo dle našeho výběru, které bude uloženo v /etc/httpd/auth.basic (neváhejte vyberte jiný adresář a/nebo název souboru – pokud má Apache oprávnění ke čtení těchto zdrojů, budete v pořádku):

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

Před pokračováním zadejte dvakrát heslo pro adminganglia.

3. Upravte /etc/httpd/conf.d/ganglia.conf následovně:

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

Nejprve použijte direktivu gridname následovanou popisným názvem pro mřížku, kterou nastavujete:

gridname "Home office"

Poté použijte zdroj_dat následovaný popisným názvem clusteru (skupiny serverů), intervalem dotazování v sekundách a IP adresou hlavního a monitorovaného uzlu:

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

5. Upravte /etc/ganglia/gmond.conf.

a) Ujistěte se, že blok clusteru vypadá následovně:

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 zakomentujte direktivu mcast_join:

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

c) Nakonec zakomentujte mcast_join a direktivy vazby 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
}

Uložte změny a ukončete.

6. Otevřete port 8649/udp a povolte PHP skriptům (spouštěným přes Apache) připojení k síti pomocí nezbytného SELinux boolean:

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

7. Restartujte Apache, gmetad a gmond. Také se ujistěte, že mají povoleno spuštění při spouštění:

systemctl restart httpd gmetad gmond
systemctl enable httpd gmetad httpd

V tomto okamžiku byste měli být schopni otevřít webové rozhraní Ganglia na adrese http://192.168.0.29/ganglia a přihlásit se pomocí přihlašovacích údajů z #kroku 2.

8. V hostiteli Ubuntu nainstalujeme pouze ganglia-monitor, ekvivalent ganglia-gmond v CentOS:

sudo aptitude update && aptitude install ganglia-monitor

9. Upravte soubor /etc/ganglia/gmond.conf ve sledovaném poli. To by mělo být identické se stejným souborem v hlavním uzlu kromě toho, že zakomentované řádky v klastru, udp_send_channel a udp_recv_channel by mělo být povoleno:

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
}

Poté restartujte službu:

sudo service ganglia-monitor restart

10. Obnovte webové rozhraní a měli byste být schopni zobrazit statistiky a grafy pro oba hostitele v mřížce Home office/Labs cluster ( pomocí rozbalovací nabídky vedle položky Mřížka domácí kanceláře vyberte cluster, v našem případě Laboratoře):

Pomocí záložek nabídky (zvýrazněných výše) získáte přístup k mnoha zajímavým informacím o každém serveru jednotlivě i ve skupinách. Pomocí karty Porovnat hostitele můžete dokonce porovnat statistiky všech serverů v clusteru vedle sebe.

Jednoduše vyberte skupinu serverů pomocí regulárního výrazu a budete moci vidět rychlé srovnání jejich výkonu:

Jednou z funkcí, kterou osobně považuji za nejatraktivnější, je přehled přizpůsobený pro mobily, ke kterému se dostanete na kartě Mobil. Vyberte cluster, který vás zajímá, a poté jednotlivého hostitele:

souhrn

V tomto článku jsme představili Ganglia, výkonné a škálovatelné řešení monitorování pro gridy a clustery serverů. Neváhejte a instalujte, prozkoumávejte a hrajte si s Ganglia, jak chcete (mimochodem, Ganglia si můžete dokonce vyzkoušet v ukázce na oficiálních stránkách projektu.

Když už budete u toho, zjistíte také, že několik známých společností ve světě IT nebo nepoužívá Ganglia. Kromě těch, které jsme sdíleli v tomto článku, pro to existuje spousta dobrých důvodů, přičemž snadnost použití a grafy spolu se statistikami (je hezké uvést jméno, že?) jsou pravděpodobně na vrcholu.

Ale neberte to jen tak, vyzkoušejte si to sami a v případě jakýchkoli dotazů nám neváhejte napsat komentář níže.