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.