Multi Router Traffic Grapher

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

Leave a Reply

Your email address will not be published. Required fields are marked *