Monitorování serveru: Porovnání verzí
Řádek 62: | Řádek 62: | ||
V adresáři HotSaNICu pustíme konfigurační dávku: | V adresáři HotSaNICu pustíme konfigurační dávku: | ||
$ ./setup.pl | $ ./setup.pl | ||
+ | |||
+ | Nyní budeme dotázáni, které služby hodláme monitorovat a zobrazovat. | ||
+ | Doporučuju sledovat zejména subsystémy: traffic, system, ping, sensors a networks. | ||
+ | Po dokončení konfigurace dojde k vytvoření konfiguračního souboru <code>settings</code>, | ||
+ | který pro případné změny můžeme editovat i ručně a spouštěcí script <code>rrdgraph</code>. | ||
+ | |||
+ | Spoušetní HotSaNICu přidáme do init scriptů, tak aby nám naběhl při spuštění systémů. Do adresáře <code>/etc/init.d/</code> případně <code>/etc/rc.d/</code> soubor s následujícím obsahem: | ||
+ | |||
+ | #!/bin/bash | ||
+ | # | ||
+ | # Startup script for the HotSaNIC | ||
+ | # | ||
+ | |||
+ | hotsanic=/opt/hotsanic/rrdgraph | ||
+ | prog=hotsanic | ||
+ | |||
+ | start() { | ||
+ | echo -n $"Starting $prog: " | ||
+ | $hotsanic start | ||
+ | } | ||
+ | |||
+ | stop() { | ||
+ | echo -n $"Stopping $prog: " | ||
+ | $hotsanic stop | ||
+ | } | ||
+ | |||
+ | case "$1" in | ||
+ | start) | ||
+ | start | ||
+ | ;; | ||
+ | stop) | ||
+ | stop | ||
+ | ;; | ||
+ | restart) | ||
+ | stop | ||
+ | start | ||
+ | ;; | ||
+ | *) | ||
+ | echo $"Usage: $prog {start|stop|restart}" | ||
+ | exit 1 | ||
+ | esac | ||
=== konfigurace jednotlivých modulů === | === konfigurace jednotlivých modulů === |
Verze z 18. 9. 2005, 10:39
Autor: Lore
Obsah
Motivace
Automatizované monitorování systému a hardwaru je zajisté jedna z vlastností, která by neměla chybět na žádném profesionálně udržovaném serveru. Upozorní nás včas na případné problémy, které by mohli často vést i k hadrwarovému porušení celého serveru. Dále vídíme dlouhodobý stav žátěže, podle něhož můžeme server upgradovat (přídání většího ventilátoru, paměti atd.)
Úkázkové řešení
Na mnohých serverech hkfree běží monitoring jak systému tak i hardwaru. Jedno z efektivních a nenáročních řesení lze najít na: http://pouchov.hkfree.org/info/.
Nástavení modulu linuxového jádra
Abychom mohli přistupovat k údajům o teplotě procesoru, základní desky, otáčkám ventilátorů aj. je nutné při konfiguraci linuxového jádra zapnout podporu pro I2C Hardware monitoring. Pokud je váš hardware muzejní kousek, můžete se přesvědčit, zda-li je monitorování chipsetu podporováno na stránce: http://secure.netroedge.com/~lm78/.
Dále je nutné přidat do jádra podporu pro jednotlivé chipy. Nejjednodušší je přidat všechny podporované chipy jako moduly. Ušetříme si tím mnohé trápení. Pokud nechcete sami laborovat s nastavením konfigurace jádra, je možné si stáhnout a nainstalovat již odzkoušené verze jádra pro několik základních architektur z ftp hkfree: ftp://ftp.hkfree.org/linux/wifi/.
Nastavení monitorovací utility
K tomu, abychom zjistili, které moduly jádra náhrat použijeme monitorovaní utilitu lm_sensors opět z http://secure.netroedge.com/~lm78/. Nainstaluje buč příslušný balík, či sami zkompilujeme a nainstalujeme. Po instalaci máme k dispozici utilitu sensors-detect. Spustíme, dojde k vyzkoušení veškerých modulů pro monitorování. Pro ty, které fungují na našem systému, nám utilita vygeneruje příslušné řádky jednak pro /etc/modprobe.conf a jednak pro startovací skripty, kde se dané moduly nahrávají.
Zdali vše funguje vyzkoušíme pomocí příkazu:
$ sensors
To nám ukáže zhruba následují informace o hardwaru na serveru.
it8712-isa-0290 Adapter: ISA adapter in0: +1.74 V (min = +4.08 V, max = +4.08 V) in1: +0.00 V (min = +4.08 V, max = +4.08 V) in2: +3.26 V (min = +4.08 V, max = +4.08 V) in3: +2.93 V (min = +4.08 V, max = +4.08 V) fan1: 2616 RPM (min = 0 RPM, div = 4) temp1: +57°C (low = -1°C, high = -1°C) sensor = thermistor temp2: +41°C (low = -1°C, high = -1°C) sensor = thermistor vid: +1.20 V
Nastavení grafického zobrazení
Nyní nás čeká nastavení softwaru, který nám bude graficky zobrazovat statistiky jednak o hardwaru, ale i softwaru (zátež linky, ping, počet přenesených dat jednotlivých uživatelů atd.)
Pro samotný sběr monitorovacích údajů použijeme asi nejrozšířenější utilitu: rrdtool. Opět si buč nainstalujeme již hotové baličký nebo stáhneme z http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/.
V současné době je již k dispozici řada 1.2.x. Nicměné se nám může stát, že program, který bude zpracovávat takto sebraná data, nebude rozumět novému vnitřnímu formátu, který tato sada používá. Proto zůstaneme u bezproblémové řady 1.0.x.
Jelikož se v následujícím odstavci dočteme, že pro zobrazení takto sebraných výsledků použijeme program napsaný v Perlu, musíme také nainstalovat perlovou rrdtool knihovnu. To nám zajistí příkaz:
$ make site-perl-install
Po instalaci se rrdtool nacházejí v adresáři: /usr/local/rrdtool-1.0.x/
.
Poslední co nám zbývá je nástroj, který nám ze všech těch monitorovacích údajů, udělá přehlednou stránku s grafama. Těchno nástrojů existuje spousta viz.: http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/rrdworld/.
Pro naše účely použijeme sice už dnes poněkud zastaralý, ale efektivní nástroj: HotSaNIC http://hotsanic.sourceforge.net/. Poslední dostupná verze (CVS snapshot) je 0.5.0-pre6.
Stáhneme HotSaNIC a rozbalíme třeba do adresáře /opt/hotsanic-0.5.0-pre6/
. Tím je veškerá instalace hotová. Přejdeme ke konfiguraci.
Konfigurace hotsanicu se zkládá ze dvou částí.
- konfigurace jádra hotsanicu
- konfigurace jednotlivých modulů
konfigurace jádra hotsanicu
V adresáři HotSaNICu pustíme konfigurační dávku:
$ ./setup.pl
Nyní budeme dotázáni, které služby hodláme monitorovat a zobrazovat.
Doporučuju sledovat zejména subsystémy: traffic, system, ping, sensors a networks.
Po dokončení konfigurace dojde k vytvoření konfiguračního souboru settings
,
který pro případné změny můžeme editovat i ručně a spouštěcí script rrdgraph
.
Spoušetní HotSaNICu přidáme do init scriptů, tak aby nám naběhl při spuštění systémů. Do adresáře /etc/init.d/
případně /etc/rc.d/
soubor s následujícím obsahem:
#!/bin/bash # # Startup script for the HotSaNIC #
hotsanic=/opt/hotsanic/rrdgraph prog=hotsanic
start() { echo -n $"Starting $prog: " $hotsanic start } stop() { echo -n $"Stopping $prog: " $hotsanic stop }
case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo $"Usage: $prog {start|stop|restart}" exit 1 esac
konfigurace jednotlivých modulů
HotSaNIC podporuje monitorování následujících subsystému:
- apcusv
- apps
- bind
- diskio
- dnet
- mailq
- netstat
- networks
- ntp
- part
- ping
- sensors
- shoutcast
- system
- traffic
- worms