Adatbázis létrehozása, írása
Az én konfigurációmban a HDD-m egyik partíciója a /opt, a másik a /mnt mappába van csatolva. A /opt-on tárolom a weblapokat, egyéb adatokat, így az rrd adatbázist is. Így a példában mindenhol erre a mappára hivatkozom, ezt mindenki módosítsa a saját igényeinek megfelelően.
Az rrd adatbázist, illetve későbbiekben az író, illetve a képeket generáló scripteket a /opt/rrd_traffic mappában tárolom.
Jelentkezzünk be ssh-n a routerre, majd hozzuk is létre ezt a mappát:
mkdir /opt/rrd_traffic
Az adatbázis létrehozásához adjuk ki a következő parancsot:
rrdtool create /opt/rrd_traffic/traffic.rrd \
--step 300 \
--start now \
DS:in:DERIVE:600:0:U \
DS:out:DERIVE:600:0:U \
DS:load:GAUGE:600:0:U \
RRA:AVERAGE:0.5:1:576 \
RRA:AVERAGE:0.5:6:672 \
RRA:AVERAGE:0.5:24:732 \
RRA:AVERAGE:0.5:144:1460
A parancs lefuttatása után létrejön a /opt/rrd_traffic/traffic.rrd Round-Robin adatbázisunk, ami 5 perces felbontásban tárol három adatot (bejövő, kimenő forgalom, valamint a load) 4 különböző részletességben a napi, heti, havi, valamint az éves statisztikákhoz.
Az adatbázis írását egy script fogja elvégezni, amit cron-ból ütemezni fogunk. A script legyen a /opt/rrd_traffic/updaterrd.sh.
Ehhez putty-ban írjuk be:
vi /opt/rrd_traffic/updaterrd.sh
Majd illesszük be a következő scriptet (nyomjunk i-t a vi-ban):
RRDFILE=/opt/rrd_traffic/traffic.rrd
WANIN=`ifconfig eth1 | grep bytes | awk -F ":" '{print $2}' | awk '{print $1}'`
WANOUT=`ifconfig eth1 | grep bytes | awk -F ":" '{print $3}' | awk '{print $1}'`
LD=`uptime | sed 's/.*average: //' | awk '{print($2)}' | sed "s/,//"`
rrdupdate $RRDFILE -t in:out:load N:$WANIN:$WANOUT:$LD
Majd az elmentéshez: ESC, majd :wq.
A scriptben az eth1-et cseréljük le a WAN interface nevére. D-Link DIR-825 esetében ez eth1.
A WAN interface név látható a webes felületen, illetve kideríthető az
uci show network.wan.ifname
paranccsal:
Ezután adjunk futtatási jogot a scriptre:
chmod +x /opt/rrd_traffic/updaterrd.sh
Az adatok automatikus frissítéséhez létre kell hoznunk egy cron job-ot, ami 5 percenként frissíti az adatbázist:
echo "*/5 * * * * /opt/rrd_traffic/updaterrd.sh" >> /etc/crontabs/root
Majd indítsuk is újra a cron-t:
/etc/init.d/cron restart
Így ettől a pillanattól kezdve gyűlnek is a statisztikai adataink.
A cikk még nem ért véget, kérlek, lapozz!