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

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání
 
(Není zobrazeno 48 mezilehlých verzí od 7 dalších uživatelů.)
Řádek 12: Řádek 12:
  
 
== Nástavení modulu linuxového jádra ==
 
== 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 můzejní kousek, můžete se přesvědčit zdali je monitorování chipsetu podporováno na stánce: [http://secure.netroedge.com/~lm78 /http://secure.netroedge.com/~lm78/].  
+
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 lm_sensors].  
  
Dále je nutné přidat do jádra podporu pro jednotlivé chipy. Nejjednoje přidat všechny podporované chipy jako modul. Ušetříme 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 architektůr z ftp hkfree: [ftp://ftp.hkfree.org/linux/wifi/ ftp://ftp.hkfree.org/linux/wifi/].
+
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://ftp.hkfree.org/linux/wifi/ ftp hkfree].
  
 
== Nastavení monitorovací utility ==
 
== 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 /http://secure.netroedge.com/~lm78/]. Nainstaluje buč příslušný balík, či sami skompilujeme a nainstalujeme. Po instalaci máme k dispozici utilitu '''sensors-detect'''. Způstíme, dojde k vyzkoušení veškerých modulů pro monitorování. Pro ty, které fungují na něš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í.  
+
K tomu, abychom zjistili, které moduly jádra náhrat použijeme monitorovaní utilitu [http://secure.netroedge.com/~lm78/ lm_sensors]. 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 <code>sensors-detect</code>. 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 <code>/etc/modprobe.conf</code> a jednak pro startovací skripty, kde se dané moduly nahrávají.  
  
 
Zdali vše funguje vyzkoušíme pomocí příkazu:
 
Zdali vše funguje vyzkoušíme pomocí příkazu:
Řádek 34: Řádek 40:
 
  temp2:      +41°C  (low  =    -1°C, high =    -1°C)  sensor = thermistor
 
  temp2:      +41°C  (low  =    -1°C, high =    -1°C)  sensor = thermistor
 
  vid:      +1.20 V
 
  vid:      +1.20 V
 +
 +
Dále můžeme sledovat teplotu hardisků a zjišťovat jestli se nám obzvlášť pod náporem FTP serveru nepřehřívají. K tomu nám poslouží monitorovaní nástroj [http://www.guzu.net/linux/hddtemp.php hddtemp].
  
 
== Nastavení grafického zobrazení ==
 
== 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.)
 
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/ http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/].
+
Pro samotný sběr monitorovacích údajů použijeme asi nejrozšířenější utilitu: [http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/ rrdtool]. Opět si buč nainstalujeme již hotové baličký nebo stáhneme z [http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/ 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.
 
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:
+
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 nainstalujeme již hotové baličký nebo stáhneme z [http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/ rrdtool] knihovnu. To nám zajistí příkaz:
  
 
  $ make site-perl-install
 
  $ make site-perl-install
  
Po instalaci se rrdtool nacházejí v adresáři: <code>/usr/local/rrdtool-1.0.x/</code>.
+
Po instalaci se nainstalujeme již hotové baličký nebo stáhneme z [http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/ rrdtool] nacházejí v adresáři: <code>/usr/local/rrdtool-1.0.x/</code>.
 +
 
 +
V případě, že chceme používat novou řadu nainstalujeme již hotové baličký nebo stáhneme z [http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/ rrdtool] 1.2.x je nutné při configuraci zapnout zapnout volbu:
 +
 
 +
$ ./configure --enable-perl-site-install
 +
 
 +
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/ rrdworld].  
  
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/ 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: [http://hotsanic.sourceforge.net/ HoTSaNIC]. Poslední dostupná verze (CVS snapshot) je 0.5.0-pre6.  
  
Pro naše účely použijeme sice už dnes poněkud zastaralý, ale efektivní nástroj: '''HotSaNIC''' [http://hotsanic.sourceforge.net/  http://hotsanic.sourceforge.net/]. Poslední dostupná verze (CVS snapshot) je 0.5.0-pre6.  
+
Stáhneme [http://hotsanic.sourceforge.net/  HoTSaNIC] a rozbalíme třeba do adresáře <code>/opt/hotsanic-0.5.0-pre6/</code>. Tím je veškerá instalace hotová.  
  
Stáhneme HotSaNIC a rozbalíme třeba do adresáře <code>/opt/hotsanic-0.5.0-pre6/</code>. Tím je veškerá instalace hotová. Přejdeme ke konfiguraci.
+
Pokud hodláme používat nainstalujeme již hotové baličký nebo stáhneme z [http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/ rrdtool] 1.2.x musíme patchnout [http://hotsanic.sourceforge.net/  HoTSaNIC], kvůli chybě v generování IRQ statistik:
  
Konfigurace hotsanicu se zkládá ze dvou částí.
+
$ cd /opt/hotsanic;  patch -p0 < irq_hostanic.patch
 +
 
 +
'''irq_hostanic.patch'''
 +
<code>
 +
--- ../backup/hotsanic-0.5.0-pre6/modules/system/diagrams.pl    2004-09-19 12:07:58.000000000 +0200
 +
+++ modules/system/diagrams.pl  2005-12-19 00:11:40.000000000 +0100
 +
@@ -487,8 +487,7 @@
 +
          "AREA:irqall_min#ffffff:\\g",
 +
          "LINE1:irqall_max#".$MODULECONFIG{COLOR_INT_ALL_MAX}.":",
 +
          "LINE1:irqall_min#".$MODULECONFIG{COLOR_INT_ALL_MIN}.":",
 +
-        "LINE1:irqall_avg#".$MODULECONFIG{COLOR_INT_ALL_AVG}.":",
 +
-        "COMMENT:Averages (min/max):\\n");
 +
+        "LINE1:irqall_avg#".$MODULECONFIG{COLOR_INT_ALL_AVG}.":");
 +
        for (my $int=0;$int<16;$int++) {
 +
          my $intnum=$int;
 +
          if ($int<10) { $intnum="0$int"; }
 +
</code>
 +
 
 +
Nyní přejdeme ke konfiguraci. Konfigurace hotsanicu se zkládá ze dvou částí.
  
 
* konfigurace jádra hotsanicu
 
* konfigurace jádra hotsanicu
Řádek 60: Řádek 92:
  
 
=== konfigurace jádra hotsanicu ===
 
=== 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 <code>settings</code>,
 +
který pro případné změny můžeme editovat i ručně a spouštěcí script <code>rrdgraph</code>. Nesmíme hlavně zapomenout nakonfigurovat proměnou <code>WEBDIR="/www/tools/info"</code>, 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 <code>/etc/init.d/</code> případně <code>/etc/rc.d/</code> soubor s následujícím obsahem:
 +
 +
<code>
 +
#!/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
 +
</code>
 +
 +
HotSaNIC využívá pro generování náhledů grafů software [http://www.imagemagick.org/ imagemagick]. 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ů ===
 
=== konfigurace jednotlivých modulů ===
 
HotSaNIC podporuje monitorování následujících subsystému:
 
HotSaNIC podporuje monitorování následujících subsystému:
* apcusv
+
* '''apcusv''' - záloha napajení
* apps
+
* '''apps''' - vytižení daných procesů
* bind
+
* '''bind''' - DNS
* diskio
+
* '''diskio''' - zátěž disku
* dnet
+
* '''dnet''' -
* mailq
+
* '''mailq''' - MAIL
* netstat
+
* '''netstat''' - TCP spojení
* networks
+
* '''networks''' - traffic uživatelů
* ntp
+
* '''ntp''' - TIME shift
* part
+
* '''part''' -
* ping
+
* '''ping''' - PING
* sensors
+
* '''sensors''' - CPU/... temperature
* shoutcast
+
* '''shoutcast''' -
* system
+
* '''system''' - zátěž systému
* traffic
+
* '''traffic''' - traffic
* worms
+
* '''worms''' - útok červů
 +
 
 +
V adresářích <code>modules</code> jsou adresaře pro každý z níže uvedených modulů. V každém z nich je konfiguračních soubor <code>setting</code>. V každém z adresářů je defaultní konfigurační soubor <code>.settings.default</code>, kde můžeme najít přehled všech možných konfiguračních direktiv (obzvláště pro nastavování scalingu). V následujích kapitolách je přehled základních nastavení pro jednotlivé konfigurační soubory.
 +
 
 +
==== apcusv ====
 +
<nowiki># </nowiki>cesta k souboru apcacces, musí nám běžet také apcupsd
 +
APCACCESS="/sbin/apcaccess"
 +
 
 +
==== apps ====
 +
<nowiki># jméno procesu a popis</nowiki>
 +
APP="httpd,apache"
 +
APP="proftpd,ftp"
 +
 
 +
==== bind ====
 +
 
 +
==== diskio ====
 +
Příklad konfigurace:
 +
 
 +
nejprve zjistim ID disku:
 +
 
 +
<pre>
 +
$ cat /proc/diskstats
 +
104    0 cciss/c0d0 28620311 262117 480954637 144392372 27258894 57877269 680496776 208876052 0 268644572 353404992
 +
104    1 cciss/c0d0p1 62 401 1069 420 40 32 576 2356 0 2564 2776
 +
104    2 cciss/c0d0p2 1483315 101904 21012416 14258620 14997887 37423217 419037344 1659521196 0 112408352 1673795000
 +
104    3 cciss/c0d0p3 27136927 159732 459941065 130133284 12260967 20454020 261458856 2844319796 0 186114948 2974575520
 +
  11    0 sr0 0 0 0 0 0 0 0 0 0 0 0
 +
  2    0 fd0 0 0 0 0 0 0 0 0 0 0 0
 +
</pre>
 +
 
 +
konfigurace v tomto případě bude vypadat takto:
 +
<pre>
 +
KERNEL="2.6"
 +
SOURCE="diskstats"
 +
DEV="104_0,cciss/c0d0"
 +
</pre>
 +
 
 +
==== dnet ====
 +
 
 +
==== mailq ====
 +
 
 +
==== netstat ====
 +
 
 +
==== networks ====
 +
 
 +
==== ntp ====
 +
 
 +
==== part ====
 +
 
 +
==== ping ====
 +
editujte modules/ping/settings a pridejte
 +
<pre>
 +
<nowiki>#</nowiki> configure multiple destinations of the form:
 +
<nowiki>#</nowiki> HOST=<host>,<description>
 +
<nowiki>#</nowiki>
 +
HOST=10.107.4.100,charon.hkfree.org
 +
<nowiki>#</nowiki>atd.
 +
</pre>
 +
 
 +
'''TIP:'''<BR>
 +
Kdyby se Vam '''nevytvarely grafy''', ale data v souborech rrd byly. Tak zeditujte soubor v adresari hotsanicu modules/ping/diagrams.pl<BR>
 +
VIMari, at pouzji tento command:<BR>
 +
:<nowiki>:</nowiki>%s/n:",$/n",/gc
 +
ostatni at nahradi radky koncici na  ''n:",'' za ''n",''
 +
bez teto upravy jsem to nerozchodil!!!
 +
 
 +
( RRDtool 1.2.6 , /usr/src/hotsanic-0.5.0-pre5.tgz, perl5.8.7 )
 +
 
 +
==== sensors  ====
 +
<nowiki>#</nowiki> cesta ke vstupním hodnotám (podle načteného modulu jádra),
 +
<nowiki>#</nowiki> jméno db, popisek, pozice ve vstupním souboru, násobící koeficient,   
 +
<nowiki>#</nowiki> přičítací koeficient, jednotky
 +
SENSOR="/usr/sbin/hddtemp -n /dev/hda |",hda,HDD1,1,1,0,°C,40,60
 +
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ů ==
 
== Nastavení softwarových alarmů ==

Aktuální verze z 12. 4. 2010, 09:30

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: lm_sensors.

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.

Nastavení monitorovací utility

K tomu, abychom zjistili, které moduly jádra náhrat použijeme monitorovaní utilitu lm_sensors. 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

Dále můžeme sledovat teplotu hardisků a zjišťovat jestli se nám obzvlášť pod náporem FTP serveru nepřehřívají. K tomu nám poslouží monitorovaní nástroj hddtemp.

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 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 nainstalujeme již hotové baličký nebo stáhneme z rrdtool knihovnu. To nám zajistí příkaz:

$ make site-perl-install

Po instalaci se nainstalujeme již hotové baličký nebo stáhneme z rrdtool nacházejí v adresáři: /usr/local/rrdtool-1.0.x/.

V případě, že chceme používat novou řadu nainstalujeme již hotové baličký nebo stáhneme z rrdtool 1.2.x je nutné při configuraci zapnout zapnout volbu:

$ ./configure --enable-perl-site-install

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.: rrdworld.

Pro naše účely použijeme sice už dnes poněkud zastaralý, ale efektivní nástroj: HoTSaNIC. 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á.

Pokud hodláme používat nainstalujeme již hotové baličký nebo stáhneme z rrdtool 1.2.x musíme patchnout HoTSaNIC, kvůli chybě v generování IRQ statistik:

$ cd /opt/hotsanic;  patch -p0 < irq_hostanic.patch

irq_hostanic.patch

--- ../backup/hotsanic-0.5.0-pre6/modules/system/diagrams.pl    2004-09-19 12:07:58.000000000 +0200
+++ modules/system/diagrams.pl  2005-12-19 00:11:40.000000000 +0100
@@ -487,8 +487,7 @@
         "AREA:irqall_min#ffffff:\\g",
         "LINE1:irqall_max#".$MODULECONFIG{COLOR_INT_ALL_MAX}.":",
         "LINE1:irqall_min#".$MODULECONFIG{COLOR_INT_ALL_MIN}.":",
-        "LINE1:irqall_avg#".$MODULECONFIG{COLOR_INT_ALL_AVG}.":",
-        "COMMENT:Averages (min/max):\\n");
+        "LINE1:irqall_avg#".$MODULECONFIG{COLOR_INT_ALL_AVG}.":");
       for (my $int=0;$int<16;$int++) {
         my $intnum=$int;
         if ($int<10) { $intnum="0$int"; }

Nyní 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. 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 každém z adresářů je defaultní konfigurační soubor .settings.default, kde můžeme najít přehled všech možných konfiguračních direktiv (obzvláště pro nastavování scalingu). 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

Příklad konfigurace:

nejprve zjistim ID disku:

$ cat /proc/diskstats
 104    0 cciss/c0d0 28620311 262117 480954637 144392372 27258894 57877269 680496776 208876052 0 268644572 353404992
 104    1 cciss/c0d0p1 62 401 1069 420 40 32 576 2356 0 2564 2776
 104    2 cciss/c0d0p2 1483315 101904 21012416 14258620 14997887 37423217 419037344 1659521196 0 112408352 1673795000
 104    3 cciss/c0d0p3 27136927 159732 459941065 130133284 12260967 20454020 261458856 2844319796 0 186114948 2974575520
  11    0 sr0 0 0 0 0 0 0 0 0 0 0 0
   2    0 fd0 0 0 0 0 0 0 0 0 0 0 0

konfigurace v tomto případě bude vypadat takto:

KERNEL="2.6"
SOURCE="diskstats"
DEV="104_0,cciss/c0d0"

dnet

mailq

netstat

networks

ntp

part

ping

editujte modules/ping/settings a pridejte

# configure multiple destinations of the form:
# HOST=<host>,<description>
#
HOST=10.107.4.100,charon.hkfree.org
#atd.

TIP:
Kdyby se Vam nevytvarely grafy, ale data v souborech rrd byly. Tak zeditujte soubor v adresari hotsanicu modules/ping/diagrams.pl
VIMari, at pouzji tento command:

:%s/n:",$/n",/gc

ostatni at nahradi radky koncici na n:", za n", bez teto upravy jsem to nerozchodil!!!

( RRDtool 1.2.6 , /usr/src/hotsanic-0.5.0-pre5.tgz, perl5.8.7 )

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="/usr/sbin/hddtemp -n /dev/hda |",hda,HDD1,1,1,0,°C,40,60
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ů