Serveri jälgimine MRTG abiga Linuxis

Allikas: Pingviini viki
Redaktsioon seisuga 20. detsember 2005, kell 14:59 kasutajalt Pacho (arutelu | kaastöö)


Paigaldame vajaliku

MRTG edukaks jooksutamiseks on peamiselt vaja kahte asja MRTGd ennast ning snmp-d, millelt MRTG oma peamise info saab. Eelduseks on loomulikult, et masinas jookseb juba veebiserver (Apatche või mõni muu samalaadne), on olemas gd, libpng ning zlib.

Kõige lihtsam moodus mrtg ning snmp paigaldamiseks on nende installimine distributsiooni pakihalduriga, olgu selleks siis yum, yast, apt-get või mõni muu samalaadne.

Järgneva õpetuse koostamisel kasutan näidetena Mandriva Linuxi pakihaldurit urpmi.

Esimese asjana tuleb paigaldada MRTG ise, mis üldjuhul ka snmp-d nõuab, kui kasutusel on mõni pakihaldur.

[root@localhost root]# urpmi mrtg

Järgnevalt tuleb käivitada snmp service.

[root@localhost root]# service snmpd start

Sellega on algus tehtud. Kelle distributsioon taolisi pakihaldureid ei võimalda, siis MRTG installimisest täpsemalt võib leida aadressilt http://people.ee.ethz.ch/~oetiker/webtools/mrtg/mrtg-unix-guide.html .


Esimene proov

Kui MRTG on kenasti peal, siis on aeg teha algust ja vaadata, kas ka mingi tulemuse saab. Selleks tuleb kindlaks teha, kuhu MRTG installimisel on paigutatud fail mrtg.cfg.

[root@localhost root]# locate mrtg.cfg

kui tulemus saabub kohe, on hästi, kui mitte, siis tuleb uuendada andmebaasi:

[root@localhost root]# updatedb

Üldjuhul paigutatakse see fail asukohta /var/www/html/mrtg/, kuid võib ka esineda erinevusi, olenevalt distributsioonist ja paigaldamisest.

Ka faili sisu erineb erinevate distributsioonide ja MRTG versioonide tõttu üsna palju. Osad versioonid koostavad installides esimese konfiguratsiooni ise ära ja sellega antakse algus võrgu jälgimiseks ära, teised aga koostavad täielikult konfimata faili. Selles õpetuses tulebki algust teha tühjalt lehelt.

Ehk siis algne faili sisu näeb välja järgnev:

######################################################################
# Multi Router Traffic Grapher -- Example Configuration File
######################################################################
# This file is for use with mrtg-2.0
#
# Note:
#
# * Keywords must start at the begin of a line.
#
# * Lines which follow a keyword line which do start
#   with a blank are appended to the keyword line
#
# * Empty Lines are ignored
#
# * Lines starting with a # sign are comments.

# Where should the logfiles, and webpages be created?

# Minimal mrtg.cfg
#--------------------

WorkDir: /var/www/html/mrtg
#Target[r1]: 2:public@myrouter.somplace.edu
#MaxBytes[r1]: 1250000
#Title[r1]: Traffic Analysis
#PageTop[r1]: <H1>Stats for our Ethernet</H1>

Kuna selle konfiga ei ole suurt midagi peale hakata, siis koostame uue faili käsklusega cfgmaker. Käskluses esinevad kaldkriipsud peavad sinna ka jääma, sest need tähistavad seda, et murtud rida sisestataks kui üks pikk rida käsklust.

[root@localhost root]# cfgmaker --global 'WorkDir: /var/www/html/mrtg' \
--global 'Options[_]: bits,growright' \
--output /var/www/html/mrtg/mrtg.cfg \
public@localhost

Käsu kergem lahtiseletus oleks järgmine: WorkDir: on juba eelmainitud asukoht, kuhu hakkab süsteem uusi faile looma, Options[_]: tähendab seda, et järgnevad valikud kehtivad kõigi sisestatud graafide kohta, seda märgib [_], output on juba kõigile iseenesest mõistetavalt koht, kuhu käskluse poolt toodetud fail välja kirjutatakse ning public@localhost on vajalik selleks, et ära määrata, millise masina infot kuulatakse.

Käskluse tulemuseks on pikk cfg fail, mis sisaldab meile palju ebavajalikku. Seega puhastan ma selle igasugustest ebavajalikest kommentaariridadest, nii et jääks vaid need võrguseadmed, mida ma ka tegelikult tahan jälgida:

WorkDir: /var/www/html/mrtg
Options[_]: bits, growright

### Interface 3 >> Descr: 'eth0' | Name: '' | Ip: '192.168.11.4' | Eth: '00-80-1e-15-8f-38' ###

Target[localhost_3]: 3:public@localhost:
SetEnv[localhost_3]: MRTG_INT_IP="192.168.11.4" MRTG_INT_DESCR="eth0"
MaxBytes[localhost_3]: 12500000
Title[localhost_3]: Traffic Analysis for 3 -- Not defined (edit /etc/snmp/snmpd.conf or use snmpconf)
PageTop[localhost_3]: <H1>Traffic Analysis for 3 -- Not defined (edit /etc/snmp/snmpd.conf or use snmpconf)</H1>
 <TABLE>
   <TR><TD>System:</TD>     <TD>Not defined (edit /etc/snmp/snmpd.conf or use snmpconf) in Not defined (edit /etc/snmp/snmpd.conf or use snmpconf)</TD></TR>
   <TR><TD>Maintainer:</TD> <TD>root <root@localhost> (configure /etc/snmp/snmp.local.conf or use snmpconf)</TD></TR>
   <TR><TD>Description:</TD><TD>eth0  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD></TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>100.0 Mbits/s</TD></TR>
   <TR><TD>Ip:</TD>         <TD>192.168.11.4 ()</TD></TR>
 </TABLE>

Nagu märgata võib, siis teatatakse meile, et midagi on jäänud konfigureerimata failis snmpd.conf, taolised vead võime hetkel antud cfg failist ise mõne redaktoriga eemaldada, aga et neid edaspidi ei tekiks, siis korrastame ka tolle snmpd.conf faili. Selleks tuleb teil leida failist /etc/snmp/snmpd.conf järgmised read ning need vastavalt vajadusele ümber muuta:

sysdescr        "Linux 2.6.x"
syscontact      sander85 <sander85@uno.ee>
sysname         Kodune töölaud
syslocation     Misiganes :) 

Et muutused rakenduks, siis tuleb vastav service taaskäivitada

[root@localhost root]# service snmpd restart

Järgmine kord enam nende muutujatega nüüd probleeme ei tule. Ja kellel soovi, võib ka kohe uue cfg faili genereerida :)

Järgmisena tuleb koostada leht, mis hakkab kogu seda infot meile kuvama, selleks kasutame käsklust indexmaker. Selles näites kirjutan üle juba eelnevalt mainitud asukohas olevad failid (/var/www/html/mrtg), sest sinna on määratud ka WorkDir. Kui on soov aga WorkDir-i muuta, siis peab vastavalt ümber liigutama ka kõik selles kaustas olevad pildifailid (mrtg-l.png jne).

[root@localhost root]# indexmaker /var/www/html/mrtg/mrtg.cfg --output /var/www/html/index.html

See käsklus tekitab index.html faili, mida võib vaadata aadressilt http://sinuserver/mrtg/

Kui kõik õnnestus, siis on näha üsna tühi lehekülg, kust puuduvad igasugused graafikud.

Nüüd jääb üle vaid tekitada ka esimene graafik. Selleks peame kasutama käsklust mrtg. NB! paar esimest korda tekivad selle käsu jooksutamisel errorid, mida ei ole vaja väga tõsiselt võtta, need tekivad iga kord kui on lisatud mõni uus kuulatav objekt (kui näete, siis saate aru).

[root@localhost root]# mrtg /var/www/html/mrtg/mrtg.cfg

Sellega peakski olema loodud ka esimene graafik (millel klikates avaneb pikem ülevaade kuulatavast objektist), mis joonistub vastavalt konfiguratsioonile paremalt ja mille edasiseks arenguks peate veel jätkuvalt jooksutama käsklust mrtg. Siiski on ületatud kõige keerulisem peatükk, kui siiani on kõik õnnestund, siis edasine on üldiselt lihtne.