liczniki z iptables w SNMP

Andrzej 'The Undefined' Dopierała undefine w aramin.net
Pon, 5 Mar 2007, 23:17:53 CET


On Mon, Mar 05, 2007 at 09:16:34PM +0100, Arkadiusz Rdest wrote:
> >>Czy ktoś robi coś takiego? Jakieś wskazówki?
> 
> skrypcik wyciagajacy potrzebne dane i prezentujacy je w jakiejs latwej 
> do parsowania formie i podpiety do snmp a maszyna zbierajaca logi i 
> rysujaca staty to osobny komp.
da.
do tego maszyn "z danymi" może być kilka lub kilkanaście ;)

> > jeżeli maszynka która robi nat itepe jest na linuksie, to imho
> > przesada...
> 
> jesli ktos lubi staty i chce znac podzial ruchu, to zadna przesada :)
> fajnie sie potem oglada takie wykresiki.
ano. nie kwestionuje potrzeby zbierania i prezentowania informacji na
temat ruchu ;)

> > jak dla mnie dużo prościej i wydajniej będzie bezpośrednie wrzucanie
> > informacji do skryptów, ew własne pluginy które to odczytują. Lub w
> > sytuacji gdy router != maszyna logująca - jakiś mały serwer www który
> > serwuje odpowiednie pliki przez cgi, oraz skryptologia na maszynie
> > logującej.
> 
> czy jest jaks roznica w wydajnosci? bo imho wygodniej wystawiac takie 
> dane via snmp (w koncu to tego sluzy) niz stawiac jeszcze na takim 
> kompie dodatkowy serwer www, ktory bedzie zuzywal pamiec i proca chyba 
> duzo wiecej niz demon snmp.
hm.. na zdrowy rozum
"zebranie" informacji ignoruje, bo trzeba je wyciagnąć niezależnie od
sposobu w jaki są zbierane. ale samo przesłanie ich przez snmp oznacza
conajmniej 2 pakiety udp(zapytanie/odpowiedz) na informacje o ip/kierunek lub
ip/kierunek/przeslane bajty/przeslane pakiety. co daje w sytuacji gdy
chcemy logowac rowniez ilosc przeslanych pakietow dla jednej klasy
wielkosci C 256 * 2 * 2 * 2 = 2048 przeslanych osobno pakietow. w
sytuacji gdy jest tych klas kilkanascie lub kilkadziesiat - wychodzi
calkiem spory ruch pakietowy. i sądzę że przesłanie tego w jednej lub
kilku sesji tcp będzie po prostu wydajniejsze(zamiast odpytywać np 20tys
razy na minutę routery odpytujemy je raz i przesyłamy całość po tcp, a
później sobie parsujemy).

oczywiscie jezeli danych jest malo wygodniej będzie skorzystać z snmp do
udostępnienia informacji np o ruchach na interfejsach ;)

co do szczegółów - mały serwer umiejący cgi (np boa) i jako cgi coś w
stylu:

#v+
#!/bin/sh
printf "Content-Type: text/plain\n\n"
cat /proc/net/ipt_account/networks_* |grep -v "0 0 0 0 0"
#v-

(grep -v - by niepotrzebnie nie przesyłać nieużywanych ip ;) - account
zbiera całą klasę)

a na maszynce zbierającej prosty skrypcik w perlu który ściaga z
routerków takie "pliki" i uaktualnia bazy rrdtoolem.

-- 
Andrzej 'The Undefined' Dopierała
UNIX && Linux administrator,      Adam Mickiewicz University WMiI
PLD Linux Developer      HomePage: http://andrzej.dopierala.name/
JID: undefine w piastlan.net         e-mail: andrzej w dopierala.name


Więcej informacji o liście dyskusyjnej pld-users-pl