#c:\perl # getlog-klw.pl # # Author: Paul Simmonson # Edited to Print 2 variables by Kerry Werry # # Input: filename of Windows 2000 Performance monitor log file (must be CSV format) # Name of log item to extract # eg. perl getlog-fixed.pl c:\perflogs\K6.csv "\\K6\LogicalDisk(C:)\value1" "\\K6\LogicalDisk(C:)\value2" # Output: mrtg data format # $STUFF=@ARGV[0]; open STUFF or die "Cannot open $STUFF for read :$!"; @entries = ; @details=split /,/, @entries[0]; #get the first line of the log file @lastline=split /,/, @entries[$#entries]; #get last line of log file #find the entry that matches $ARGV[1] INBOUND green graph $index=-1; for $entry (@details) { $index++; $entry=~ tr/"//d; chomp ($entry); $last=$entry; last if $entry eq $ARGV[1]; } if ($last eq $ARGV[1]) { $dataIN=@lastline[$index]; $dataIN=~ tr/"//d; $dataIN = int($dataIN+0.5); } else { $dataIN = 0; } #find the entry that matches $ARGV[2] OUTBOUND blue graph $index=-1; for $entry (@details) { $index++; $entry=~ tr/"//d; chomp ($entry); $last=$entry; last if $entry eq $ARGV[2]; } if ($last eq $ARGV[2]) { $dataOUT=@lastline[$index]; $dataOUT=~ tr/"//d; $dataOUT = int($dataOUT+0.5); } else { $dataOUT = 0; } print "$dataIN\n"; print "$dataOUT\n"; print "0\n"; print "0\n";