Monitorování datových přenosů

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.

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.

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

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! 8-) 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.

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.

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

sudo apt-get install vnstat

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í.

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

Můžete si přečíst víc o nastaveních pro modifikaci výstupu v manuálu vnstatu.

Rozšíření: Tento návod je příliš stručný. Pomozte Ubuntu Wiki tím, že jej rozšíříte. Více...

Konvence: Tento návod nesplňuje některé z na Wiki zavedených konvencí. Více...