Monitorování serveru: Porovnání verzí

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání
Řádek 19: Řádek 19:
 
K tomu, abychom zjistili, které moduly jádra náhrat použijeme monitorovaní utilitu '''lm_sensors''' opět z [http://secure.netroedge.com/~lm78 http://secure.netroedge.com/~lm78/]. Nainstaluje buč příslušný balík, či sami zkompilujeme a nainstalujeme.  
 
K tomu, abychom zjistili, které moduly jádra náhrat použijeme monitorovaní utilitu '''lm_sensors''' opět z [http://secure.netroedge.com/~lm78 http://secure.netroedge.com/~lm78/]. Nainstaluje buč příslušný balík, či sami zkompilujeme a nainstalujeme.  
  
  $ configure
+
  $ ./configure
 
  $ make user
 
  $ make user
 
  $ make user_install
 
  $ make user_install

Verze z 27. 9. 2005, 22:27

Autor: Lore

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.

$ ./configure
$ make user
$ make user_install

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: apcusv, 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. Nesmíme hlavně zapomenout nakonfigurovat proměnou WEBDIR="/www/tools/info", ukazující na adresář, do kterého budou generovány HTML soubory s grafama.

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

HotSaNIC využívá pro generování náhledů grafů software imagemagick http://www.imagemagick.org/. Proto je vhodné nainstalovat patřičný balík či zkompilovat. Máme k dispozici i nouzové řešení a to nastavit v konfiguraci HotSaNICu zmenčování jen pomocí atributů elementu IMG ve výsledém HTML souboru (nedoporučuji).

HotSaNIC si veškeré obslužné práce (generování grafů) obstarává sám v daných časových intervalech. Pokud bychom chtěli některé výsledky vidět okamžitě, můžeme pustit regenerování ručně.

$ makeindex.pl

Vygeneruje titulní index.html.

$ diagrams.pl

Vygeneruje všechny grafy.

$convert.pl

Vygeneruje náhledy ke grafům.

Tímto jsme úspěšně nakonfigurovali jádro hotsanicu a můžeme přejít ke konfiguraci jednotlivých modulů.

konfigurace jednotlivých modulů

HotSaNIC podporuje monitorování následujících subsystému:

  • apcusv - záloha napajení
  • apps - vytižení daných procesů
  • bind - DNS
  • diskio - zátěž disku
  • dnet -
  • mailq - MAIL
  • netstat - TCP spojení
  • networks - traffic uživatelů
  • ntp - TIME shift
  • part -
  • ping - PING
  • sensors - CPU/... temperature
  • shoutcast -
  • system - zátěž systému
  • traffic - traffic
  • worms - útok červů

V adresářích modules jsou adresaře pro každý z níže uvedených modulů. V každém z nich je konfiguračních soubor setting. V následujích kapitolách je přehled základních nastavení pro jednotlivé konfigurační soubory.

apcusv

# cesta k souboru apcacces, musí nám běžet také apcupsd
APCACCESS="/sbin/apcaccess"

apps

# jméno procesu a popis
APP="httpd,apache"
APP="proftpd,ftp"

bind

diskio

dnet

mailq

netstat

networks

ntp

part

ping

sensors

# cesta ke vstupním hodnotám (podle načteného modulu jádra),
# jméno db, popisek, pozice ve vstupním souboru, násobící koeficient,     
# přičítací koeficient, jednotky
SENSOR="/sys/bus/i2c/drivers/w83627hf/1-0290/temp3_input,mb,MB temp,1,.001,0,C"

shoutcast

system

IRQ=<number>,<short description>

traffic

worms

Nastavení softwarových alarmů