Multi Router Traffic Grapher (MRTG)
Hier einen kurzen Überblick über die Installation und Konfiguration vom Multi Router Traffic Grapher (MRTG)
Der Multi Router Traffic Grapher (MRTG) ist ein Programm, mit dem es möglich ist, Netzwerkgeräte zu überwachen. MRTG benutzt zur Überwachen von Netzwerkgeräten das Simple Network Management Protocol (SNMP). MRTG erzeugt HTML-Seiten, die Auslastungsgrafen der Netzwerkgeräte im PNG-Format enthalten. Die Grafen sind nicht statisch, sondern werden bei jedem
Ein Beispiel, wie MRTG arbeitet, findet sich unter: stat.ee.ethz.ch/mrtg/.
MRTG ist in Perl und in C geschrieben. Es arbeitet unter Unix/Linux und Windows. MRTG wird von vielen Webseiten im Internet benutzt.
MRTG besteht aus einem Perl-Skript, das das Simple Network Management Protocol (SNMP) benutzt, um die Durchsatzwerte (traffic) von Routern auszulesen. Ein C-Programm protokolliert die Werte mit, um erzeugt daraus Auslastungsstatistiken und Auslastunggrafen. Die Grafen werden auf HTML-Seiten
zusammengestellt und können mit jedem modernen Web-Browser betrachtet werden.
In Ergänzung zur der detaillierten, täglichen Ansicht, erzeugt MRTG Grafen, die den Duchsatz der letzten sieben Tage, der letzten vier Wochen und der letzten zwölf Monate wiedergeben. Dies ist möglich, da MRTG allen Daten, die es aus dem Router ausließt, in eine Log-Datei schreibt. Die Log-Datei wird automatisch konsollidiert, so daß die Log-Datei nicht unaufhörlich wächst und dennoch alle erforderlichen Daten enthält, um auch langzeit Statistiken (bis zu zwei Jahren) erstellen zu können. Der Mechanismus ist sehr effizient, so daß eine GNU/Linux-Box 200 und mehr Netzwerk-Konten überwachen kann.
MRTG nicht darauf beschränkt, Router-Durchsätz zu überwachen. Es ist prinzipiell möglich jede SNMP-Variable zu überwachen. Man kann externe Programme verwenden, um die benötigten Daten sammlen zu lassen. MRTG wird benutzt um Modem-Racks, USVen, Systemstatistiken von Linux- und Windows-Servern und vieles mehr zu überwachen. MRTG erlaubt, zwei oder mehr Daten-Quellen in einem Grafen darzustellen.
Die Installation unter debian.org/ gestaltet sich denkbar einfach (ab der Debian GNU/Linux Version 2.2):
Das Debian GNU/Linux-Paketmanagementsystem installiert alle erforderlichen Pakete mit, sofern sie noch nicht installiert sind. Bei MRTG sind dies:
Wenn MRTG installiert ist befindes sich unter
Die manuelle Installation von MRTG gestaltet sich ein wenig aufwendiger. Benötigt werden der gcc (GNU C Compiler), perl (min. Version 5.005), gd (Grafikbibliothek zur Erzeugung der Grafiken), libpng (PNG-Bibliothek, die gd benötigt, um PNG-Grafiken zu erzeugen) und zlib (Bibliothek, die
benötigt wird, um komprimierte Grafiken zu erzeugen).
Die benötigte Software findet man unter:
Zuerst müssen die von MRTG benötigten Bibliotheken übersetzt werden. Den Quell-Code entpackt man besten unter
Verzeichnis noch nicht vorhanden ist, muss es angelegt werden:
Sollte
Sollte die
Nun können wird
Jetzt haben wir die Vorbereitungen für Installation von MRTG abgeschlossen. Die aktuelle Version von MRTG sollte vorliegen:
Sollten alle Bibliotheken auf dem System installiert sein, reicht ein
Der nächste Schritt ist nun, MRTG zu konfigurieren, um Netzwerkknoten zu überwachen. MRTG wird über die
In dem MRTG-Paket befindet sich ein Perl-Skript, welches das Erzeugen einer Konfigurationsdatei erheblich vereinfacht:
Mit dem Befehl
Der Aufruf von
Bevor man sich an die Arbeit macht, um seine eigene MRTG-Konfiguration zu erstellen, sollte man unbedingt die MRTG-Konfigurationsreferenz lesen. Sie befindet sich unter den Dokumentationen zu MRTG oder im Web unter oss.oetiker.ch/mrtg/doc/index.en.html
Nachdem wir eine Konfigurationsdatei (
MRTG händisch zu starten, ist weder besonders elegant, noch sinnvoll, da so ein regelmäßiges Abfragen der Daten des Netzknotens nicht gewährleistet ist. MRTG sollte alle 5 Minuten mittels /mrtg.cfg
Oder unter Linux:
(das Verzeichnis kann je nach Linux-Distribution zum Teil stark variieren).
Das Erzeugen der System-Links in den
Beispiel eines Start-Skriptes (
Wichtig: MRTG läuft nur als Daemon, wenn in der
Sofern eine ganze Reihe von Netzkonten mit MRTG überwachen möchte, sollte man nicht nur eine einzige Konfigurationsdatei
Um nicht alle MRTG-Aufrufe mit den verschiedenen Konfigurationsdateien in einer Crontab eintragen zu müssen, erstellen wir uns ein Shell-Skript:
Fußnoten
Unter Debian GNU/Linux befindet sich die
Inhaltsverzeichnis
Der Multi Router Traffic Grapher (MRTG) ist ein Programm, mit dem es möglich ist, Netzwerkgeräte zu überwachen. MRTG benutzt zur Überwachen von Netzwerkgeräten das Simple Network Management Protocol (SNMP). MRTG erzeugt HTML-Seiten, die Auslastungsgrafen der Netzwerkgeräte im PNG-Format enthalten. Die Grafen sind nicht statisch, sondern werden bei jedem
mrtg
-Lauf fortschreibend generiert.Ein Beispiel, wie MRTG arbeitet, findet sich unter: stat.ee.ethz.ch/mrtg/.
MRTG ist in Perl und in C geschrieben. Es arbeitet unter Unix/Linux und Windows. MRTG wird von vielen Webseiten im Internet benutzt.
MRTG besteht aus einem Perl-Skript, das das Simple Network Management Protocol (SNMP) benutzt, um die Durchsatzwerte (traffic) von Routern auszulesen. Ein C-Programm protokolliert die Werte mit, um erzeugt daraus Auslastungsstatistiken und Auslastunggrafen. Die Grafen werden auf HTML-Seiten
zusammengestellt und können mit jedem modernen Web-Browser betrachtet werden.
In Ergänzung zur der detaillierten, täglichen Ansicht, erzeugt MRTG Grafen, die den Duchsatz der letzten sieben Tage, der letzten vier Wochen und der letzten zwölf Monate wiedergeben. Dies ist möglich, da MRTG allen Daten, die es aus dem Router ausließt, in eine Log-Datei schreibt. Die Log-Datei wird automatisch konsollidiert, so daß die Log-Datei nicht unaufhörlich wächst und dennoch alle erforderlichen Daten enthält, um auch langzeit Statistiken (bis zu zwei Jahren) erstellen zu können. Der Mechanismus ist sehr effizient, so daß eine GNU/Linux-Box 200 und mehr Netzwerk-Konten überwachen kann.
MRTG nicht darauf beschränkt, Router-Durchsätz zu überwachen. Es ist prinzipiell möglich jede SNMP-Variable zu überwachen. Man kann externe Programme verwenden, um die benötigten Daten sammlen zu lassen. MRTG wird benutzt um Modem-Racks, USVen, Systemstatistiken von Linux- und Windows-Servern und vieles mehr zu überwachen. MRTG erlaubt, zwei oder mehr Daten-Quellen in einem Grafen darzustellen.
Die Installation unter debian.org/ gestaltet sich denkbar einfach (ab der Debian GNU/Linux Version 2.2):
apt-get update
apt-get install mrtg
Das Debian GNU/Linux-Paketmanagementsystem installiert alle erforderlichen Pakete mit, sofern sie noch nicht installiert sind. Bei MRTG sind dies:
- libsnmp-session-perl
- freetype2
- libc6,
- libgd1g
- libpng2
- libz1
- perl5
Wenn MRTG installiert ist befindes sich unter
/etc
die Datei mrtg.cfg
, die eine Beispielkonfiguration für eine ISDN-Festverbindung mit 128 KB enthält. MRTG wird alle fünf Minuten ausgeführt (mrtg /etc/mrtg.cfg
). Gesteuert wird der Aufruf von MRTG durch Cron in der Datei /etc/cron.d/mrtg
.Die manuelle Installation von MRTG gestaltet sich ein wenig aufwendiger. Benötigt werden der gcc (GNU C Compiler), perl (min. Version 5.005), gd (Grafikbibliothek zur Erzeugung der Grafiken), libpng (PNG-Bibliothek, die gd benötigt, um PNG-Grafiken zu erzeugen) und zlib (Bibliothek, die
benötigt wird, um komprimierte Grafiken zu erzeugen).
Die benötigte Software findet man unter:
- gcc gcc.gnu.org/
- perl perl.com/
- gd libgd.github.io/
- libpng libpng.org/pub/png/
- zlib info-zip.org/pub/infozip/zlib/
- mrtg mrtg.org
Zuerst müssen die von MRTG benötigten Bibliotheken übersetzt werden. Den Quell-Code entpackt man besten unter
/usr/local/src
. Falls diesesVerzeichnis noch nicht vorhanden ist, muss es angelegt werden:
mkdir /usr/local/src
cd /usr/local/src
Sollte
zlib
nicht installiert sein, kann man die neuste Version unter ftp.info-zip.org/pub/infozip/zlib/ herunter laden.tar -xvzf zlib.tar.gz
mv zlib-?.?.?/ zlib
cd zlib
./configure
make
cd ..
Sollte die
libpng
nicht installiert sein, findet man die neuste Version unter libpng.org/pub/png/src/tar -xvzf libpng-x.x.x.tar.gz
mv libpng-x.x.x libpng
cd libpng
make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib
rm *.so.* *.so
cd ..
Nun können wird
gd
übersetzen und installieren. Eine aktuelle Version findet ihr unter boutell.com/gd/http/:tar -xvzf gd-1.8.3.tar.gz
mv gd-1.8.3 gd
cd gd
make INCLUDEDIRS="-I. -I../zlib -I../libpng" LIBDIRS="-L../zlib -L. -L../libpng" LIBS="-lgd -lpng -lz -lm"
cd ..
Jetzt haben wir die Vorbereitungen für Installation von MRTG abgeschlossen. Die aktuelle Version von MRTG sollte vorliegen:
cd /usr/local
tar -xvzf mrtg-x.x.x.tar.gz
cd mrtg-x.x.x
./configure --with-gd=/usr/local/src/gd --with-z=/usr/local/src/zlib --with-png=/usr/local/src/libpng
make
Sollten alle Bibliotheken auf dem System installiert sein, reicht ein
./configure
aus. Nachdem das Kommando make
fehlerfrei durchgelaufen ist, befindet sich in dem Unterverzeichnis ./run
alle benötigten Perl-Skripte und das C-Programm rateup
.Der nächste Schritt ist nun, MRTG zu konfigurieren, um Netzwerkknoten zu überwachen. MRTG wird über die
mrtg.cfg
-Datei konfiguriert, in der definiert wird, was überwacht werden soll. Es ist nicht notwendig die Datei mrtg.cfg
per Hand zu erstellen.In dem MRTG-Paket befindet sich ein Perl-Skript, welches das Erzeugen einer Konfigurationsdatei erheblich vereinfacht:
cfgmaker
. Falles man MRTG selbst übersetzt hat, findet man cfgmaker
in dem Unterverzeichnis ./run
. Hat man das Debian-Paket installiert, befindet sich cfgmaker
im PATH
des Benutzers.Mit dem Befehl
cfgmaker <communuty>@<router.my.domain> > mrtg.cfg
kann eine MRTG-Konfigurationsdatei des Netzknotens router.my.domain
erstellen. Es besteht die Möglichkeit, cfgmaker
Optionen zu übergeben:cfgmaker --global 'WorkDir: /var/www/mrtg' --global 'Options[_]: bits,growright' --output /etc/mrtg/mrtg.cfg <community>@<router.my.domain>
Der Aufruf von
cfgmaker
in dem obigen Beispiel erzeugt eine Konfigurationsdatei mrtg.cfg
in dem Verzeichnis /etc
. Alle weiteren Option, die man zusammen mit cfgmaker
benutzen kann, sind in dem umfangreichen Handbuchseiten aufgeführt man cfgmaker
.Bevor man sich an die Arbeit macht, um seine eigene MRTG-Konfiguration zu erstellen, sollte man unbedingt die MRTG-Konfigurationsreferenz lesen. Sie befindet sich unter den Dokumentationen zu MRTG oder im Web unter oss.oetiker.ch/mrtg/doc/index.en.html
######################################################################
# Multi Router Traffic Grapher -- Sample Configuration File
######################################################################
# This file is for use with mrtg
# Global configuration
WorkDir: /var/www/mrtg
WriteExpires: Yes
Title[^]: Traffic Analysis for
# 128K leased line
# ----------------
#Title[leased]: a 128K leased line
#PageTop[leased]: Our 128K link to the outside world
#Target[leased]: 1:public@router.my.domain
#MaxBytes[leased]: 16000
Nachdem wir eine Konfigurationsdatei (
mrtg.cfg
) erstellt haben, können wird MRTG mit usr/bin/mrtg /etc/mrtg.cfg
ausführen. MRTG sucht den Netzknoten router.my.domain
, sammelt die ersten Daten und erstellten die Auslastungsgrafen (tägliche, wöchentliche, monatliche und jährliche Auslastung). Wenn MRTG zum ersten Mal gestart wird, werden eine ganze Menge Fehlermeldungen ausgeben, daß Log-Datei nicht gefunden wurden. Das ist normal und sollte nicht beunruhigen. Diese Fehlermeldungen erscheinen nur bei den ersten beiden MRTG-Läufen. Sollten danach noch Fehlermeldungen auftreten, so kann man diese nicht mehr ignorieren und sollte einen Blick in die Log-Dateien werfen.MRTG händisch zu starten, ist weder besonders elegant, noch sinnvoll, da so ein regelmäßiges Abfragen der Daten des Netzknotens nicht gewährleistet ist. MRTG sollte alle 5 Minuten mittels /mrtg.cfg
Oder unter Linux:
*/5 * * * * /usr/bin/mrtg /etc/mrtg.cfg
Das Erzeugen der System-Links in den
/etc/rc?.d
-Verzeichnissen darf nicht vergessen werden.Beispiel eines Start-Skriptes (
`/etc/init.d/mrtg'
):#!/bin/sh
#
# /etc/init.d/mrtg
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON="/usr/bin/mrtg"
PARAM="/etc/mrtg.cfg"
NAME="MRTG"
DESC="Multi Router Traffic Grapher Daemon"
test -f $DAEMON || exit 0
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
$DAEMON $PARAM
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
killall -9 $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
killall -9 $DAEMON
sleep 1
$DAEMON $PARAM
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
Wichtig: MRTG läuft nur als Daemon, wenn in der
mrtg.cfg
der Paramater RunAsDaemon: Yes gesetzt ist!Sofern eine ganze Reihe von Netzkonten mit MRTG überwachen möchte, sollte man nicht nur eine einzige Konfigurationsdatei
/etc/mrtg.cfg
benutzen. Es ist möglich für jeden Netzknoten, den man überwachen möchte, eine eigene Konfigrationsdatei zu erstellen. Diese Konfigurationsdateien werden unter /usr/local/etc/mrtg/
abgelegt. Als Beispiel wird hier die Überwachung von 5 Netware-Servern wiedergegeben. Mit den Dateien nwsXX-if.cfg'
wird der Traffic auf den Netzwerkkarten überwacht. Mit den Dateien nwsXX.cfg
werden wichtige Server-Parameter wie CPU-Auslastung, Arbeitsspeicher, Volumes usw. überwacht:$ ls -l /usr/local/etc/mrtg/nwserver/
-rw-r--r-- 1 root root 2368 Aug 11 10:55 nws01-if.cfg
-rw-r--r-- 1 root root 4664 Jul 14 17:43 nws01.cfg
-rw-r--r-- 1 root root 2882 Aug 11 10:58 nws02-if.cfg
-rw-r--r-- 1 root root 3526 Jul 14 17:43 nws02.cfg
-rw-r--r-- 1 root root 1643 Aug 14 12:35 nws03-if.cfg
-rw-r--r-- 1 root root 4094 Jul 14 17:20 nws03.cfg
-rw-r--r-- 1 root root 5422 Aug 15 09:56 nws04-if.cfg
-rw-r--r-- 1 root root 5247 Jul 14 16:09 nws04.cfg
-rw-r--r-- 1 root root 1562 Aug 11 11:01 nws05-if.cfg
-rw-r--r-- 1 root root 4093 Jul 14 16:03 nws05.cfg
Um nicht alle MRTG-Aufrufe mit den verschiedenen Konfigurationsdateien in einer Crontab eintragen zu müssen, erstellen wir uns ein Shell-Skript:
/usr/local/bin/mrtgkick, 5 * * * * root
if [ -x /usr/bin/mrtg -a -x /usr/local/bin/mrtgkick ]; then
/usr/local/bin/mrtgkick;
fi
Fußnoten
Unter Debian GNU/Linux befindet sich die
mrtg.cfg
unter /etc
.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 85
Url: https://administrator.de/tutorial/multi-router-traffic-grapher-mrtg-85.html
Ausgedruckt am: 12.07.2025 um 12:07 Uhr