Monitorování datových přenosů

15.12.2010 16:24

 

Úvod

 

IconsPage/internet.png Tento článek se zabývá potřebou monitorovat datové přenosy v dlouhodobějším horizontu, např. pokud máte omezenou měsíční kvótu přenesených dat.

IconsPage/info.png Pokud chcete pouze zjistit aktuální rychlost přenosu dat, navštivte článek Sledování systému.

Pokud potřebujete měřit data dlouhodoběji, můžete si vybrat mezi ipac-ng a vnstat nástrojem.

 

ipac-ng

 

Určený pro lidi s malou domácí sítí, kteří chtějí monitorovat množství odeslaných a přijatých dat do a z internetu, ale ne data posílané do místní sítě. To může být užitečné, pokud máte u svého připojení datový limit (u nás obvykle označované jako FUP) a přitom také posíláte soubory po místní síti.

Tento návod vás provede nastavením ipac-ng, čítači založeném na iptables/ipchains a počítajícím pomocí IP adres.

 

Instalace

 

Budete potřebovat povolený zdroj universe dle návodu Přidávání zdrojů.

Nejdříve nainstalujte ipca-ng, bud pomocí Synapticu nebo napište do Terminálu:

 

sudo apt-get install ipac-ng

 

 

Konfigurace

 

Editujte soubor /etc/ipac-ng/rules.conf pro nastavení, která data se mají zaznamenávat. Pro jednoduché měření odeslaných a stažených dat celkem, by soubor měl vypadat takto:

# /etc/ipac-ng/rules.conf

total upload |ipac~i|eth0|all||
total download |ipac~o|eth0|all||

 

Poznámka: Změňte eth0 na síťový adaptér, který hodláte měřit.

Editujte soubor /etc/ipac-ng/ipac.conf a změňte způsob ukládání na metodu gdbm, jinak vaše záznamy zaberou mnoho místa na disku (postgre může být také použito).

# /etc/ipac-ng/ipac.conf

storage = gdbm

 

Pro ignorování přenosů dat po místní síti musíte nastavit jednoduchá pravidla do iptables a přidat skript pro spouštění po startu. Editujte soubor /etc/init.d/ipac-ng a přidejte následující řádky mezi mřížky (##) :

## /etc/init.d/ipac-ng

case "$1" in
  start)
        echo -n "Starting $DESC: "
        check
        $DAEMON -S
## ADD THE FOLLOWING 2 LINES:
        $IPTABLES -I INPUT -s aaa.bbb.ccc.0/24 -j ACCEPT
        $IPTABLES -I OUTPUT -d aaa.bbb.ccc.0/24 -j ACCEPT
##      
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        # fetch accounting before removing the rules
        $DAEMON
        echo -n "flushing IP accounting rules ..."
        $IPTABLES --flush ipac~o
        $IPTABLES --flush ipac~i
        $IPTABLES --flush ipac~fi
        $IPTABLES --flush ipac~fo
        # here should the ipac_* rule be removed from INPUT OUTPUT and FORWARD but --flush is
        # evil because it would remove all rules in these chains.
## ADD THE FOLLOWING 2 LINES:
        $IPTABLES -D INPUT -s aaa.bbb.ccc.0/24 -j ACCEPT
        $IPTABLES -D OUTPUT -d aaa.bbb.ccc.0/24 -j ACCEPT
##
        echo "$NAME stopped."
        ;;

 

Poznámka: Změňte aaa.bbb.ccc.0 na adresu vaší sítě. Například pokud váš router má adresu 192.168.0.1, měli byste použít 192.168.0.0.

A je to! B) Součty přenosů dat budou automaticky získávány z iptables každých 10 minut co bude počítač zapnut. Pro zobrazení součtů použijte ipacsum. Ten může být nakonfigurován pro zobrazení určitého časového intervalu a dokonce vykreslí grafy přenosů dat.

 

Odkazy

 

https://ipac-ng.sourceforge.net/

 

vnstat

 

vnstat je další aplikací, která může být použita pro měření přenosů dat. Je trochu jednodušší a snadnější než ipac-ng. Jedna z výhod použití vnstatu je, že neběží na pozadí jako démon a tudíž nezabírá místo v paměti. Proces je vyvolán pomocí cronu a spouští se každých 5 minut.

 

Instalace

 

vnstat je velmi snadné nainstalovat ze zdrojů Ubuntu. V Terminálu napište:

sudo apt-get install vnstat

 

 

Nastavení

 

vnstat je určen pro použití uživatelem, takže jako první krok je důležité nastavit správná práva k tomuto programu. Následující řádky dají právo k použití vnstatu každému uživateli. Pokud je to potřeba, můžete nastavit skupinu a pouze členové této skupiny budou moci vnstat používat.

 

sudo chmod o+x /usr/bin/vnstat

 

 

sudo chmod o+wx /var/lib/vnstat/

 

Nyní by měl být vnstat připraven ke spuštění.

 

Použití

 

Pro vytvoření cron úkolu jednoduše spusťte tento příkaz:

vnstat -u -i ath0

 

Poznámka: Změňte ath0 na síťový adaptér, který hodláte měřit.

Toto vytvoří soubor ve složce /var/lib/vnstat/, který bude shromažďovat data pro dané rozhraní. Cron spustí tento úkol každých 5 minut pro aktualizaci dat. Dole je vzorový výstup bez přídavných nastavení:

 

Database updated: Thu Jan 12 22:20:01 2006

        ath0

           received:           0.11 MB (nan%)
        transmitted:           0.01 MB (nan%)
              total:           0.12 MB

                        rx     |     tx     |  total
        -----------------------+------------+-----------
            today      0.11 MB |    0.01 MB |    0.12 MB
        -----------------------+------------+-----------
        estimated         0 MB |       0 MB |       0 MB

 

Zdroj: wiki.ubuntu.cz