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:
[img]http://www.stat.ee.ethz.ch/mrtg/rou-gw-switch-1-lp_129.132.99.213-day.png[/img]
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.
[b]Opzetten snmp[/b]
Snmp installeren:
[shell]# cd /usr/ports/net/net-snmp/
# make install clean
[/shell]
Net-snmp configureren:
[shell]cd /usr/local/etc/
snmpconf -g basic_setup[/shell]
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'[/shell]
snmp starten (gebeurt ook na een reboot)
[shell]# /usr/local/etc/rc.d/snmpd.sh start[/shell]
even controleren of hij werkt
[shell]#ps -x |grep snmpd
[/shell]
als het goed is zie je zoiets als dit:
[shell]413 con- I 0:03.90 /usr/local/sbin/snmpd
[/shell]
Nu snmp draait kunnen we beginnen met MRTG
[b]Opzetten MRTG[/b]
MRTG installeren:
[shell]# cd /usr/ports/net/mrtg
# make install clean
[/shell]
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
[/shell]
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
[/shell]
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/
[/shell]
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)
[/shell]
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:
[url]http://gbgraph.menthenberg.nl/[/url]
Voor gebruik van deze scripts zijn onder FreeBSD aantal patches nodig:
[url=http://www.bsdfreaks.nl/files/mrtg/archiver.patch]archiver patch[/url]
[url=http://www.bsdfreaks.nl/files/mrtg/gbgraph.patch]gbgraph patch[/url]
Deze kun je als volgt uitvoeren:
[shell]patch < gbgrap.patch gbgraph.pl[/shell]
Hiernaast heb je ook een oude mrtglog nodig:
[url=http://www.bsdfreaks.nl/files/mrtg/mrtglog.c]mrtglog.c[/url]
Compileren met:
[shell]gcc -o mrtglog mrtglog.c[/shell]
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: [url]http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/[/url]
Links
[url]http://www.mrtg.org[/url] (mrtg homepage)
[url]http://net-snmp.sourceforge.net[/url] (snmp homepage)
[url]http://www.ee.ethz.ch/stats/mrtg/[/url] (veel voorbeelden)
Anonymous says
‘t iz gelukt
T. Nan says
Werkt als een zonnetje. Onder linux debian is het een crime.
NLISP says
ja onder linux .. maar dit is bsdfreaks … 😛
EricV says
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?
EricV says
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”;
Dr.X says
de phpzooi werkt niet met register_globals off
ik zal binnenkort ff alles netjes veranderen en een diff plaatsen
Help says
Werkt dit eigenlijk nog wel?
Als ik mijn host bij mrtg-it in vul geeft hij niks 🙁
wieger says
onder debian is het juist 100 keer makkelijker