Forum

Zárolt Fórum - csak olvasható
Felhasználó: Vendég Bejelentkezés
Kérlek regisztrálj

Keresés 
Fórum keresés:


 




Forgalomszámlálás a vnstat segítségével
Read original blog post

FelhasználóHozzászólás

17:36
2008. július 30. szerda


r0by

Admin

Szeged

hozzászólások46

1

Szintén egy olyan dologhoz értünk, amelyet nem hiszem, hogy sokan használnak. Sokszor látni azt, hogy egyes emberek szeretik mérni a forgalmi statisztikájukat, vagy éppen forgalmi korlátos internet előfizetésük van. Kevés ebből is az ingyenes program, nem beszélve arról, hogy mi van, hogyha több gép is van a családban, a LAN-on. Akkor most mindegyikre telepíteni kelljen, vagy hogy…?
Ezt fogjuk összehozni ha minden jól megy:vnstat frontend
Szükséges dolgok megléte:

Kezdjünk is neki, hogyan is, ha nem a szokásos módon:

ipkg install vnstat

Az előző honlapról szedjük is le a frontendet, kicsit lejebb a lap alján megtalálható. Figyeljünk, hogy a legújabbat szedjük le, ez a cikk írása közben az 1.3-as verziónál tart.
Következő lépésben létre kell hoznunk egy könyvtárat, ahova majd cron segítségével 5 percenként a vnstat frissíti az adatbázist. Mindenki oda teszi ahova szeretné csak majd ezt az elérési utat kell megadni a conf-ban is, nekem a választásom most ide esett:

mkdir /opt/share/vnstat

Ezután konfiguráljuk a vnstat.conf-ot:

vi /opt/etc/vnstat.conf

1-2 szóban, hogy mire is kell it figyelni. Sokmindenre nem:) A default interface résznél nálam ppp0 van, mert nekem a kapcsolat típusom PPPoE. A MaxBWeth0 8 nálam azért 8, mert lefelé 8mbit a sebességem.
Szóval nálam így fest:

# vnStat 1.6 config file
##

# location of the database directory
DatabaseDir “/opt/share/vnstat”

# locale (LC_ALL)
Locale “hu_HU”

# on which day should months change
MonthRotate 1

# date output formats for -d, -m, -t and -w
# see ‘man date’ for control codes
DayFormat “%m.%d.”
MonthFormat “%b ‘%y”
TopFormat “%d.%m.%y”

# characters used for visuals
RXCharacter “%”
TXCharacter “:”
RXHourCharacter “r”
TXHourCharacter “t”

# default interface
Interface “ppp0″

# maximum bandwidth (Mbit) for all interfaces, 0 = disable feature
# (unless interface specific limit is given)
MaxBandwidth 100

# interface specific limits
# example 8Mbit limit for eth0 (remove # to activate):
MaxBWeth0 8

# how many seconds should sampling for -tr take by default
Sampletime 5

# default query mode
# 0 = normal, 1 = days, 2 = months, 3 = top10
# 4 = dumpdb, 5 = short, 6 = weeks, 7 = hours
QueryMode 0

# database file locking (1 = enabled, 0 = disabled)
UseFileLocking 1

# how much the boot time can variate between updates (seconds)
BootVariation 15

Majd létre kell hoznunk az adatbázisokat, a ppp0 helyett mindenki a saját interface-t írja be:

vnstat -u -i ppp0
vnstat -u -i vlan0
vnstat -u -i vlan1

Ha ilyen üzit kaptunk, akkor minden oké: <br />
Error:<br />
Unable to read database "/opt/share/vnstat/vlan1".<br />
-> A new database has been created.<br />

Következő feladatunk, hogy ezt az adatbázis olyan formára hozzuk, hogy a mi esetünkben ezt php (a frontend) segítségével emészthető formába tudjuk hozni.
Ehez a crontab segítségét vesszük igénybe.
crontab -e parancs begépelésével adjuk hozzá a következő 4 sort, persze akinél nem ppp0 van, az cserélje. Fontos a sorrend, tehát a vnstat -u rész legyen a többi 3 előtt.

*/5 * * * * /opt/bin/vnstat -u
*/5 * * * * /opt/bin/vnstat –dumpdb -i ppp0 > /opt/share/vnstat/vnstat_dump_ppp0
*/5 * * * * /opt/bin/vnstat –dumpdb -i vlan0 > /opt/share/vnstat/vnstat_dump_vlan0
*/5 * * * * /opt/bin/vnstat –dumpdb -i vlan1 > /opt/share/vnstat/vnstat_dump_vlan1

A végére hagyjunk egy üres sort. Régebben háklis volt erre a cron, de szerintem még most is.
Most már elvileg a cron segítségével 5 percenként frissülget az adatbázis, megvannak az emészthető formák is, most már csak a php frontend van hátra.
Ez a legnehezebb az egészben:))
Csomagoljuk ki a frontendet a web root alá mundjuk vnstat könyvtárba, majd nyissuk meg a config.php állományt.
Nálam ennyi a tartalma (a szokásos cseréket persze mindenki végezze el):

$iface_list = array(’vlan0′, ‘vlan1′, ‘ppp0′);
$iface_title['vlan0'] = ‘LAN’;
$iface_title['vlan1'] = ‘WAN’;
$iface_title['ppp0'] = ‘TvNetwork’;
$vnstat_bin = ‘;
$data_dir = ‘/opt/share/vnstat’;

Már majdnem kész vagyunk, de még kell egy kiegészítés a php-hoz (előfordulhat, hogy már valakinek fent van), hogy megkapjuk a grafikus függvényeket is az arcunkba. Ez a php-gd, amihez szépen sorban települ majd a többi összetevő is.

ipkg install php-gd

Ne felejtsük majd el újraindítani a lighttpd-t, hogy érvényesüljenek az előbb telepített csomagok is.
/opt/etc/init.d/S80lighttpd restart
Ezután már csak navigáljunk a böngészőben a megfelelő címre.
Az én esetemben ez http://192.168.1.1:8081/vnstat.
Persze ha villámkézzel csináltuk végig a tutort, akkor lehet, hogy még nincs elég adat.
Nah, tetszik-e az eredmény?:)


Read original blog post

20:50
2008. augusztus 7. csütörtök


balage25

tag

hozzászólások4

2

Szia!

Azt szeretném megoldani, hogy a wifi-t és a 4 portot külön figyelje. Mi a wifinek és a portoknak a neve?

A crontab -e parancshoz úgy néztem kell root is.

Köszi.




Válasz a Témára: Forgalomszámlálás a vnstat segítségével

FIGYELEM: Az új megjegyzések csak adminisztrátori jóváhagyással jelenhetnek meg

Vendég Néve (Kötelező):

Vendég EMail (Require):

Guest URL (required)

Kötelező Matek!
Mennyi: 9 + 4        (Kötelező)

Téma Válasz:


 
 

A ASUS WL-500g Premium fórumról

Online Felhasználók:

5 Vendég

Maximum online: 19

Fórumok

Csoportok:5

Fórumok8

Témák48

Hozzászólások150

Tagok

286 tag

1 vendég


r0by-an 46 bejegyzést írt

Top hozzászólók:

antenna - 12

Levys - 6

santana - 5

Cisco - 5

perla - 5

Adminisztrátor:r0by


© Simpe:Press Forum - Verzió 3.1.3 (Build 356)