awstats mit gz-Daateien

Bash, Shell, PHP, Python, Perl, CGI
lutz.wolf
Posts: 66
Joined: 2003-01-18 17:40

awstats mit gz-Daateien

Post by lutz.wolf »

Hallo Leute,

ich habe awstats am laufen funktioniert auch einwandfrei. Nun will ich die alten access_log, die ja in /home/www/webx/log/old als .gz-Dateien liegen, einbinden.
Hat jemand eine Ahnung wie das geht?

Danke Lutz
morgherkul
Posts: 44
Joined: 2003-08-08 01:08

Re: awstats mit gz-Daateien

Post by morgherkul »

lutz.wolf wrote:Hallo Leute,
Hat jemand eine Ahnung wie das geht?
GZ-Dateien entpacken und zusammenflicken. awstats updaten. Könnte einiges an Arbeit bedeuten, wenn du viele alte Logs einbinden möchtest.

Ob das alles auch automatich geht, kann ich dir nicht sagen. Ich würde es mit einem Skript machen.

Viele Grüße
morgherkul
thorsten
Posts: 561
Joined: 2003-02-01 13:14
Location: Fuldatal

Re: awstats mit gz-Daateien

Post by thorsten »

hmm, hatten wir das nicht neulich schonmal :?

Ich glaub da war die Lösung, dass awstatts von stdin lesen kann und sowas funzen könnte:

Code: Select all

for in in *.gz; do zcat $i | awstats; done
(oder war das nen anderes Forum und nen anderer analyzer???) :roll:
morgherkul
Posts: 44
Joined: 2003-08-08 01:08

Re: awstats mit gz-Daateien

Post by morgherkul »

Thorsten wrote:

Code: Select all

for in in *.gz; do zcat $i | awstats; done
Sorry, aber wie soll das funktionieren :?:
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: awstats mit gz-Daateien

Post by captaincrunch »

Als einfaches Shellscript !?!
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
static
Posts: 437
Joined: 2002-10-27 19:56
Location: Schweiz

Re: awstats mit gz-Daateien

Post by static »

kleiner tippfehler:
for in in
anstatt:
for i in
michas.
Posts: 109
Joined: 2003-03-08 13:08

extratool dazu

Post by michas. »

Da gibt es extra ein Tool dazu, bekomme es aber derzeit noch nicht mit mehreren gz-Dateien zum laufen.
Folgendes war zu finden in der mitgelieferten Beschreibung zu awstats:

logresolvemerge.pl

logresolvemerge allows you to merge several log files into one output,
sorted on date. It also makes a fast reverse DNS lookup to replace
all IP addresses into host names in resulting log file.
logresolvemerge comes with ABSOLUTELY NO WARRANTY. It's a free software
distributed with a GNU General Public License (See COPYING.txt file).
logresolvemerge is part of AWStats but can be used alone as a log merger
or resolver before using any other log analyzer.

Usage:
logresolvemerge.pl [options] file
logresolvemerge.pl [options] file1 ... filen
logresolvemerge.pl [options] *.*
Options:
-dnslookup make a reverse DNS lookup on IP adresses
-dnscache=file make DNS lookup from cache file first before network lookup
-showsteps print on stderr benchmark information every 8192 lines
-addfilenum if used with several files, file number can be added in first
field of output file.

This runs logresolvemerge in command line to open one or several web
server log files to merge them (sorted on date) and/or to make a reverse
DNS lookup. The result log file is sent on standard output.
Note: logresolvemerge is not a 'sort' tool to sort one file. It's a
software able to output sorted log records (with a reverse DNS lookup
made if wanted) even if log records are shaked in several files.


However each of thoose files must be already independently sorted itself
(but that is the case in all web server log files).
logresolvemerge is particularly usefull when you want to merge large log
files in a fast process and with a low use of memory getting records in a
chronological order through a pipe (for use by third tool, like log analyzer).

WARNING: If log files are old MAC text files (lines ended with CR char), you
can't run this tool on Win or Unix platforms.

Now supports/detects:
Automatic detection of log format
Files can be .gz/.bz2 files if zcat/bzcat tools are available in PATH.
New versions and FAQ at http://awstats.sourceforge.net

und im awstats forum:

Our ISP creates a separate log file for each day (access_log.nn) and files are renamed so the oldest is .31 and the newest is .1
Can I configure AWStats to read all these log files? I tried using Access_log.* but that didn't work. I also tried "cat access_log.* |
but AWStats only processes 1 days worth.

My current log analyzer software forces me to copy all log files into one then process it. This is becoming a major problem due to space limitations. If AWStats can't handle multiple log files, does anyone know of a good freeware log analyzer tool which does?
Thanks......brian



By: eldy ( Laurent Destailleur )
RE: Multiple Log Files
2003-10-31 17:05

You can use logresolvemerge.pl tool that was built to solve such problem.

In awstats config:
LogFile="logresolvemerge.pl file1 file2 file3"

The goal is to concat on the fly the several files.
This does not require extra disk space, nor extra memory.


so nun teste ich weiter

MichaS.
darki
Posts: 36
Joined: 2003-11-25 12:57
Location: Karlsruhe

Re: awstats mit gz-Daateien

Post by darki »

Code: Select all

for i in *.gz; do zcat $i | awstats; done
Ich wollte diesen Befehl für mein wöchentliches Update der Statistik benutzen
Da bei mir webX 2 Log-Dateien pro Woche hat, müsste ich es wie machen?!?

Code: Select all

WOCHE='date +%V'
for i in access_log_2003_w$WOCHE-*.gz; do zcat $i;
/pfad/logresolvemerge.pl /pfad/access_log_2003_w$WOCHE-++ >> /pfad/log.datei
awstats.pl -config=xyc -update
rm access_log_2003_w$woche-++
Fragen:

Code: Select all

/pfad/logresolvemerge.pl /pfad/access_log_2003_w$WOCHE-* >> /pfad/log.datei
Unter Windows wuerde ja ">>" bedeuten das der Output in "/pfad/log.datei" geschrieben werden würde. Funktioniert dies auch unter Linux oder welche Möglichkeiten habe ich?

Code: Select all

access_log_2003_w$WOCHE-++
Ich weiss nicht ob ich das mit den Wildcards richtig mache....
Ein "+" steht fuer 1 Zeichen?!?(oder wars doch das "?" oder was ganz anderes?)
moǃ
Posts: 16
Joined: 2003-11-16 21:50

Re: awstats mit gz-Daateien

Post by moǃ »

Hallo,
ich stehe nun leider vor einem ähnlichen Problem. Siehe auch:
http://www.rootforum.org/forum/viewtopic.php?t=19332

Mein Hoster speichert die Logs für jede Woche. Jeder Tag bekommt eine eigene .gz datei. Beispiel logfile.47.1 = logfile für den sonntag in der 47. woche. Wenn die Woche vorbei ist geht es mit 48.1 weiter und die letzte woche wird unter logfile.47.gz gespeichert.

Da ich leider überhaupt kein Perl kann: Wie muss ich die Wildcards setzen? Gibts dafür irgendwo eine FAQ? Wer kann mir helfen?

Auch die readme von der logresolvemerge.pl half mir kaum weiter.

Vielen Dank!