Traffic grafieken (MRTG)

September 27th, 2001 by Rob


Voorkennis: niet strikt noodzakelijk‚ enige kennis van freebsd is wel aan te raden.
Benodigheden: Pc met netwerk kaart‚apache
[pagebreak]
Om erachter te komen wat de data load van je server is kun je onder *NIX systemen gebruik maken van het programma Multi Router Traffic Grapher (kort MRTG)
Dit programma zorgt ervoor dat je van deze mooie grafiekjes krijgt:

Uit deze grafieken kun je dus informatie halen wanneer je server het zwaarst belast wordt.

Door het gebruik van snmp komt MRTG aan zijn informatie voor verder details over snmp zie de links onderaan. In dit document zullen we zelf snmp gaan opzetten‚ wanneer je beschikt over een router die ook snmp ondersteund dan kun je instellen dat MRTG daar zijn data vandaan haalt‚ echter wordt dat niet in dit document behandeld.

Opzetten snmp

Snmp installeren:

Shell:

# cd /usr/ports/net/net-snmp/
# make install clean

Net-snmp configureren:

Shell:

cd /usr/local/etc/
snmpconf -g basic_setup

De vragen beantwoorden als je het niet weet overslaan‚ belangrijk is dat je een community public hebt.

Startup script even aanpassen

Shell:

ee /usr/local/etc/rc.d/snmpd.sh
#voeg toe
${PREFIX}/sbin/snmpd -c /usr/local/etc/snmpd.conf && echo -n ‘ snmpd’

snmp starten (gebeurt ook na een reboot)

Shell:

# /usr/local/etc/rc.d/snmpd.sh start

even controleren of hij werkt

Shell:

#ps -x |grep snmpd

als het goed is zie je zoiets als dit:

Shell:

413 con- I 0:03.90 /usr/local/sbin/snmpd

Nu snmp draait kunnen we beginnen met MRTG

Opzetten MRTG

MRTG installeren:

Shell:

# cd /usr/ports/net/mrtg
# make install clean

Nu moeten we mrtg nog gaan configureren dit doen we met ?cfgmaker?

De locatie moet je nog wel aanpassen

Shell:

#cfgmaker –global ‘WorkDir: /usr/local/www/data/mrtg’ –global ‘Options[_]: bits‚growright’ –output /usr/local/etc/mrtg/mrtg.cfg public@jouw_ip_nr

Als het goed is zie je een hoop informatie voorbij scrollen.

Als laatste gaan we gaan we mrtg uitvoeren en kijken of alles werkt.

Shell:

#touch /var/log/mrtg.log
# /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg –logging /var/log/mrtg.log

als het goed is staat er nu een mooie html file in je ?WorkDir? en een aantal png files. Anders kijk in ?/var/log/mrtg.log?

Shell:

# ls /usr/local/www/data/mrtg/

Open deze html in je browser.

Nu willen we natuurlijk dat de grafieken bijgehouden worden‚ dit doen we d.m.v een cronjob.

Open het bestand ?/etc/crontab? in je favoriete texteditor (vi‚pico‚ee)

Shell:

#ee /etc/crontab (gebruik zelf ee)

voeg de volgende regel toe aan deze file:

0‚5‚10‚15‚20‚25‚30‚35‚40‚45‚50‚55 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg –logging /var/log/mrtg.log

dit zorgt ervoor dat je grafieken om de 5 min worden geupdated.

Dit was de installatie van MRTG veel plezier ermee.

Voor het totale verkeer is een handig programma aanwezig zie hiervoor:
http://gbgraph.menthenberg.nl/
Voor gebruik van deze scripts zijn onder FreeBSD aantal patches nodig:
archiver patch
gbgraph patch
Deze kun je als volgt uitvoeren:

Shell:

patch < gbgrap.patch gbgraph.pl

Hiernaast heb je ook een oude mrtglog nodig:
mrtglog.c
Compileren met:

Shell:

gcc -o mrtglog mrtglog.c

Naast netwerk metingen zijn er nog veel meer dingen mogelijk met MRTG‚ zoals cpu belasting en geheugen
gebruik ga hiervoor zelf even op
onderzoek uit. Het programma RRDTOOL lijkt erg veel op
MRTG zie hiervoor: http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/

Links
http://www.mrtg.org (mrtg homepage)
http://net-snmp.sourceforge.net (snmp homepage)
http://www.ee.ethz.ch/stats/mrtg/ (veel voorbeelden)

Leave a Reply

8 Responses to “Traffic grafieken (MRTG)”

  1. Comment by Anonymous

    ‘t iz gelukt

  2. Comment by T. Nan

    Werkt als een zonnetje. Onder linux debian is het een crime.

  3. Comment by NLISP

    ja onder linux .. maar dit is bsdfreaks … :P

  4. Comment by EricV

    Ik krijg steeds de error calc-d.pl not found, ik neem aan dat ik http://www.bsdfreaks.nl/files/mrtg/calc-d.txt als calc-d.pl in de gbgraph moet neerzetten?

  5. Comment by EricV

    Ik had wat problemen met PHP die niet de hostname en document_root goed doorkreeg. Hieronder de diff:

    9a10,12
    > // the directory where the data files can be found. Mind the trailing slash!
    > $dir = ‘/usr/local/www/data/mrtg/’;
    >
    18d20
    < 21a24,25
    > $host = $_REQUEST['host'];
    >
    149,152c153,156
    < if ($debug) { echo "Document root currently: ".$DOCUMENT_ROOT."
    “; };
    < if (file_exists($DOCUMENT_ROOT."/".$host.".data")) {
    < $rawdata = file($DOCUMENT_ROOT."/".$host.".data");
    < if ($debug) { echo "Parsed file: “.$DOCUMENT_ROOT.”/”.$host.”.data

    “; };

    > if ($debug) { echo “Document root currently: “.$dir.”
    “; };
    > if (file_exists($dir.$host.”.data”)) {
    > $rawdata = file($dir.$host.”.data”);
    > if ($debug) { echo “Parsed file: “.$dir.$host.”.data

    “; };
    155,156c159,160
    < ImageString ($im, 2, 90, 67, "at ".$DOCUMENT_ROOT."/".$host.".data.", $tc);
    < $error = "File ".$DOCUMENT_ROOT."/".$host.".data does not exists, exiting";
    ---
    > ImageString ($im, 2, 90, 67, “at “.$dir.$host.”.data.”, $tc);
    > $error = “File “.$dir.$host.”.data does not exists, exiting”;

  6. Comment by Dr.X

    de phpzooi werkt niet met register_globals off

    ik zal binnenkort ff alles netjes veranderen en een diff plaatsen

  7. Comment by Help

    Werkt dit eigenlijk nog wel?
    Als ik mijn host bij mrtg-it in vul geeft hij niks :(

  8. Comment by wieger

    onder debian is het juist 100 keer makkelijker

SEO Powered by Platinum SEO from Techblissonline