PPstats steeds trager en trager?

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

  • Red devil
  • Registratie: December 1999
  • Nu online
Klopt het dat naarmate je meer logbestanden krijgt het berekeningen van de stats langer duurt? De stats draaien op een Linux dual p3 667 die in het begin rond de 1200 haalde.
Nu haalt ie echter iets rond de 1050.
Hij draait 2 soorten stats telkens om het kwartier dus 8 maal per uur.
Natuurlijk kan ik heel makkelijk dat naar 4x per uur veranderen maar misschien is er een slimmere manier?

Waarom "onthoudt" het perl scriptje niet gewoon de waardes van de vorige dagen en telt daardan de nieuwe bij op?
Als de stats steeds langer duren kan het toch niet anders zijn dan dat ie telkens weer alle log files doorworstelt! |:(

Beetje dom toch? De voorgaande logfiles veranderen immers toch niet, die blijven toch gelijk??? Anyone?

  • DukeBox
  • Registratie: April 2000
  • Niet online
je ontdekking is juist..
oplossing, geen idee.

  • Haranaka
  • Registratie: September 2000
  • Laatst online: 10-05 19:25
Als je Striplog gebruikt van Pinball dan zijn je logs vele malen kleiner en dus is de stats run ook minder belastend voor je pc.

Dit is natuurlijk niet de oplossing, het verschijft alleen het probleem een eind de toekomst in. Er zal later wel een dag komen dat de je zoveel (kleinere) logs hebt dat je weer met hetzelfde probleem zit... :(

...


Verwijderd

Hij worsteld elke keer de logfiles door van wat jouw systeempjes hebben gedumpt, niet de console files.
Dit gaat steeds langer duren naarmaten je meer logfiles krijgt.
Wil je dit probleem oplossen dan zul je de logfiles moetten inkorten of je moet een gedeelte van die files weg gooien.
Voor het eerste is een script geheten striplog, hier mee wordt per IPnummer+per client versie en e-mail adres 1 regel aangemaakt met het totaal aantal blokjes voor die dag, je raakt alleen de tijds info kwijt.
Voor het 2de is het jouw eigen handelen wat het moet doen, werkt ook maar is wel definitief.

Wil je striplog hebben dan kun je dat hier halen.
http://212.187.94.87/index.html en zoek dan even naar de scripts (+/- 133k groot)
Veel suc6.

  • Red devil
  • Registratie: December 1999
  • Nu online
Ok sir kiekeboe, heb hier het perlscriptje van je! Die zal ik eens in mijn stats dumpen en runnen!

Ff testen

[edit1]
als ik het goed begrijp moet ik nu voor elke log file opnieuw het scriptje runnen?
er staat:
draai het script vervolgens zelf voor elke logfile die je wil doen (wel steeds datum aanpassen ofcourse)
Dan moet ik een half jaar logs = 150 keer dingen aanpassen?
[/edit1]

Verder heb ik ongeveer tich entries in mijn rc5-dns-cache
die moet ik dan allemaal aanpassen... hmmm
doe ik wel een keer als ik tijd heb! :)
Als ik een nieuwe statsserver opzet doe ik dat wel.

  • DSmarty
  • Registratie: Februari 2000
  • Niet online
Ik gebruik zelf DRCP voor mijn logfiles, deze zijn nu bijna altijd <30kbyte ipv een aantal mbytes.

  • Red devil
  • Registratie: December 1999
  • Nu online
Op woensdag 31 januari 2001 13:05 schreef DSmarty het volgende:
Ik gebruik zelf DRCP voor mijn logfiles, deze zijn nu bijna altijd <30kbyte ipv een aantal mbytes.
Aha waarmee werkt drcp? met compressie ofzo?
of is het wel een slim progje?
heb je een linkje??
icq#1422348
:)

  • DSmarty
  • Registratie: Februari 2000
  • Niet online
drcp maakt van de logfile een .cmp bestand met daarin gewoon een totaal: ip-adres - email - hoeveelheid - overige gegevens

dat betekent dus dat als jij 2x per dag 10 packets naar mij stuurt, dat ik maar 1 entrie in de log heb ipv 20.
Dat scheelt dus enorm veel!
Mijn proxy heeft ongeveer 200 hosts, dus max. 200 regels in de log, beter dan duizenden.
Ik heb er geen link voor, het komt van Mika af (TA).
Als je het nodig hebt, mail mij maar ff.

Verwijderd

Ik heb dat met die striplog voor de oude files als volgt opgelost.

1) maak een batch bestand aan b.v. backlog.bat
2) deze krijgt de volgende inhoud:
date 30-1-2001
perl striplog.pl
date 29-1-2001
perl striplog.pl
date 28-1-2001
perl striplog.pl
enz. voor iedere dag die gestript moet worden.
Als laatste regel komt dan: date 31-1-2001 of wat de huidige datum dan ook is.
3) zet de perproxy UIT, dit om te voorkomen dat er gedumpt wordt tijdens het uitvoeren van die backlog.
4) draai dat batch bestandje en al je oude log bestanden worden automatiesch verwerkt.

Doe wel even het volgende in de striplog.pl file.
$ipaddr =~ s/^195\.241\.187.+/10.1.1.2/; #persoon1 TIP/wol samen voegen IP adressen
$ipaddr =~ s/^195\.241\.188.+/10.1.1.2/; #persoon1 TIP/wol samen voegen IP adressen
$ipaddr =~ s/^213\.116\..+/10.1.1.3/; #persoon2 uu.net samen voegen IP adressen
$ipaddr =~ s/^212\.136\.242.+/10.1.1.3/; #persoon2 uu.net samen voegen IP adressen
$ipaddr =~ s/^212\.153\.223.+/10.1.1.3/; #persoon2 uu.net samen voegen IP adressen

Als je dit doet dan komen er veel minder regels in de rc5-dns.cache file terecht en die hoef je dan maar 1 keer aan te passen.
Scheelt een hoop werk.

Suc7

  • Koop
  • Registratie: September 1999
  • Laatst online: 22-11-2025

Koop

Go ahead!.. Rake my Hay!

Ik heb een gemodificeerde striplog.pl liggen die je zo kan laten draaien dat ie elke logfile die in een directory staat achter elkaar door jast. :)

als je hem wilt hebben dan kun je me mailen.

(Let op, dit parsen van alle logs kan wel ff duren, dus je moet je reguliere statsrun wel uitzetten, anders krijg je trubbels)

  • ThaDude
  • Registratie: December 2000
  • Laatst online: 13:27

ThaDude

Hang Loose

Heel mooi dat striplog :)

Maar als ik striplog gedraaid heb en alle files pinp.....log zijn geworden. Hiernaar is mijn dns-rc5-cache ook niet anders geworden!?

Als ik hiernaar het ppstats uitvoer loopt Perl helmaal vast en gebeurt er niks meer :'(

Wel zijn de log files verandert en kleiner geworden.

help!!

Tha dude

We're machines just like everything else in nature. (gasloos sinds 01-10-2020, WP: SW75YAA/ERSD-VM2D, DJG WPS 300, 18 hp CPC, 11,1 kWp


Verwijderd

ThaDude, hoeveel mensen zitten er dan wel niet in jou team?
Ik heb hier de boel als volgt ingesteld.

De perproxy maakt pinproxyrc5YYYYMMDD.log bestanden aan.
De striplog maakt hier pproxyrc5YYYYMMDD.log van in een andere map.
ppstats gebruikt die pproxyrc5YYYYMMDD.log en laat dankzij striplog nog maar een 24 entry's in de rc5-dns.cache achter i.p.v. 1000+ wat ontzettend veel scheelt.
Ik denk dat je dus even moet kijken naar waar je perproxy zijn files dumpt en waar ppstats de logfiles vandaan tovert doe je dit niet goed dan blijf je problemen houden.
Wil je een makkelijke oplossing zonder namen te moetten veranderen? laat alleen ppstats uit een andere map de logfiles halen en pas de naam in het striplog aan en laat de boel door boven genoemde batch bestand even omzetten, scheelt echt veel.
KillEmAll, mijn grote voorgrazer heeft zo een stats run van 20min+ terug gebracht naat +/- 1min. en dat is inc. striplog

  • ThaDude
  • Registratie: December 2000
  • Laatst online: 13:27

ThaDude

Hang Loose

Zal hier even de bestandjes neergooien, want Perl heeft er geen zin in :'(

eerst de striplog.pl die is alsvolgt:
#!/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?"
#
# Tip: maak een kopie van je ingevulde dns-cache file,
# voor als ppstats em per ongeluk overschrijft.
# 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 = 20010114;


undef %full;
undef %final;

$biglog = "c:/koe/pproxyrc5" . $logdate . ".log";
$smallog = "c:/koe/logs/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/^194\.235\..+/10.1.1.3/; #Rendekooi
$ipaddr =~ s/^195\.61\..+/10.1.1.3/; #Rendekooi
$ipaddr =~ s/^62\.229\..+/10.1.1.3/; #rendokooi
$ipaddr =~ s/^195\.7\..+/10.1.1.3/; #rendokooi
$ipaddr =~ s/^193\.172\..+/10.1.1.2/; #Daxis
$ipaddr =~ s/^195\.241\..+/10.1.1.1/; #Worldonline
$ipaddr =~ s/^213\.75\..+/10.1.1.5/; #WXS
$ipaddr =~ s/^195\.85\..+/10.1.1.4/; #Freeacces
$ipaddr =~ s/^62\.59\..+/10.1.1.6/; #zonnet
$ipaddr =~ s/^193\.173\.177\.+/10.1.1.7/; #Nok nok
$ipaddr =~ s/^62\.58\..+/10.1.1.8/; #Freeacces
$ipaddr =~ s/^193\.173\.132\.+/10.1.1.9/; #Hccnet
$ipaddr =~ s/^62\.100\..+/10.1.1.10/; #freesurf
$ipaddr =~ s/^212\.123\..+/10.1.1.11/; #wish.net

$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; }

En zo heb ik mijn ppstats-rc5-7.1.pl:
#--- Input Options -----------------------------------------------------------
# Logfile name format information. This script does not correctly support
# formats other than YYYYMMDD. The logs in this example are kept in a
# subdirector called "logrc5", which can be configured in the proxy's ini.
# This script does require that daily logfile rotation is enabled. Other
# rotation time periods are not yet supported. LogDir should end in a "/".
LogDir = "c:/koe/logs/"
LogPre = "pinproxyrc5" # For pproxyrc5YYYYMMDD
LogSuf = "log" # For pproxyrc5YYYYMMDD.log

# The personal proxy can read compressed log files after they have been
# rotated. If you have this proxy option enabled and want to use ppstats,
# configure the following settings. The defaults are for UNIX gzip. Command
# that unzips the logfile to stdout without deleting the file is required.
#ProcessZipLogs = 0 # Ignore zipped log files.
ProcessZipLogs = 1 # Unzip and process all log files.
LogZipSuf = "log.gz" # For rc5pkeyYYYYMMDD.log.gz
LogTmpSuf = "log.tmp" # For rc5pkeyYYYYMMDD.log.tmp
LogDecompressor = "gzip -d -c" # Command line zip decompressor.

# Maximum number of days to read log files. A value of zero means
# read all available log files without limit. A value of 365 would mean
# only read back blocks done in the last year and ignore anything older.
MaxDays = 365


#--- Output Options ----------------------------------------------------------
# Full path to output file location. This should end in a "/".
HtmlDir = "c:/dpc/"

# Full URL of output web file location. This should end in a "/".
HtmlRoot = "http://www.asaputilities.com/dpc/"

# Realitive path to icon folder from htmldir and htmlroot. Default should work
# fine for most cases. This should end in a "/". If you haven't copied
# this folder from the zip distribution to your htmldir now is a good time.
IconDir = "icons/"

# HTML output filenames. You should configure IIS to use index.html as a
# default document, or rename the index.html's to default.htm
htmlteam = "index.html"
htmlexec = "exec.html"
htmlmail = "byemail.html"
htmlhost = "byhost.html"
htmlos = "byos.html"
htmlcpu = "bycpu.html"
htmlver = "byver.html"
htmlfull = "byfull.html"
htmldomain = "bydomain.html"
htmlhour = "byhour.html"
htmldate = "bydate.html"
htmlweek = "byweek.html"
htmlmonth = "bymonth.html"
htmlyear = "byyear.html"
htmldayofweek = "bydaywk.html"
htmlindvemail = "index.html"
htmlemailhist = "emailhist.html"
htmlhostsbyemail = "emailhosts.html"
htmlindvhost = "index.html"
htmlhosthist = "hosthist.html"
htmlemailsbyhost = "hostemails.html"

# Cascading style sheet filename. Will be created by ppstats for you.
css = "ppstats.css"

# All ip addresses from the proxy log files are converted to DNS names and
# then cached for a user defined amount of time. A value of zero means refresh
# on every run. This cache file is saved in your workingdir. If you run
# ppstats on a server with a slow internet connection, use a large cachedays.
CacheFile = "rc5-dns.cache" # DNS cache filename to be created.
CacheDays = 50 # Days to store cache before refreshing.

# GIF based chart options. Be sure to specify the full or relative path to the
# specially compiled GNUplot program with GIF support. Config and data files
# are create by ppstats for you.
GNUPlot = "C:\koe\gnuplot\pgnuplot.exe" # Path to GNUplot executable.
GNUPlotconfig = "gnuplot.ini" # GNUplot config file.
GNUPlotdata = "plot.data" # GNUplot data file.
GNUPlotoutput = "plot.gif" # Output GIF filename.

# The page counter component. See the documentation section above for details
# on how to obtain and use the Count.cgi program. To change the color of the
# displayed count number, change the prgb parameter. Note that you may have to
# do a 'echo "1" > rc5.dat' in your Counter/data folder for this to work. You
# can specify a different hit counter program by changing the counter variable.
UseCounter = 0 # Do not use the hit counter.
# UseCounter = 1 # Use the hit counter.
Counter = "/cgi-bin/Count.cgi?ft=0|tr=1|trgb=000000|srgb=00FF00|prgb=993333|md=8|dd=D|comma=T|df=rc5.dat"

# The By Host information page is sometimes not particularly practical for
# very large teams. You can display this section and ppstats will not record
# blocks submitted by host in any manner. The combined output file size and
# execution time will decrease substantially.
# ShowByHost = 0 # Do not show the By Host section.
ShowByHost = 1 # Show the By Host section.


#--- Format Options ----------------------------------------------------------
# GIF based chart line style option. The default width is 520 and the
# default height is 400. 800 by 600 is nice for people with large monitors.
# Any value of 1 or less will disable the nth-day average feature.
#ChartLineStyle = 1 # Impulses style. Not useful with nth day average.
ChartLineStyle = 2 # Lines style.
#ChartLineStyle = 3 # Linespoints style.
ChartWidth = 520 # GIF image width.
ChartHeight = 400 # GIF image height.
DayAverage = 21 # Days of nth-day average.

# Days to track up/down movement.
MovementDays = 1

# Maximum number of rows to show per category page.
MaxRows = 100

# Number of days to display on the history pages.
DaysHist = 7

# Number of days to display for individual block history.
BlockHistory = 31

# Use header and/or footer banners?
UseHeaderBanner = 0 # Do not use header banner.
#UseHeaderBanner = 1 # Use header banner.
#UseFooterBanner = 0 # Do not use footer banner.
UseFooterBanner = 1 # Use footer banner.

# Consolidate numbers in hosts? ie, host12.myisp.com -> host?.isp.com
# See rc5-domain.cons for a list of domains you wish to manual consolidate.
# See rc5-ip.cons for a list of ip addresses you wish to manual consolidate.
# For instance, an entry in rc5-domain.cons like slashdot.org will consolidate
# the hosts [url="http://www.slashdot.org,"]www.slashdot.org,[/url] ftp.slashdot.org, and slashdot.org into
# ?.slashdot.org Some more examples are provided. Entries in rc5-domain.cons
# and rc5-ip.cons are processed regardless whether or not ConsHosts is
# enabled. Note that rc5-domain.cons works from the right, rc5-ip.cons the
# left. Note that the last entry in each array does not have a comma after it.
ConsHosts = 0 # Do not consolidate hosts.
# ConsHosts = 1 # Consolidate hosts.

Ik hoop dat jullie nu kunnen helpen.
Want op die Amd 233 duren de logs inderdaad behoorlijk tijdje nu

Thanks,

Tha dude

We're machines just like everything else in nature. (gasloos sinds 01-10-2020, WP: SW75YAA/ERSD-VM2D, DJG WPS 300, 18 hp CPC, 11,1 kWp


Verwijderd

BTW Red devil, hoe gaat het met je assimilatie-vorderingen? Ik hoorde in een ander draadje dat je sprak over 126 * duron 800 :9~ :9~ :)

Verwijderd

^
|
|

up!

/me wil weten wat waar is van Red devil's beloften!

  • mardan
  • Registratie: September 2000
  • Laatst online: 05-03 19:39
Ik heb zelf ook zo'n soort script geschreven.
Het script haalt de tijd en key-data weg, scheelt enorm qua logomvang, factor 100 zo'n beetje.
Net als dat andere script worden alle blocken van een IP bij elkaar geteld en in 1 logentrie van een dag gezet.
Je hoeft alleen de logprefix, logdirectory en de geldige emails neer te zetten.
Kijk maar ff of je er wat aan hebt.

http://jumpgate.2y.net/download/pproxylog_compacter.pl

  • pinball
  • Registratie: Oktober 1999
  • Niet online

pinball

Electric Monk

Op donderdag 01 februari 2001 14:29 schreef ThaDude het volgende:

#ProcessZipLogs = 0 # Ignore zipped log files.
ProcessZipLogs = 1 # Unzip and process all log files.
Ik zou deze es op 0 zetten, dan probeert ppstats geen pinproxyrc5xxxxx.gz te openen. Tuulijk moet je dan ook in je proxyper.ini bij [misc] uitzetten dat je je logs gezipt wil hebben.

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


  • Red devil
  • Registratie: December 1999
  • Nu online
Op donderdag 01 februari 2001 15:06 schreef LoWLaNDeR het volgende:
BTW Red devil, hoe gaat het met je assimilatie-vorderingen? Ik hoorde in een ander draadje dat je sprak over 126 * duron 800 :9~ :9~ :)
rustig rustig! :)

Die durons zijn volgens mij (ik moet het ff navragen) al besteld. Als ze dat niet zijn dan wordt dat zeker weten vrij binnenkort nog gedaan. Weest niet bang.
Houdt de dagscores van DBC maar in de gaten, nu nog rond de 65k en dat gaat dus ff iets omhoog! :)
Pagina: 1