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
WWW server — stačí dhttpd
Balíček ipac
GD knihovnu pro Perl, která je v balíčku libgd-perl
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