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:
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ů.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):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.