RRStats  <<
cesky english
:: RRDtool a statistiky pro pripojena IP :: RRDtool traffic monitoring of connected IPs

posledni | latest ver.: 0.8.7 [23.2.2006] Download

0.8 [15/10/2004]
0.7 [12/07/2004]

Protoze jsem potreboval pro router co nejskromnejsi statisticky aparat, napsal jsem si v perlu tri kratke skripty, ktere jsem posleze (v. 0.7) prepsal do jednoho vetsiho skriptu rrstats. Ten nyni dela tri zakladni typy statistik: I needed a simple traffic monitor for IP connected to wireless node. The result is rrstats.
  • statistiku pro interface zalozenou na udajich ifconfigu
  • statistiku pro IP adresu zalozenou na udajich z iptables
  • statistiku pro load stroje
  • interface traffic statistic using ifconfig
  • IP traffic statistic for iface associated IPs using iptables
  • machine load

Vytvareni statistik pro IP byla puvodni idea a protoze zachazeni s iptables je trochu slozitejsi, tvori vlastne hlavni cast skriptu rrstats.

Nastaveni vsech dulezitych parametru lze provest v souboru rrstats.conf.

Skript rrstats by mel byt volan z cronu kazdych 10minut s pravy roota. Skript dynamicky pridava statistiky pro kazde IP, ktere se asociuje s interfacem, ktery ma obstaravat.

Configure rrstats in rrstats.conf.

Call rrstats periodicaly every 10minutes from cron as root.

crontab -e

     9,19,29,39,49,59 * * * *   cd /path/to/rrstats_dir/; ./rrstats wlan1; \ 
     ./rrstats -i -p wlan2
     

na nekterych systemech nemusi byt konvence oddelovani vice udaju carkou mozna, musite proto rozepsat pro kazdy casovy udaj novy radek. or
     9  * * * *   cd /path/to/rrstats_dir/; ./rrstats wlan1; ./rrstats -i -p wlan2
     19 * * * *   cd /path/to/rrstats_dir/; ./rrstats wlan1; ./rrstats -i -p wlan2
     etc.
usage: rrstats [-c, -l] | <iface> [-i, -p, -l, -c]
  -c clear ALL RRStats related iptables rules
  -i generate iface statistic
  -p generate iface IP statistic
  -l generate load statistic
  no option - generate all statistic
Skripty jsou urceny pro: Script is written for (requires):
  • linux,
na kterem je nainstalovan
  • perl (>=5.6.0),
  • rrdtools (>= 1.0.42, 1.0.35 does not have -X option - you can safely delete it from script),
Pokud chcete vyuzivat skript tak jak je, potrebujete
  • kernel >= 2.4.20,
  • iptables >=1.2.7a,
protoze skript vyuziva tabulky "mangle" a chainu POSTROUTING, ktery ve starsich iptables nebyl. Pouziti chainu POSTROUTING se ovsem da obejit jinou sktrukturou, ktera se vklada do INPUT, OUTPUT a FORWARD, ta ovsem neni implementovana a ani nebude.

Vystupy statistik z techto skriptu jsou k videni na winelu [czf local only], ukazkovy vystup (0.6).

Nedelam si iluze o idealnosti techto skriptu (rrdtools se volaji pres system misto pres knihovnu perlu apod.) ovsem plni co jsem chtel. Davam je k dispozici tak jak jsou. Pouzivejte je na vlastni riziko.

Output example (ver. 0.6)

TODO

  • likvidace nepotrebnych statistik
  • zobrazeni on/off-line do grafu pro prenosy IP (lepsi zobrazovat kvalitu linku)
  • libovolny cyklus volani (jiny nez 10min) + asynchronni generovani obrazku (tzn. data do databaze ukladat kazdou minutu, ale obrazky generovat jen kazdych 10min)
  • konfigurovatelny graficky vystup - zatim to predpoklada nejake omezene intervaly
  • kontrola zda iface existuje a zpracovat -l pokud ne

DONE

  • small fix - do not print image size (cron mail annoyance)
  • ^^ future release ^^
  • 28/12/2005 there was a limit of 800k max for each iface (wifi 2.4G max troughput) - removed
  • 12/04/2005 print out also amount of transfered data
  • 11/12/2004 add a lot of debug messages and debug option
  • 15/10/2004 now usable with more interfaces, @exip is now %exip
  • 15/10/2004 @exip je spolecny pro vsechny interfaci coz neni idealni a ne jen to - co hur volani rrstats -p wlan1 vynulovalo vsechny chainy -> dalsi volani rrstats -p wlan2 uz je naslo prazdne - opraveno
  • 12/07/2004 oprava spousty (drobnych) chyb
  • 12/07/2004 osetreni chybovych vystupu volani system
  • 12/07/2004 zvysena blbuvzdornost - osetreni mnoha chybovych stavu
  • 11/07/2004 "vse v jednom", vyber statistiky se dela pres optiony
  • 11/07/2004 generovani html pro iface a load
  • 10/07/2004 vyklizeni iptables
  • 23/11/2003 prirazovani aliasu k ip z dhcpd.conf souboru - vyzaduje aby jeden radek v dhcpd.conf identifikoval jedno IP.
  • 23/11/2003 @exip=() empty example
  • 24/09/2003 nekolik dalsich uprav zobrazeni a meritek
  • 24/09/2003 kontrola zarazeni chainu RRD_* v POST/PREROUTINGu
  • 24/09/2003 Rozsirit databaze o hodnotu MAX a volitelne zobrazeni bud MAX nebo AVG (uzitek te MAX hodnoty je znacne diskutabilni) viz. rrstats.conf databaze nejsou kompatibilni se starsimi verzemi
  • 29/08/2003 obrana proti zahlceni - neco by mel vyresit arp | grep -v incomplete; pridana moznost vypnout arp detekci adres a stavu (on/off line) - oboji se dela pres arp ten se ale v configu da vypnout; do configu rozsiren priklad vice definovanych ip, opraven preklep v usage rrstats_ip
  • pridat do konfiguraku moznost monitorovat libovolne IP (nebo dokonce cely rozsah) - viz promenna @exip v configuraku

old ver. <=0.6