[Debian] Apache rotatelogs en Webalizer

Pagina: 1
Acties:

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik draai Debian met Apache enzo. Apache maakt elke dag een nieuwe log aan (rotatelogs), dat werkt perfect, alleen hoe geef ik in Webalizer aan dat Apache dit doet. Dus dat Webalizer steeds de laatste logs neemt.
Het is overigens niet de bedoeling al die logs files weer in 1 bestand te stoppen, omdat deze gewoon te groot wordt.

Alvast bedankt.

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Incremental op yes zetten in je webalizer.conf :)

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Dat heb ik, maar wat geef je dan op voor bestandsnaam naar de log, deze is namelijk altijd anders.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Het probleem is dat je in de webalizer.conf een filename moet opgeven naar je log, maar deze is dus elke dag anders, namelijk: /var/log/apache/access_log.nnn (nnn=timestamp).

Wat moet ik nu opgeven in de webalizer.conf?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Iemand?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Marcel
  • Registratie: Juli 1999
  • Laatst online: 15-08 11:12
Ah, op die fiets. Is dit een standaard apache van Debian?
Het loopt bij mij anders (debian unstable, apache 1.3.23), namelijk access_log, en dan access_log.1.gz t/m access_log.7.gz. Geen timestamps te bekennen.

  • MikeN
  • Registratie: April 2001
  • Laatst online: 22:38
Als incremental aan staat zal webalizer nog steeds niet de andere logbestanden opzoeken. Het enigste wat hij doet, is dat hij bijhoudt waar hij was gebleven. Hij gooit dan dus de oude data niet weg, als hij die niet meer in het logbestand kan vinden. Wat je dus moet doet is:

• Incremental aan
• Webalizer draaien
• Log rotaten
• Webalizer draaien
• Log rotaten
• ...enz.

Zolang je maar steeds eerst even webalizer draait voordat je je logs naar een ander bestand toe gooit, zal het goed gaan.

Dit zegt de README erover:
The Webalizer also attempts to prevent data duplication by keeping
track of the timestamp of the last record processed. This timestamp
is then compared to current records being processed, and any records
that were logged previous to that timestamp are ignored. This, in
theory, should allow you to re-process logs that have already been
processed, or process logs that contain a mix of processed/not yet
processed records, and not produce duplication of statistics. The
only time this may break is if you have duplicate timestamps in two
separate log files... any records in the second log file that do have
the same timestamp as the last record in the previous log file processed,
will be discarded as if they had already been processed. There are
lots of ways to prevent this however, for example, stopping the web
server before rotating logs will prevent this situation. This setup
also necessitates that you always process logs in chronological order,
otherwise data loss will occur as a result of the timestamp compare.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Maar het is dus zo dat die bestandsnamen van die Apache logs steeds weer anders zijn, er zit namelijk een timestamp achter.

Ik gebruik gewoon de rotatelogs functie van Apache.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Marcel
  • Registratie: Juli 1999
  • Laatst online: 15-08 11:12
Draai je webalizer op de commandline manier of via een configfile? Via de commandline kun je hem naar het juiste bestand sturen door de logfile aan te duiden als
code:
1
access_log.`date +"%y%m%d"`

Met wat voor timestamp ze nu worden weggeschreven weet ik natuurlijk niet, maar op een vergelijkbare manier zou het toch moeten lukken.

  • MikeN
  • Registratie: April 2001
  • Laatst online: 22:38
Op zondag 17 februari 2002 15:06 schreef jelmervos het volgende:
Maar het is dus zo dat die bestandsnamen van die Apache logs steeds weer anders zijn, er zit namelijk een timestamp achter.

Ik gebruik gewoon de rotatelogs functie van Apache.
Voor elk logbestand moet je webalizer een keer starten.
Hij zorgt er dan vanwege de incremental optie automatisch voor dat hij alleen de nieuwe dingen toevoegd.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Wat ook een idee is misschien, is de laatste 2 logs files samenvoegen met cat en die aan webalizer voeren.
Dat samenvoegen kan mooi in de cron.daily van webalizer.

Maar hoe voeg ik de laatste 2 log files samen. Het gaat om de 2 nieuwste bestanden zeg maar.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • MikeN
  • Registratie: April 2001
  • Laatst online: 22:38
Op maandag 18 februari 2002 10:21 schreef jelmervos het volgende:
Wat ook een idee is misschien, is de laatste 2 logs files samenvoegen met cat en die aan webalizer voeren.
Dat samenvoegen kan mooi in de cron.daily van webalizer.

Maar hoe voeg ik de laatste 2 log files samen. Het gaat om de 2 nieuwste bestanden zeg maar.
Dat ruikt naar shell-scripts... Ik ben weg :+

FF serieus, met cat bestandnaam1 bestandnaam2 plak je ze aan elkaar geloof ik. Nu nog zorgen dat je de goede datums hebt. Daarvoor moet je een beetje scripten denk ik.
Pagina: 1