Toon posts:

ppstats, logfile-compressor, iprange 1 naampje..?

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

Verwijderd

Topicstarter
Leuk een team, met een server.. Mét stats, de mensen met vaste IP's een naampje, maar toen waren er een paar inbel-accounts.. Die willen nu ook een naampje.. Hoe?

Striplog had ik gezien, maar die werkt nie helemaal (bestand bestaat uit 1 regel met een # ervoor ?)

Wie helpt mij?
Groeten, Nappie

  • pinball
  • Registratie: Oktober 1999
  • Niet online

pinball

Electric Monk

kijk hier onder proggies, daar staat de hele versie van striplog.

Whenever you find that you are on the side of the majority, it is time to reform.


Verwijderd

Topicstarter
Ja, en dát programmatje.. zipje.. als ik dat download (óf op een windhoos-bak, óf op een linux-bak), dan is het echte pl-bestand ten eerste niet executable (na chmod wel), en ten tweede begint die ene regel die in da bestand staat met een #.. Oftewel: alle regels zijn samengenomen in 1 regel! ;(

Verwijderd

Dan is hier her proggie compleet als text file bij gevoegd.
Ook heb ik een kleine fout er uit gehaald.
Biglog en smalllog waren verkeerd geplaatst.

#!/usr/bin/perl
#
# Dit script comprimeert pproxy log files tot 1 regel per ip-range per dag.
# Ondertussen doet het wat zoek- en vervang werk, waardoor hele ip-ranges onder een vaste
# naam in je ppstats terecht komen.
#
# 5 dingen die je in kan/moet stellen:
#
# 1:
# In de ppstats-rc5.ini:
# de regel: LogPre = "pinproxyrc5" # For rc5pkeyYYYYMMDD
# zetten (die staat er al, alleen ff pinproxy ipv pproxy).
# Zorg ervoor dat hieronder de paden bij de regels $biglog en $smallog kloppen!
#
# 2:
# In je ppstats-rc5.ini:
# CacheDays = 500 # Days to store cache before refreshing.
# Dan probeert ie niet steeds 10.1.x.x op te zoeken
#
# 3: In de ppstats-rc5.ini het consolidate UIT zetten
# ConsHosts = 0 # Do not consolidate hosts.
# #ConsHosts = 1 # Consolidate hosts.
#
# 4:
# Zie hieronder, bij: "Vul hieronder zelf de ip-ranges aan."
#
# 5:
# Zie hieronder bij: "Wil je oude logs doen?"
#
#succes!

sub nice_time
{
my @gmt = gmtime(shift @_);
my $i;

$gmt[4]++;
$gmt[5] += 1900;

for ($i = 0; $i < 5; $i++) {
while (length($gmt[$i]) < 2) {
$gmt[$i] = "0" . $gmt[$i];
}
}

return ($gmt[0], $gmt[1], $gmt[2], $gmt[3], $gmt[4], $gmt[5], $gmt[6]);
}

( $sec, $min, $hour, $mday, $month, $year, $wday) = nice_time(time);


# Wil je oude logs doen? zet een hekje voor de bovenste $logdate
# en haal het bij de onderste weg, en vul de juiste datum in.
# Bij "normale" werking moet het staan zoals nu.
# draai het script vervolgens zelf voor elke logfile die je wil doen
# (wel steeds datum aanpassen ofcourse)

$logdate = "$year$month$mday";
#$logdate = 20001012;


undef %full;
undef %final;

$smallog = "e:/proxy/pproxyrc5" . $logdate . ".log";
$biglog = "e:/proxy/pinproxyrc5" . $logdate . ".log";

open (LEES, '<'."$biglog");

while (defined($entry = <LEES>)) {
chomp($entry);
$entry =~ tr/A-Z/a-z/;

($datetime, $ipaddr, $email, $block, $nkeys, $os, $cpu, $ver, $space) = split(/,/, $entry);

# Vul hieronder zelf de ip-ranges aan.
# bijv: 195.121.x.x (WXS) wordt vervangen door 10.1.1.3
# in de rc5-dns.cache vul ik in:
# 10.1.1.3,NAAM_VAN_DE_GOZERT_DIE_WXS_GERUIKT,2000/09/14
# 10.1.1.4,NAAM_VAN_DE_GOZERT_DIE_WANNADOO_GERUIKT,2000/09/14
# hele adressen mogen ook, als je maar een \ voor de punt zet. (bv 212\.195\.23\.128)

$ipaddr =~ s/^213\.75..+/10.1.1.1/; #peter en ingrid
$ipaddr =~ s/^195\.241\.187.+/10.1.1.2/; #twan TIP/wol
$ipaddr =~ s/^195\.241\.188.+/10.1.1.2/; #twan TIP/wol
$ipaddr =~ s/^222\.222\.222\.222+/10.1.1.2/; #twan
$ipaddr =~ s/^213\.116\..+/10.1.1.3/; #henry uu.net
$ipaddr =~ s/^212\.136\.242.+/10.1.1.3/; #henry uu.net
$ipaddr =~ s/^212\.153\.223.+/10.1.1.3/; #henry uu.net
$ipaddr =~ s/^195\.121\.156.+/10.1.1.3/; #henry uu.net
$ipaddr =~ s/^1\.1\.1\.1+/10.1.1.4/; #wim
$ipaddr =~ s/^2\.2\.2\.2+/10.1.1.5/; #ouwe koe
$ipaddr =~ s/^33\.33\.33\.33+/10.1.1.6/; #dnb
$ipaddr =~ s/^111\.111\.111\.111+/10.1.1.7/; #jvd
$ipaddr =~ s/^195\.241\.195.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.241\.199.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.241\.216.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.241\.219.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.241\.222.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.241\.225.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.241\.227.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.241\.228.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.241\.230.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.241\.232.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.241\.233.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.241\.239.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.241\.246.+/10.1.1.7/; #jvd WOL
$ipaddr =~ s/^195\.121\.35.+/10.1.1.8/; #Bloemen corso
# $ipaddr =~ s/^194\.134\..+/10.1.1.8/; #voorbeeld

$main="$email,$ipaddr,$os,$cpu,$ver";

if (defined($full{$main})) {
$full{$main} += "$nkeys";
$full{$main}{$main} = "$datetime,$block"; }
else {
$full{$main} = "$nkeys";
$full{$main}{$main} = "$datetime,$block"; }

}

close LEES;

if (defined(%full)) {
foreach $main (keys %full) {
($email, $ipaddr, $os, $cpu, $ver, $space) = split(/,/, $main);
($datetime, $block) = split(/,/, $full{$main}{$main});
$final{"$datetime,$ipaddr,$email,$block,$full{$main},$os,$cpu,$ver"} = 0;
}

open (SCHR, '>'."$smallog");
foreach $main (sort (keys %final)) { print SCHR "$main\n"; }
close SCHR; }


____________________________________
Gebruik nu maar de knip en plak optie om die tekst hier boven in een tekstverwerker te stoppen en save hem als striplog.pl

En hierbij dank ik de maker voor dit programma.

Oja, zorch er wel voor dat je pjuter de datum weergeeft als 2000 10 13 dus yyyymmdd anders heeft het programma een probleempje.

  • pinball
  • Registratie: Oktober 1999
  • Niet online

pinball

Electric Monk

Erm.... je hebt gelijk :o

Ik heb er even een nieuwe versie neergezet waar ik iets minder linebreaks heb verwijderd :)

Whenever you find that you are on the side of the majority, it is time to reform.