Hallo,
ich würde gerne den Traffic überwachen der über einen Switch geht. Als kleines Testobjekt hab ich hier einen Cisco Catalyst 1900. Kann diesen auch mit SNMP abfragen.
Beim googeln bin ich auf mrtg gestoßen.
mrtg zeigt mir aber scheinbar nur kb/s also das was momentan über den Port geht.
Was ich jedoch gern hätte ist etwas wie im August sind auf Port 22 insgesamt 5GB Traffic entstanden....
ist sowas möglich? Ich vermute ja nur wie? :-)
Gruß
Phil
AFAIK dürfte das nicht gehen - der Switch analysiert die Pakete ja nicht auf derart hoher Protokollebene - du könntest maximal einen Port als Sniffing-Port definieren und dort alles mitlesen und analysieren lassen...
Was ich jedoch gern hätte ist etwas wie im August sind auf Port 22 insgesamt 5GB Traffic entstanden....
ist sowas möglich? Ich vermute ja nur wie? :-)
auch mit mrtg, brauchst ein volumenscript, zB. das hier: http://www.kordecki.de/mrtg/src.html
mrtg.cfg
ACHTUNG: der Name für den Volumeneintrag muss der Name des Eintrags der Bandbreite mit _v sein, also z.B. localhost_3 -> localhost_3_v
### Volume Interface 3 ###
Target[localhost_3_v]: `/usr/local/bin/mrtg_vol.pl /usr/local/httpd/data/default/mrtg localhost_3`
Title[localhost_3_v]: Traffic Analysis for DSL -- atom
MaxBytes[localhost_3_v]: 131072
Options[localhost_3_v]: gauge,absolute,growright,nopercent,noinfo,integer
kilo[localhost_3_v]: 1024
kMG[localhost_3_v]: MB,GB,TB
SetEnv[localhost_3_v]: MRTG_INT_IP="DSL Volume" MRTG_INT_DESCR="MB"
ShortLegend[localhost_3_v]:
YLegend[localhost_3_v]: Volumen
PageTop[localhost_3_v]: ...
mrtg_vol.pl
Das Script bekommt als Parameter den Pfad auf die MRTG-Logfiles und das Interface, für das die Volumenverechnung gemacht werden soll.
Das Script geht davon aus, das die Einheit in den MRTG-Logfiles Bytes ist, sollten es evtl. andere Einheiten sein, muß noch ein entsprechender Faktor eingebaut werden.
Hier kann mein mrtg_vol.pl runtergeladen werden.
#!/usr/bin/perl
$PATH=$ARGV[0];
$LOGFILE=$ARGV[1];
$IFILE="$PATH/${LOGFILE}.log";
$OFILE="$PATH/${LOGFILE}_v.log";
open IF,$IFILE or die "Kann $IFILE nicht zum lesen oeffnen: $!\n";
$sum=<IF>;
@data=<IF>;
close IF;
$time=0;
foreach $line (reverse @data) {
$lasttime=$time;
($time,$in,$out,$maxin,$maxout)=split / /,$line;
$lasttime=$time-1 if ($lasttime==0) ;
$lastmon=$mon;
($sec,$min,$std,$mtag,$mon,$year,$yday,$isdst)=loc altime($time);
if ($mon != $lastmon) {
$insum=0;
$outsum=0;
}
$delta=$time-$lasttime;
$insum+=int(($in*$delta)/(1024*1024));
$outsum+=int(($out*$delta)/(1024*1024));
push @outline,"$time $insum $outsum 0 0\n";
}
open OF,">$OFILE" or die "Kann $OFILE nicht zum schreiben oeffnen: $!\n";
print OF $sum;
foreach $line (reverse @outline) {
print OF $line;
}
close OF;
print "$insum\n$outsum\n".localtime(time())."\nVolumen\n"
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.