Per IP traffic monitoring / graphing

Pagina: 1
Acties:
  • 250 views sinds 30-01-2008
  • Reageer

  • mph_rbi
  • Registratie: Januari 2001
  • Niet online
Voor een ISP ben ik van plan een systeem op te zetten voor monitoring en graphing van ip verkeer. De ISP maakt gebruik van dsl lijnen richting klanten en heeft op dit moment tot maximaal 2500 ip adressen in gebruik.

De ISP wil echter voor dialup en DSL klanten per IP adres (of subnetje van 4, 8 of 16) kunnen zien wat de data usage is, met historie. De main router (bgp) draait zebra op freebsd, dus geen cisco waar je misschien iets met accounting kunt doen.

Zelf zat ik te denken aan RRD en Cricket, maar heb geen enkel idee hoe zich dit gaat gedragen qua performance. Heeft iemand hier een nuchter en duidelijk idee over?

dus ...


  • nielsj
  • Registratie: Juli 1999
  • Laatst online: 25-04 00:25

nielsj

ondertitel

rrd en cricket bevallen goed om (veel) grafiekjes mee te maken. hier heb ik met een dual p3 1gig ongeveer 800 targets die elke 5 minuten gemonitord worden. dat loopt prima.

maar cricket kan waardes uit lezen, (snmp of scriptjes of zo) waar ga je de waardes mee meten?
ip accsum?

misschien kan je op de switch waar de zebra machine een mirror port maken naar een andere machine, zo dat je daar met een ip accsum / ntop achtige applicate het tellen doet.

ben benieuwd wat je bevindingen zijn.

blup blup


  • raymonvdm
  • Registratie: December 2001
  • Laatst online: 30-06-2025
Ik heb ooit dit gevonden ik gebruik het alleen nog niet omdat ik nog een manier moet vinden om de scripts windows2k compatible te maken http://www.raxnet.net/products/cacti/


Ben wel benieuwd naar je bevindingen ik zoek namelijk nog iets voor 100 cisco devices.

  • Predator
  • Registratie: Januari 2001
  • Laatst online: 09:55

Predator

Suffers from split brain

Er bestaat een goed pakket voor dat soort zaken, alleen kost het muchos dineros:
http://www.infovista.com/ en zou je er eigenlijk een Cisco router met een Netflow module moeten voor hebben.

Dingen zoals cacti/mrtg/rrdtool werken puur op basis van de SNMP waarden van het dataverkeer op laag 2 en niet op IP niveau.
Je zal dus iets moeten draaien op dat systeem zelf of zoals NielsJ al aangaf via de switch een alle verkeer ook een andere poort laten zetten.
Ntop is veel te cpu intensief om je router te draaien lijkt me, en biedt niet genoeg functionaliteit.

Voor FreeBSD is er een port voor:
netams
maar je moet eens in de documentatie gaan kijken, slechts een klein deel is in het engels :/
Je kan ook eens kijken naar:
TAS

Eventueel kan je nog IP verkeer tellen met firewall rules & uitlezen met een script als input voor mrtg achtige toestanden.

Everybody lies | BFD rocks ! | PC-specs


  • The Jester
  • Registratie: Januari 2000
  • Laatst online: 26-11-2024

The Jester

The fool escaped from paradise

Waarom niet MRTG ??
Kun je kiezen of je per adres, subnet of interface wil meten en is nog gratis ook!

As you grow up and leave the playground where you kissed your prince and found your frog...


  • jep
  • Registratie: November 2000
  • Laatst online: 27-04 22:42

jep

The_Jester schreef op 09 May 2003 @ 14:00:
Waarom niet MRTG ??
Kun je kiezen of je per adres, subnet of interface wil meten en is nog gratis ook!
Met welke modules ga je dat bereiken? :)

  • The Jester
  • Registratie: Januari 2000
  • Laatst online: 26-11-2024

The Jester

The fool escaped from paradise

Jep:
Sorry, 'k had idd ff beter moeten lezen :D

As you grow up and leave the playground where you kissed your prince and found your frog...


  • jep
  • Registratie: November 2000
  • Laatst online: 27-04 22:42

jep

offtopic:
Het kan wel hoor, maar dan wel in combinatie met andere tools en een bultje scripts. In principe kan mrtg van alle getallen grafiekjes bouwen.

  • jvhaarst
  • Registratie: Maart 2000
  • Laatst online: 03-04 22:46

jvhaarst

Eendracht maakt macht

rrd is opvolger van mrtg.

If you don’t have enough time, stop watching TV.


  • jep
  • Registratie: November 2000
  • Laatst online: 27-04 22:42

jep

Wat doet RRD wat mrtg niet doet ei'k? Ik doe alles nog met MRTG, werkt perfect.

  • Egbert
  • Registratie: Juni 1999
  • Laatst online: 26-04 10:53
Wat ik zou doen:
Iets van tcpdump draaien, uit de stroom gegevens daarvan random een X% grondig onderzoeken op src/dest ip/poort etc, en die gegevens via snmp door mrtg ofzo elke paar minuten laten opvragen. En dat dan bij voorkeur op een aparte machine aan gemirrored switchpoortje.
Ik weet niet of tcpdump constant laten draaien goed gaat, of dat daar misschien wat geavanceerdere progjes voor zijn, die zelf bijvoorbeeld al meteen een deel van gegevens droppen.

  • jvhaarst
  • Registratie: Maart 2000
  • Laatst online: 03-04 22:46

jvhaarst

Eendracht maakt macht

If you know MRTG, you can think of RRDtool as a reimplementation of MRTGs graphing and logging features. Magnitudes faster and more flexible than you ever thought possible
en ook
RRDtool is not a replacement for MRTG, as it does not implement the frontend and data aquisition features of MRTG (MRTG can be configured to use RRDtool as its database backend and together with a cgi grapher like 14all or mrtg-rrd all your mrtg graphs can be generated on demand).
Voor meer info :
http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/

If you don’t have enough time, stop watching TV.


  • raymonvdm
  • Registratie: December 2001
  • Laatst online: 30-06-2025
Maar zijn er nog meer tools ?

Cacti werkt niet onder windows en MRTG is veel te veel handwerk is er niet iets wat dit alles automatisch kan.

Verwijderd

Het monitoren is wel te doen op zich. Je zult zeker wel op je switch traffic info kunnen uitlezen van poorten en/of vlans.

Het optellen en weergeven is idd wat anders. Cricket en mrtg gebruik ik zelf veel, maar als je elke 5 mins stats gaat maken van je traffic dan moet je toch een beestig zware bak hebben. Thuis gebruik ik zelf ipac-ng, die logt traffic via iptables en gaat bij een aanroep van ipacsum die getallen optellen. Dan heb je dus alleen maar intensief rekenwerk bij het opvragen en niet bij het loggen zelf.

(cricket rekent ook alleen maar bij het opvragen, maar dat is niet ideaal om totalen te doen, wel om het verbruik/tijd weer te geven)

  • mph_rbi
  • Registratie: Januari 2001
  • Niet online
oke .. allereerst hoeft het niet onder windows te draaien. Het draait op FreeBSD 4.8-RELEASE. Ik ben aan het hobbyen gegaan met ipcad (ip cisco accounting daemon) en ipfm (ip flow meter) onder freebsd en werkt vrij aardig alleen moet ik nog iets zien te vinden om ipcad te koppelen aan Cricket.
Iemand verdere ideeen, of zijn er mensen die met hetzelfde bezig zijn ? (lijkt me stug, maar ala :-))

dus ...


  • jvhaarst
  • Registratie: Maart 2000
  • Laatst online: 03-04 22:46

jvhaarst

Eendracht maakt macht

Freshmeat heeft er 10, en deze leek me ook wel interessant : http://www.csa.ru/~max/others/tas/TAS.html

[ Voor 31% gewijzigd door jvhaarst op 12-05-2003 19:00 ]

If you don’t have enough time, stop watching TV.


Verwijderd

Waaren in cricket voeren is makkelijker dan mrtg, alleen moet je eerst wel een Defaults file maken en dan targets opgeven. Staat mooi uitgelegd in de docs, het meeste is gewoon copy/paste werk.

  • DDX
  • Registratie: April 2001
  • Nu online

DDX

wij doen het hier op basis van iptables (linux)
wat we eens in de 15 minuten in een database inlezen
(die we daarna kunnen raadplegen voor traffic stats per ip/periode etc)

https://www.strava.com/athletes/2323035


  • mph_rbi
  • Registratie: Januari 2001
  • Niet online
Ja, maar dan moet je dus wel rules gedefinieerd hebben die daadwerkelijk over dat ene ip adres gaan niet?

Over Cricket. Ik vat nog steeds niet (goed) hoe ik nu simpelweg waardes uit een script (bedoeld voor mrtg) in cricket kan gebruiken.

Bijvoorbeeld een script wat gewoon :
20
20
uitspuugt.

dus ...


Verwijderd

Predator schreef op 09 May 2003 @ 13:58:
Dingen zoals cacti/mrtg/rrdtool werken puur op basis van de SNMP waarden van het dataverkeer op laag 2 en niet op IP niveau.
Huh :?

Ik dacht dat je willekeurige SNMP waarden kan uitlezen, dus ook die van de IP laag, of de serverbelasting, of de maanstand (als je een maanstandmeter in de computer hebt, en een module hebt voor snmpd die dit dan aan een management tool kan doorgeven)

  • Predator
  • Registratie: Januari 2001
  • Laatst online: 09:55

Predator

Suffers from split brain

Verwijderd schreef op 13 mei 2003 @ 18:42:
[...]
Huh :?

Ik dacht dat je willekeurige SNMP waarden kan uitlezen, dus ook die van de IP laag, of de serverbelasting, of de maanstand (als je een maanstandmeter in de computer hebt, en een module hebt voor snmpd die dit dan aan een management tool kan doorgeven)
Natuurlijk kan je willekeurige SNMP waarden uitlezen. Maar een gewone switch of router heeft helemaal geen MIB object voor IP verkeer per subnet, zelfs niet van het IP verkeer, wat de topicstarter nodig heeft, laat staan dat ie het bijhoudt.

De mooie dataverkeer grafiekjes die je ziet is het datalink verkeer (waar natuurlijk ook alle IP verkeer inzit) van het MIB object ifInOctets gedefinieerd in de MIB-II standaard MIB.

[ Voor 3% gewijzigd door Predator op 13-05-2003 18:55 ]

Everybody lies | BFD rocks ! | PC-specs


Verwijderd

Predator schreef op 13 May 2003 @ 18:54:
Maar een gewone switch of router heeft helemaal geen MIB object voor IP verkeer per subnet, [...]
Zebra is toch geen gewone router?

(Volgens $topicstarter ging het over een FreeBSD machine met Zebra.)

  • Predator
  • Registratie: Januari 2001
  • Laatst online: 09:55

Predator

Suffers from split brain

Verwijderd schreef op 13 May 2003 @ 19:04:
[...]
Zebra is toch geen gewone router?

(Volgens $topicstarter ging het over een FreeBSD machine met Zebra.)
Toont u mij het MIB object dan maar eens wat jij gaat opvragen + in welke MIB die gedefiniëerd is.

[ Voor 7% gewijzigd door Predator op 13-05-2003 19:07 ]

Everybody lies | BFD rocks ! | PC-specs


Verwijderd

Predator schreef op 13 mei 2003 @ 19:05:
Toont u mij het MIB object dan maar eens wat jij gaat opvragen + in welke MIB die gedefiniëerd is.
Bijvoorbeeld: ipInReceives, ipForwDatagrams, ipOutRequests. Gedefinieerd in IP-MIB.txt, onderdeel van ucd-snmp.

Overigens gaat dit mij eigenlijk veel te diep. Ik ben geen SNMP held. Verder dan dit kom ik niet.

Maar in het geval van $topicstarter denk ik dat het niet eens noodzakelijk is. Een scriptje op de Zebra server moet toch in staat zijn om een kernel-tabelletje te lezen en een bestandje weg te schrijven op een nfs server of zo?

Verwijderd

Zebra is een routing daemon, die doet toch niets aan traffic accounting. ucd-snmp is de snmpd daemon, haal die 2 dingen niet door elkaar.

En mrtg/cricket staan los van SNMP. Toevallig kun je met cfgmaker wel een snmp host walken en dan een mooi mrtg scriptje genereren wat snmpget gebruikt, maar datzelfde kun je net zo goed met perl/bash/php/... scriptjes doen. Die dingen nemen gewoon waarden en houden die bij + plotten die over de tijd heen in mooie grafiekjes.

Alleen is snmp handig omdat zowat elk hardware apparaat daar support voor heeft. En voor remote dingen is het gewoon het makkelijkste om te gebruiken.

  • Predator
  • Registratie: Januari 2001
  • Laatst online: 09:55

Predator

Suffers from split brain

Verwijderd schreef op 13 May 2003 @ 19:36:
[...]
Bijvoorbeeld: ipInReceives, ipForwDatagrams, ipOutRequests. Gedefinieerd in IP-MIB.txt, onderdeel van ucd-snmp.
Kijk dan ook eens in de MIB en lees het DESCRIPTION veld ;)

Dan zal je zien dat het alle IP verkeer is, en dus niet per subnet. :P


Er is zonder probleem wel een MIB & toestel met SNMP agent die MIB ondersteund te vinden, alleen zit je zoals in m'n eerste post al zei op Cisco netflow achtige toestanden.

[ Voor 22% gewijzigd door Predator op 13-05-2003 20:20 ]

Everybody lies | BFD rocks ! | PC-specs


Verwijderd

hmm

ik gebruik het volgende voor me ip's op 1 server, misschien dat er wat mee mogelijk is.
http://rousse.pm.org/sasacct/

waarschijnlijk is het niet helemaal wat je zoekt maar misschien kan je er wat mee :)

  • mph_rbi
  • Registratie: Januari 2001
  • Niet online
Predator schreef op 13 May 2003 @ 20:13:
[...]

Kijk dan ook eens in de MIB en lees het DESCRIPTION veld ;)

Dan zal je zien dat het alle IP verkeer is, en dus niet per subnet. :P


Er is zonder probleem wel een MIB & toestel met SNMP agent die MIB ondersteund te vinden, alleen zit je zoals in m'n eerste post al zei op Cisco netflow achtige toestanden.
Leuk en aardig maar je kunt met SNMP toch alleen resultaten op interface niveau zien en niet per ip? Dit is daarom ook zinloos om het met SNMP te doen, tenzij iemand anders een beter idee heeft.

dus ...


  • DDX
  • Registratie: April 2001
  • Nu online

DDX

mph_rbi schreef op 13 May 2003 @ 18:30:
Ja, maar dan moet je dus wel rules gedefinieerd hebben die daadwerkelijk over dat ene ip adres gaan niet?
sure, scriptje die dit laad :

#insert accounting rules for range.*
i=1;
while `let "i < 255"`; do
iptables -t mangle -A PREROUTING -i eth0 -d range.$i
iptables -t mangle -A PREROUTING -i eth1 -d range.$i
iptables -t mangle -A POSTROUTING -o eth0 -s range.$i
iptables -t mangle -A POSTROUTING -o eth1 -s range.$i
i=$[$i+1];
done

en daarna iedere 15 minuten :

iptables -t mangle -Z -nxvL|grep "\--"|grep -v " 0 0 all"|proggiewathetnaarsqlzet

https://www.strava.com/athletes/2323035


  • mph_rbi
  • Registratie: Januari 2001
  • Niet online
ja.. inderdaad, maar vreet dit niet ontzettend aan je CPU ? Anyway, ik draai FreeBSD, dus dan is dit niet aan de orde (helaas).
Ik heb ondertussen eens zitten kijken naar Argus. Lijkt me een mooi programma, maar ben nog niet echt tot een werkend resultaat gekomen. Ik wil dus een daemon hebben draaien ala ipcad, ipfm, argus, etc. etc. Vervolgens wil ik met een shell script het volgende doen :

get_results.sh [ipaddress]

welke bytes in en bytes out als output geeft (bits is ook prima natuurlijk)

dus ...


  • DDX
  • Registratie: April 2001
  • Nu online

DDX

mph_rbi schreef op 14 May 2003 @ 01:27:
ja.. inderdaad, maar vreet dit niet ontzettend aan je CPU ? Anyway, ik draai FreeBSD, dus dan is dit niet aan de orde (helaas).
valt wel mee, het zal wel iets aan performance kosten (net zoals normale firewall rules dat doen)
maar de router heeft geen problemen met 100mbit te routeren

maar freebsd heeft toch ook wel zoiets als iptables ?

https://www.strava.com/athletes/2323035


  • mph_rbi
  • Registratie: Januari 2001
  • Niet online
nee.. FreeBSD heeft ipfw en IPFILTER, maar ik zou niet weten of dit interessant is.

dus ...


  • raymonvdm
  • Registratie: December 2001
  • Laatst online: 30-06-2025
Maar hoe ga ik dit aanpakken dan met


- 50 Cisco switches
- 30 Cisco Routers
- 20 Wireless Bridgen


Ik gebruik nu mrtg voor een paar delen alleen trekt m`n server het al niet meer. Het is een Proliant 400 met 768MB geheugen en als os Win2k Server

  • mph_rbi
  • Registratie: Januari 2001
  • Niet online
Met Cricket! :-)

dus ...


  • Movinghead
  • Registratie: November 2001
  • Laatst online: 01-06-2025

Movinghead

ing.

Misschien heb je iets aan Solarwinds http://www.solarwinds.net/

Orion pakket

Hiermee kan je op basis van SNMP en MIB alles monitoren wat het ook maar SNMP ondersteunt.
Dit pakket heeft een database wat op MS SQL 2000 server draait. Het grootste pakket van Orion kan 10.000 nodes monitoren.
Mocht er iets uitvallen kan je het een email laten sturen of een smsje

Zie deze link voor een live demo van Orion
http://npmv6.solarwinds.net/NetPerfMon/Login.asp

[ Voor 14% gewijzigd door Movinghead op 15-05-2003 15:37 . Reden: ? ]


  • SED
  • Registratie: Januari 2000
  • Laatst online: 27-04 21:16

SED

Inderdaad, als Solarwinds het niet kan monitoren bestaat het niet ;)

Maar dat kost dan ook wel even wat....

Copyright and left by SED...


  • mph_rbi
  • Registratie: Januari 2001
  • Niet online
ja precies, maar er moet toch een relatief simpele manier zijn om ip traffic uit te 'kleden' en het dataverkeer per ip adres om te zetten naar mrtg 'achtige' stats (2 variabelen) ?

dus ...


Verwijderd

Ja met snmp op die switches en routers en dan cricket gebruiken om te graphen !

Maar om de 5 mins 100 devices querien lijkt me geen simpele taak, dus je zult er toch wat cpu power tegenaan moeten gooien.

Per dag monitoren kan, maar dan loop je het risico dat bepaalde traffic tellers al gecycled zijn... cfr. het 32bit counter en gigabit ethernet probleem met snmp.

  • real-doc
  • Registratie: Mei 2003
  • Niet online
Maak een opstartscript in /usr/local/etc/rc.d met de volgende inhoud:
code:
1
2
3
4
/sbin/ipfw add 200 count ip from any to <<myhost1>> in recv xl0
/sbin/ipfw add 201 count ip from <<myhost1>> to any out xmit xl0
/sbin/ipfw add 202 count ip from any to <<myhost2>> in recv xl0
/sbin/ipfw add 203 count ip from <<myhost2>> to any out xmit xl0

Zo ga je verder voor ieder IP. De nummers laat je oplopen.


Dan maak je nog een shellscript, bijvoorbeeld /usr/local/etc/mrtgstats.sh met deze inhoud:
code:
1
2
3
4
5
6
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
# incoming
ipfw -a l $1 |awk '{print $3}'
# outgoing
ipfw -a l $2 |awk '{print $3}'



Vervolgens zet je voor iedere host waar je een grafiekje van wil het volgende in je mrtg.cfg
code:
1
2
3
4
Target[<<myhost1>>]: `/usr/local/bin/mrtgbw.sh 200 201`
MaxBytes[<<myhost1>>]: 12500000
Title[<<myhost1>>]: Bandwidth Usage
PageTop[<<myhost>>]: <h1><<myhost1>></h1>

Laat hier de 200 en 201 ook oplopen.
Pagina: 1