26.2. Měření průtoku dat

Sledování objemu protečených dat

26.2.1. ipac-ng

Použitím balíčku ipac je možné nechat si vytvářet grafy zobrazující objem protečených dat jednotlivými rozhraními. Potřebujeme k tomu

Nainstalujeme WWW server, zkontrolujeme konfiguraci a vytvoříme adresáře

# wajig install dhttpd
# mkdir /var/www/ipac
# mkdir /var/www/ipac/4H
# mkdir /var/www/ipac/1D
# mkdir /var/www/ipac/1W
# mkdir /var/www/ipac/1M
# mkdir /var/www/ipac/1Y

nebo

# wajig install dhttpd
# mkdir /var/www/ipac
# mkdir /var/www/ipac/day
# mkdir /var/www/ipac/week
# mkdir /var/www/ipac/month
# mkdir /var/www/ipac/year

Tím máme připraven WWW server. Nyní nainstalujeme ipac a libgd-perl.

# wajig install ipac libgd-perl

Poté program ipac nakonfigurujeme. Můžeme vyjít z ukázkového souboru.

Příklad 26.1. Ukázkový soubor pro ipac

# /etc/ipac.conf
Port0|both|eth0|all||
Port1|both|eth1|all||
Port2|both|eth2|all||

Port0.in|in|eth0|all||
Port0.out|out|eth0|all||
Port1.in|in|eth1|all||
Port1.out|out|eth1|all||
Port2.in|in|eth2|all||
Port2.out|out|eth2|all||

V konfiguraci je možno vypíchnout konkrétní druh provozu, např http

http in (surf)|in|eth0|tcp|0/0 80|
      

nebo dns

dns in/out udp|both|eth0|udp||0/0 domain
dns in/out tcp|both|eth0|tcp||0/0 domain
      

či smtp

mail smtp in/out|both|eth0|tcp||0.0.0.0/0 smtp

Vše je připraveno, a ipac začal „sbírat“ data o průtoku. Zbývá nám přípravit generování grafů. Generování jsem vepsal do souboru /etc/cron.d/ipac. Sběr dat, řádek

*/10 * * * *  root  test -f /etc/ipac.conf && test -f /usr/sbin/fetchipac && test -f /var/run/ip-accounting-rules && /usr/sbin/fetchipac

jsem ponechal na desetiminutových intervalech. Po dobu zkoušení je možno sbírat data rychleji, zkoušel jsem to po minutách. Protože 10-ti minutové intervaly jseou pro generování ročního a měsíčního grafu zcela zbytečně jemné, tak po cca 60 hodinách sčítam vše po hodinách.

0   *  *   *   *  root /usr/sbin/ipacsum -r -s 61h59m55s -e 60h59m55s >/dev/null

Tak a teď už jen zbýva generovat grafy:

*/10 * * * *  root  /usr/sbin/ipacsum -s 3h59m55s --gif /var/www/ipac/4H --gif-normalize 8 --gif-average-curve 20 --gif-width 900 >/dev/null
*/10 * * * *  root  /usr/sbin/ipacsum -s 24h59m55s --gif /var/www/ipac/1D  --gif-normalize 8 --gif-average-curve 20 --gif-width 900 >/dev/null
0 * * * *  root  /usr/sbin/ipacsum -s 6D23h59m55s --gif /var/www/ipac/1W --gif-normalize 8 --gif-average-curve 20 --gif-width 900 >/dev/null
0 0 * * *  root  /usr/sbin/ipacsum -s 30D23h59m55s --gif /var/www/ipac/1M --gif-normalize 8 --gif-average-curve 10 --gif-width 900 >/dev/null
0 0 * * *  root  /usr/sbin/ipacsum -s 365D23h59m55s --gif /var/www/ipac/1Y --gif-normalize 8 --gif-average-curve 10 --gif-width 900 >/dev/null