Linux halozati kartya montitorozasa (megoldva)

Fórumok

Sziasztok!

Meg szeretnem kerdezni, hogy a halozati kartyamon (pl.:eth1) levo forgalmat hol latom, azaz hol talalom meg a forgalom akltualis allapotat?
Gondolom a /proc-on belul van valahol, de hol?

koszonom

Hozzászólások

/proc/net/dev
Az ifconfig is innen olvas.

"ebben a fileban a forgalom (kimeno es bejovo) osszeseget mutatja, azaz mennyit forgalmazott osszessen a halozati kartya"
Pontosan, irányonkénti bontásban számlálóadatok, többek között a byte-ok száma. A nyitó posztban érdeklődtél a /proc alatti információforrásról. Csak erre reagáltam. Ha jól értem, te valójában az interfészen folyó forgalom sebességére lennél kíváncsi. A sebesség pedig az átvitt byte-ok számának, és az eltelt időnek a hányadosából adódik.

"Biztos vagyok, hogy a linux ezeket az adatokat a /proc-on belul tarolja valahol, de nem tudom, hogy hol"
Nem tudok arról, hogy a /proc alatt közvetlen sebességadatot találnál. De ha ragaszkodsz a /proc-hoz, a fenti úton könnyen kiszámolhatod.

"Azert kerdeztem, hogy hol tartja a linux az ilyen adatokat, mert csak kiolvasnam egy file-bol az erteket, es tudnam, hogy mennyi a kimeno es bejovo forgalom a halozati kartyan."
A már említett és nem említett eszközök (dstat, ifstat, iptraf, nload) is innen dolgoznak, vagy a /sys/class/net/*/statistics/rx_bytes és /sys/class/net/*/statistics/tx_bytes file-ból. Tehát számolnak. Valószínűleg te sem fogod megúszni azt az egy osztási műveletet.

"mert snmp nem jatszik egy tavoli gep eseten (titkositatlan csatornan keresztul)"
Esetleg VPN? Vagy SNMPv3?

akkor marad a matekolas, ha jol ertem a /sys/class/net/*/statistics/tx_bytes es a /sys/class/net/*/statistics/rx_bytes fajlokbol kiolvasom a regi erteket, majd kiolvasom az uj ertket bizonyos ido mulva, aztan kivonom az ujbol a regit, es megkapom, hogy arra az idore mekkora sebesseggel dolgozik a kartya, koszi

Minek ennyire bonyolítani :-D


echo $((-($(cat /sys/class/net/eth0/statistics/tx_bytes)-$(sleep 1;  cat /sys/class/net/eth0/statistics/tx_bytes))))

Egyébként igen :)
Vagy pedig:


CTX="cat /sys/class/net/eth0/statistics/tx_bytes"
echo $((-($($CTX)-$(sleep 1;$CTX))))

Vajon mi lehet az a "forgalom aktuális állapota"? :)

Első körben javallom az "iptraf" és a "tcpdump" programok megismerését. Aztán majd megmondod, hogy ezt értetted-e a forgalom állapota alatt :)

Szerintem meg nload-ra gondolt.

apt-get install nload
nload
-------------------------
127.0.0.1 SWEET 127.0.0.1
AMD Athlon X2 245E@3,1 GHz OC, MSI Radeon 6770 1 Gb GDDR5, Seagate Barracuda, Windows 7 Enterprise

ha én szkript-tel csinálnám akkor a következő képpen használnám:

#chain-ek a számláláshoz
iptables -N forgalom_out
iptables -N forgalom_in
#mindent átengedő szabályok
iptables -A forgalom_out -j ACCEPT
iptables -A forgalom_in -j ACCEPT
#forgalom a chain-ekbe terelve
iptables -I OUTPUT -o ppp0 -j forgalom_out
iptables -I INPUT -i ppp0 -j forgalom_in

#lekérdezés
iptables -vnx -L forgalom_out
iptables -vnx -L forgalom_in

#forgalom törlése
iptables -Z forgalom_out
iptables -Z forgalom_in

persze ppp0 helyett lehet bármilyen interfész

bmon is jó tool erre.

-
Debian Squeeze