Multi Router Traffic Grapher
Multi Router Traffic Grapher (MRTG) je software pro monitorování síťových zařízení pomocí protokolu SNMP (Simple Network Management Protocol). K MRTG jsem se dostal, když jsem chtěl vyzkoušet monitoring jednoho routeru. Základní konfigurace je opravdu velice snadná a v následujícím článku Vám ji trošku přiblížím.
Pár vět o MRTG
Multi Router Traffic Grapher (MRTG) je software pro monitorování síťových zařízení pomocí SNMP (Simple Network Management Protocol) protokolu.
MRTG pracuje tak, že se periodicky v určeném časovém intervalu (defaultně každých 5 minut) dotazuje monitorovaných zařízení na jejich stav a získává od nich informace o velikosti síťového provozu, zatížení CPU nebo využití operační paměti. Z nasbíraných dat poté generuje HTML stránky s grafy.
MRTG je naprogramován v Perlu a proto je dostupný jak na Linux, Unix, Windows, Mac OS tak i na NetWare od Novellu.
MRTG je vyvíjen pod GPL licencí.
Instalace MRTG
Na domovské stránce MRTG: http://oss.oetiker.ch/mrtg/ si můžete stáhnou aktuální zdrojové kódy a MRTG si sami zkompilovat.
Jednodušší a příjemnější ale bude stáhnout si binární balíček přímo pro vaši Linuxovou distribuci.
V případě Ubuntu naleznete MRTG přímo v repozitáři.
Jde o balíčky: mrtg, mrtgutils, mrtg-rrd, mrtg-contrib, mrtg-ping-probe
Instalaci MRTG provedete příkazem:
sudo apt-get install mrtg
Konfigurace MRTG
Cesta ke konfiguračnímu souboru MRTG je v Ubuntu: /etc/mrtg.cfg
Do konfiguračního souboru jsem přidal tento řádek:
Logdir: /var/log/mrtg
Výsledný soubor vypadá následovně:
###################################################################### # Multi Router Traffic Grapher -- Sample Configuration File ###################################################################### # This file is for use with mrtg-2.5.4c # Global configuration WorkDir: /var/www/mrtg WriteExpires: Yes Title[^]: Traffic Analysis for Logdir: /var/log/mrtg
Poznámka: Několik řádků s komentáři (komentáře začínají znakem #) jsem z důvodu přehlednosti vynechal.
Přidání sledovaného zařízení
Přidání jsem udělal pomocí příkazu cfgmaker:
cfgmaker public@ip.adresa.sledovaneho.zarizeni >> /etc/mrtg.cfg
Místo public případně uveďte jméno komunity, kterou má pro SNMP nastaveno monitorované síťové zařízení. Ve většině případu to bude právě “public”.
Pokud nedostanete žádnou chybovou zprávu, tak je zřejmě vše v pořádku, MRTG se na sledované zařízení připojil a může ho monitorovat.
Vygenerování stránky pro webový server s výsledky monitoringu
Vygenerování stránky provedete příkazem indexmaker:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
Ověření zda je úloha zapsaná v Cronu
Pokud nevíte co je Cron, tak mrkňete na Wikipedii ;)
Samotné monitorování v našem případě funguje tak, že program je každých 5 minut spuštěn Cronem. Během každého spuštění získá informace z monitorovaných zařízení, vygeneruje výstup a ukončí se. Pokud by úloha v Cronu nakonfigurována nebyla, tak by nebyly ani informace o síti.
Pro ověření spusťte příkaz:
cat /etc/cron.d/mrtg
Výstup by měl vypadat přibližně takhle:
*/5 * * * * root if [ ! -d /var/lock/mrtg ]; then mkdir /var/lock/mrtg; fi; if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then env LANG=C /usr/bin/mrtg /etc/mrtg.cfg 2>&1 | tee -a /var/log/mrtg/mrtg.log ; fi
Existuje však ještě možnost, spustit MRTG jako démona na pozadí.
Pokud to chcete udělat, stačí úlohu v Cronu zrušit a do konfiguračního souboru mrtg.cfg přidat řádky:
RunAsDaemon: Yes Interval: 5
A spustit MRTG ručně příkazem:
env LANG=C /usr/bin/mrtg
Díky nové konfiguraci se MRTG spustí na pozadí (démonizuje) a nebude třeba ho periodicky spouštět Cronem.
Výsledky
Nyní můžete sledovat stránku s výsledky monitorování:
Pokud jste konfiguraci MRTG prováděli na lokálním počítači, tak adresa bude:
http://127.0.0.1/mrtg/ nebo http://localhost/mrtg/
Odkazy
MRTG na Wikipedii
SNMP protokol na Wikipeii
Další informace, například jak monitorovat využití paměti a CPU
Seriál o MRTG na ROOTu