Řešení 1:
Doporučuji také použít VnStat
vnStat 1.6 by Teemu Toivola <tst at iki dot fi>
-q, --query query database
-h, --hours show hours
-d, --days show days
-m, --months show months
-w, --weeks show weeks
-t, --top10 show top10
-s, --short use short output
-u, --update update database
-i, --iface select interface (default: eth0)
-?, --help short help
-v, --version show version
-tr, --traffic calculate traffic
-l, --live show transfer rate in real time
eth0 / monthly
month rx | tx | total
-------------------------+--------------+--------------------------------------
Oct '09 225.70 GB | 798.52 GB | 1.00 TB %%%%:::::::::::::
Nov '09 138.46 GB | 616.54 GB | 755.01 GB %%::::::::::
eth0 / daily
day rx | tx | total
------------------------+-------------+----------------------------------------
31.12. 6.56 GB | 34.39 GB | 40.95 GB %%%::::::::::::::::
01.01. 1.13 GB | 746.92 MB | 1.86 GB
Řešení 2:
To, co Zypher říkal o rrdtool (a o čemkoli jiném, co jej používá jako backend - MRTG, Cacti atd.), je pravděpodobně správné. RRDTool je navržen jako „průměrný“ nástroj pro analýzu historických trendů. Průměruje a ukládá počítadla ve stále více nerozhodných přírůstcích, čím dále zpět v čase to jde.
To je však konfigurovatelné vhodným nastavením RRA. Přiznám se však, že o jejich konfiguraci nevím absolutně nic a nikdy jsem osobně neměl štěstí, že bych je dostal nad rámec mého standardního nastavení (15 minut, 8 hodin, 1 týden, 1 měsíc, 1 rok). Doporučil bych podívat se na konfiguraci RRA tak, aby očekávaly denní vstup a napájely jej počítadlem šířky pásma z netstatu. Získáte velmi pěkná historická data a přehled o vašich vzorcích používání.
Chcete-li odpovědět na váš aktuální problém, ujistit se, že nepřekročíte denní limit šířky pásma; Doporučil bych chytit čítače netstat denně pro příslušné rozhraní. Můžete porovnat včerejší provoz v čase t s dnešními počítadly v čase t a zjistit, kolik bylo přeneseno. Pravděpodobně by stačil jednoduchý skript s plochým úložištěm textových souborů předchozí hodnoty. Pokud pak zjistíte překročení šířky pásma, můžete rozhraní deaktivovat nebo jej sledovat během dne a upozornit správce, pokud se blížíte k limitu.
Chcete-li získat vstupní bajty v systému OSX, můžete použít následující sadu příkazů:
netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $7}'
Výstup lze naopak získat pomocí:
netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'
Příslušná počítadla můžete vložit do plochého souboru někde uloženého a porovnat je s:
#!/bin/bash
set -e # exit if any error occurs
previous_days_bytes_xferred=`cat $flatfile_storage`
todays_bytes_xferred=`netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'`
if [ $((todays_bytes_xferred - previous_days_bytes_xferred)) -gt $threshold ]; then
DO SOME STUFF
fi
echo $todays_bytes_xferred > $flatfile_storage
Stačí upravit zpracování netstat tak, aby odpovídalo vašemu systému (protože vím, že nepoužíváte OSX).
Řešení 3:
Balíček sysstat obsahuje obslužný program sar. Sar je extrémně konfigurovatelný systémový "profiler", pro nedostatek lepšího termínu, který sbírá různé statistiky v předem definovaných intervalech (cron). Ty jsou uloženy v binárních souborech, jeden pro každý den, které se obvykle střídají týdně, ale lze je konfigurovat. K vytažení statistik z těchto souborů lze použít program sar a tyto výsledky lze snadno zobrazit v grafu pomocí libovolného kancelářského programu nebo gnuplotu (moje osobní preference).
http://pagesperso-orange.fr/sebastien.godard/ <=Informace o Sar
http://www.gnuplot.info/ <=informace o gnuplotu
Řešení 4:
Vnstat je skvělý denní / týdenní / měsíční monitor provozu založený na konzoli. Dokonce vám umožňuje sledovat provoz v reálném čase, což je praktické.
Také využívá velmi málo systémových prostředků;)
Řešení 5:
Chcete MRTG, což je nástroj pro monitorování sítě, je to věc, která vytváří všechny síťové grafy, které vidíte na webu (s nástrojem rdtool pro přeměnu čísel na obrázky)
Pokud se vám to nechce nastavovat, nebo jen potřebujete něco jednoduššího, můžete pro záznam datového přenosu použít iptables.