Hlavní navigace

MRTG - grafické prehľady (1)

Milan Gigel

Po prečítaní článku "Kolik dat tudy teče" od Jana Pinkasa som sa nechal inšpirovať danou problematikou. Nakoľko MRTG je nástroj pomerne flexibilný, užitočný a poskytuje nám v podstatne neobmedzené možnosti grafického stvárnenia dát v časových radoch od trafficu, cez zaťaženie procesoru, obsadenosti pevného disku až po spracovanie meterologických údajov ako teplota, rýchlosť vetra..... pozrieme sa bližšie na možnosti, ktoré nám poskytuje.

I. Konfigurácia MRTG pre spoluprácu s routermi Cisco.

Pokiaľ chceme získať grafické údaje o vytaženosti jednotlivých asynchrónnych portov routera a portu, ktorým sme pripojení k internetu či už sériového alebo ethernet portu postup bude jednoduchý.

Najprv si na routeri musíme nakonfigurovať službu SNMP a to nasledovne

  Router> enable
  Router# configure terminal
  Router(config)# snmp-server community mojakomunita RO 19
  Router(config)#^Z
  Router#write memory
  Router#

Tým sme si vytvorili SNMP komunitu, ktorá nám umožní čítanie potrebných informácií o objeme prenášaných dát. Úmyselne som zvolil iný názov komunity ako public, veď predsa nie každý by mal mať k informáciám zo SNMP prístup.

Pre mrtg si nastavíme implicitné hodnoty v konfiguračnom súbore (k tým sa vrátime detailne neskôr) ako napríklad adresár, kam sa majú výsledné súbory ukladať. Takže napríklad:

  WorkDir: /var/www/mrtg/
  Interval: 5
  Language: Slovak
  Options[_]: growright,bits,transparent

Vytvoríme si potrebný adresár a vygenerujeme si príslušný konfig a potrebné html súbory. Keďže použijeme skript cfgmaker, ten sa dotáže prostredníctvom snmp routeru na všetky porty a virtuálne zariadenia a vytvorí podľa všeobecných parametrov definovaných v súbore mrtg.conf konfiguráciu, ktorá obsahuje všetky grafovateľné rozhrania s tým, že tie, ktorý majú administratívny status DOWN budú v konfigurácii vykomentované, aby ich bolo možné neskôr aktivovať.

  cfgmaker mojakomunita@moj.router.sk > mojrouter.cfg
  indexmaker mojrouter.cfg > /var/www/mrtg

A teraz už len prostredníctvom cronu v päťminútových intervaloch spúšťať mrtg s parametrom konfiguračného súboru, čiže

  mrtg mojrouter.cfg

Teraz sa bližie pozrieme na rôzne možnosti, ktoré nám poskytuje skript na automatické generovanie konfiguračných súborov cfgmaker

II. cfgmaker

Cfgmaker je skript, ktorý vytvára MRTG konfiguračné súbore na základe informácií zisteních u routera alebo iného zariadenia prostredníctvom protokolu SNMP. Zariadenie špecifikujeme prostredníctvom SNMP komunity a dns názvu routera, resp IP adresy v tvare

  [komunita]@router

Ak názov komunity nie je uvedený, predpokladá sa, že jej názov je public, ako tomu býva implicitne u väčšiny zariadení.

Cfgmaker nám prostredníctvom jednotlivých parametrov umožňuje definovať, akým spôsobom má byť konfiguračný súbor vytvorený, takže sa na ne pozrime z bližša.

  --output file

Táto voľba určuje, kam má byť výstup smerovaný. Štandardne je to STDOUT, pre hromadné spracovanie alebo pre použitie v skriptoch je táto voľba celkom užitočná.

  --ifref nr|ip|eth|descr|name

Táto voľba stanovuje podľa čoho majú byť v konfiguračnom súbore jednotlivé rozhrania identifikované. Výsledok sa vždy použije pre názov v poli Target a možnostiach.

  nr - číslo zariadenia
  ip - ip adresa
  eth - ethernet adresa
  descr - popis rozhrania
  name - názov rozhrania

Osobne preferujem možnosť name, konfiguračný súbor je o to prehľadnejší.

  --ifdesc nr|ip|eth|descr|name|type|alias

Táto možnosť určuje, podľa čoho sa stanoví názov jednotlivých rozhraní v html výstupe. Vhodné je použiť voľbu descr.

  --global "direktíva:hodnota"

Táto možnosť špecifikuje globálne atribúty, ktoré budú použité pre všetky rozhrania. Takže si môžeme nastaviť pracovný adresár, jednotlivé možnosti, farby… Túto možnosť je možne specifikovať aj viac krát. napríklad:

  --global "options[_]: growright,bits"

Ďalšími možnosťami sú

  --noreversedns : neuskutoční sa prevedenie ip adries na dns názvy -
    užitočné mimo internet
  --no-down: konfigurácia zahrnie aj rozhrania, ktoré sú
    administratívne down
  --show-op-down: konfigurácia zahrnie aj rozhrania, ktoré sú
    operatívne down

  --subdirs format:

šablóna pre tvorbu adresárovej štruktúry, ak použijeme konfiguračný súbor pre viac zariadení. Ako premenné môžeme použit napríklad HOSTNAME, SNMPNAME, takže výsledné súbory budú členené, napríklad

  --subdirs HOSTNAME

nám vytvorí adresárovú štruktúru podľa jednotlivých zariadení. Na záver dnešnej časti miniseriálu o mrtg uvedieme zopár príkladov pre tvorbu konfiguračných súborov:

  cfgmaker --global  "WorkDir: /var/www" \
     --global "Options[_]:growright,bits" \
     --ifref=ip \
     public@moj.router.sk > moj.router.cfg

  cfgmaker public@router1.sk public@router2.sk public@router3.sk \
    --subdirs HOSTNAME \
    --ifdesc=alias > mojkonfig.cfg

  cfgmaker public@router1.sk
    --ifdesc=descr \
    public@router2.sk \
    --ifdesc=alias \
    --subdirs HOSTNAME > mojkonfig.cfg

V ďalších častiach sa budeme venovať skriptu indexmaker, jednotlivým voľbám v konfiguračnom súbore a tvorbe vlastných skriptov pre poskytovanie dát pre mrtg.

Našli jste v článku chybu?