piątek, 21 listopada 2008 
Start arrow FreeBSD arrow STATYSTYKI I WYKRESY arrow Webalizer
Menu BSD4u
FreeBSD
OpenBSD
NetBSD
Dla *BSD
FAQ BSD4u
Forum BSDGuru.org
Security Advisory
Licencje
Images BSD
Menu ogólne
Start
Aktualności
Download
Sondy
Szukaj
Linki
Książki
About BSD4u
Info
Team BSD4u
Regulamin
Kanał #BSD4u
Kontakt
Sondy
Co sądzisz o naszym nowym Projekcie, i jak oceniasz zmianę koncepcji Projektu?
 
Popularne
Kompilacja i konfigu...
SQUID - najpopularni...
Neostrada+ i modem ...
NATowanie czyli jak ...
Samba - serwer plikó...
Upgrade systemu
Apache (konfiguracja...
Praktyczne IPFW
MRTG - statystyki ru...
CVSup - pomocny podc...
Neostrada na modemie...
Postfix z autoryzacj...
Postfix - bezpieczny...
System Portów (Kolek...
Dummynet - dzielenie...
Top Download
File icon Postfix - "Krok po kroku" v1.16697
File icon Postfix - "Krok po kroku" v1.06601
File icon PPTPd - "Prosty i szybki VPN" v1.0b6066
File icon sdi.sh3845
File icon uEagle 1.0p12963
File icon named.sh2908
File icon uEagle 0.99b2864
File icon cs.sh2785
File icon uEagle 1.02752
File icon uEagle 1.12555
Ostatnie komentarze
transparent a virus...
Dodał: grzywka18
Dnia: 2008-05-13 11:19:58
hmm
Dodał: dzibi
Dnia: 2007-12-12 10:01:14
Bez tytułu
Dodał: grzywka18
Dnia: 2007-12-11 17:46:06
Bez tytułu
Dodał: termid
Dnia: 2007-05-09 18:01:11
Bez tytułu
Dodał: sarelo33
Dnia: 2006-12-30 23:50:14
Jest ok ale..
Dodał: theviant
Dnia: 2006-11-16 08:10:05
Google

Google


Newsletter
Zapisz się na nasz newsletter, jeżeli chcesz być na bieżąco informowany o aktualnościach..




MRTG raz jeszcze - dla ka?dego IP z osobna Drukuj E-mail
Oceny: / 26
KiepskiBardzo dobry 
czwartek, 12 stycznia 2006 - Napisał: Krzysztof Różycki (13728 odsłon)

Co to jest MRTG i jak się go instaluje świetnie opisał Artur Kulda w artykule http://www.bsd4u.org/content/view/20/157/, dlatego nie będę tego dublował i przejdę od razu do konkretów. Moim celem jest pokazanie jak w bardzo prosty sposób można zrobić statystyki transferów dla poszczególnych adresów IP w sieci lokalnej korzystających z dowolnego łącza przy pomocy licznika pakietów (count) zaimplementowanego w ipfw.


Do dzieła…

- zakładamy, że mamy:

a) podsieć 172.16.1.0/29 (8 adresów ip)
b) 2 użytkowników w sieci LAN
c) połączenie z Internetem na interfejsie tun0 (Neostrada)
d) prosty NAT włączony poprzez ppp_nat=”YES” w /etc/rc.conf

Tworzymy regułki, które będą zliczały ruch wychodzący i wchodzący z interfejsu zewnętrznego na poszczególne adresy IP w sieci lokalnej.

Dla adresu 172.16.1.2

# ipfw add 200 count all from any to 172.16.1.2 via tun0
# ipfw add 201 count all from 172.16.1.2 to any via tun0

Dla adresu 172.16.1.3

# ipfw add 202 count all from any to 172.16.1.3 via tun0
# ipfw add 203 count all from 172.16.1.3 to any via tun0

Następne adresy IP dodajemy analogicznie

Możemy też napisać regułkę dla wszystkich razem w tej podsieci

# ipfw add 300 count all from any to 172.16.1.0/29 via tun0
# ipfw add 301 count all from 172.16.1.0/29 to any via tun0

Do wygenerowania statystyk graficznych przez MRTG dla jednego użytkownika potrzebujemy dwóch danych:

- pierwsza to liczba pakietów wchodzących do danego IP przez tun0
- druga to liczba pakietów wychodzących z danego IP przez tun0

Mamy już napisane regułki, które to zliczają:

200 *** 8178781 count ip from any to 172.16.1.2 via tun0
201 *** 0779973 count ip from 172.16.1.2 to any via tun0
202 ***  320025 count ip from any to 172.16.1.3 via tun0
203 ***  485265 count ip from 172.16.1.3 to any via tun0
300 *** 8498806 count ip from any to 172.16.1.0/29 via tun0
301 *** 1265238 count ip from 172.16.1.0/29 to any via tun0

Potrzebne dane do wygenerowania statystyk są w 3 kolumnie, aby je wydobyć piszemy prosty skrypt w powłoce shell - sh. Może on się nazywać user1 i może wyglądać np. tak:

#!/bin/sh
ipfw show |grep 00200 | awk '{print $3}'
ipfw show |grep 00201 | awk '{print $3}'

trzeba pamiętać o tym aby nadać mu prawo wykonywalności chmod +x user1

analogicznie robimy dla pozostałych IP i całej podsieci dając kolejne nazwy skryptów: user2, wan

Teraz napiszemy konfigurację dla MRTG aby pobierał dane z przygotowanych wcześniej skryptów i może ona wyglądać tak:

# mrtg_ip.cfg
# lokalizacja, gdzie będą generowane statystyki
WorkDir: /sciezka_do/www/domena.pl/stats
# język w którym chcemy mieć statystykę
Language: polish

# użytkownik 1
Target[user1]: `/ścieżka_do_skryptów/user1`
Title[user1]: Janek
MaxBytes[user1]: 640000
PageTop[user1]: Statystyka Jana

# użytkownik 2
Target[user2]: `/ścieżka_do_skryptów/user2`
Title[user2]: Marysia
MaxBytes[user2]: 640000
PageTop[user2]: Statystyka Marysi

# wszyscy razem
Target[wan]: `/ścieżka_do_skryptów/wan`
Title[wan]: WAN – wszyscy razem
MaxBytes[wan]: 640000
PageTop[wan]: WAN - wszyscy razem

Teraz generujemy index.html dla naszych statystyk za pomocą polecenia:

indexmaker --output=/sciezka_do/WWW/domena.pl/stats mrtg_IP.cfg

Pozostaje wrzucić nam do /etc/crontab linijki, która będzie co 5 minut odpalała mrtg i generowała aktualne statystyki.

*/5 * * * * root /usr/local/bin/mrtg /etc/mrtg/mrtg_IP.cfg >/dev/null 2>&1

przeładować crona poleceniem

# killall -HUP cron


Autor: Krzysztof Różycki

Powyższy artykuł został udostępniony na zasadach Licencji BSD

Komentarze:
Dodane przez mrdadi w dniu - 2006-07-06 12:45:51
Chciałem tylko dodać jeszcze... że do skryptu: 
 
#!/bin/sh 
ipfw show |grep 00200 | awk '{print $3}' 
ipfw show |grep 00201 | awk '{print $3}' 
 
można dodać dwie linijki... 
 
uptime |awk '{print $3}' 
hostname 
 
i będzie super ślicznie... 
 
pozdrówka 
MrDadi
Dodane przez micard w dniu - 2006-11-04 13:44:07
może i troszkę upierdliwy jestem.. ale coby było pięknie ładnie to zamiast 
uptime |awk '{print $3}'  
proponuję 
uptime |awk '{print $3" day(s) " $5}' 
Dodane przez micard w dniu - 2006-11-04 13:46:28
aa i jeszcze jedno.. nie wiem czemu ale ode mnie indexmaker wymagał aby w pliku mrtg.conf w polu PageTop[target] znajdowala się sekcja więc kolejna mała propozycja to: 
# wszyscy razem 
Target[wan]: `/ścieżka_do_skryptów/wan` 
Title[wan]: WAN – wszyscy razem 
MaxBytes[wan]: 640000 
PageTop[wan]: WAN - wszyscy razem 
 
 
Pozdrowionka 
Micard
Dodane przez micard w dniu - 2006-11-04 13:49:04
no mały problem się pojawił nie wyświetliło znaczników html.. mój błąd. powinno być: 
PageTop[wan]: H1 WAN - wszyscy razem /H1 
 
gdzie oczywiście H1 i /H1 są znacznikami html i powinny być w nawiasach ostrych 
 
Micard

Tylko zarejestrowani użytkownicy mogą pisać komentarze.
Prosze zaloguj się i dodaj komentarz.

Powered by AkoComment!

Ostatnio aktualizowany ( niedziela, 15 stycznia 2006 )

« wstecz   dalej »
Ciekawostki
By powtórzyć ostatnią komendę w csh, wpisz "!!".
Pobierz
FreeBSD
OpenBSD
NetBSD
DragonFlyBSD
PC-BSD
FreeSBIE LiveCD
4.4BSD Lite
Reklama M3M.pl
Domeny
Książki

FreeBSD. Księga eksperta

FreeBSD. Księga eksperta

Cena: 125.00 zł
Dodaj do koszyka


FreeBSD. Podstawy administracji systemem

FreebBSD

Cena: 64.90 zł
Dodaj do koszyka


OpenBSD. Podstawy administracji systemem

OpenBSD

Cena: 84.90 zł
Dodaj do koszyka


OpenBSD. Tworzenie firewalla za pomocą PF

Firewall PF

Cena: 44.90 zł
Dodaj do koszyka

Licznik odwiedzin
Odwiedziło już nas
2522109
Internautów od lutego 2003

Korzystamy ze statysyk