[BASH] Parsing logs wat te doen met logrotates

Pagina: 1
Acties:

  • djack
  • Registratie: September 2002
  • Laatst online: 11-11-2024
ik moet scriptje schrijven dat per dag gaat bij houden hoeveel records er van een bepaald type in een logfile is gekomen.

Nu loop ik tegen een probleem aan dat op deze log ook een logrotate loopt die wanneer de logfile groter is dan X de waardes niet meer correct zijn voor die dag.

Because Great minds Think alike


  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 16:31

TheDane

1.618

Je zou voorafgaand aan het uitvoeren van je script mergelog kunnen gebruiken op je logbestanden. Dit doe ik ook, in mijn geval om van de som van diverse virtual hosts een totaal per server te kunnen genereren in webalizer.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

En nu is het probleem...?

Je script kan geen waardes erbij gaan verzinnen. Als het één keer per dag runt, dan kan het alleen op dat moment een momentopname maken van je huidige logs, that's it.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • djack
  • Registratie: September 2002
  • Laatst online: 11-11-2024
Het probleem is dat ik deze waardes elke 5 minuten wil weten. om zo een mooie trend te zien. Deze trend samen met cpu memory disk ... en nog wat andere data kunnen mij een aanwezig geven van wat er mis is...

Because Great minds Think alike


  • servies
  • Registratie: December 1999
  • Laatst online: 23:49

servies

Veni Vidi Servici

djack schreef op dinsdag 08 september 2009 @ 14:25:
ik moet scriptje schrijven dat per dag gaat bij houden hoeveel records er van een bepaald type in een logfile is gekomen.

Nu loop ik tegen een probleem aan dat op deze log ook een logrotate loopt die wanneer de logfile groter is dan X de waardes niet meer correct zijn voor die dag.
Ik zou zeggen: kijk even naar webalizer hoe zij dit hebben opgelost.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

djack schreef op dinsdag 08 september 2009 @ 14:35:
Het probleem is dat ik deze waardes elke 5 minuten wil weten. om zo een mooie trend te zien. Deze trend samen met cpu memory disk ... en nog wat andere data kunnen mij een aanwezig geven van wat er mis is...
Dan maak je een cronjob die elke 5 minuten draait en schrijf je je bevindingen weg, om vervolgens in een cronjob die eens per dag draait het zaakje leuk te groeperen waar nodig? Ik begrijp nog steeds het probleem niet echt.

Los daarvan: Waar hoort mijn topic?

PRG>>NOS

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Orion84
  • Registratie: April 2002
  • Laatst online: 20:16

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

NMe schreef op dinsdag 08 september 2009 @ 15:01:
[...]
Ik begrijp nog steeds het probleem niet echt.
Zijn probleem is dat er onafhankelijk van zijn analyse scriptje een logrotate plaatsvindt en zijn script daardoor niet de juiste waardes teruggeeft, omdat die waarschijnlijk enkel de huidige logfile uitleest en niet het archief wat wordt bijgehouden door het rotate mechanisme.

Je zult dus inderdaad moeten zorgen dat het script op de een of andere manier over de hele set logfiles werkt, in plaats van alleen de actieve file.

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


  • FiscBiker
  • Registratie: April 2003
  • Laatst online: 20:48
Je kan ook dat log uit je newsyslog.conf halen en zelf rotaten in je parsing script

if [ uur = 0 ]
then
 gzip log
 cat /dev/null > log
fi

  • cherwin
  • Registratie: Maart 2006
  • Niet online
FiscBiker schreef op dinsdag 08 september 2009 @ 15:11:
Je kan ook dat log uit je newsyslog.conf halen en zelf rotaten in je parsing script

if [ uur = 0 ]
then
 gzip log
 cat /dev/null > log
fi
Heb je al eens erover nagedacht wat er gebeurt als log.gz bestaat? Daarbij heb je op deze manier maar 2 logs, namelijk het bestand log en log.gz, terwijl je er hoogstwaarschijnlijk meer wilt hebben. Verder zal deze script nooit draaien want "uur" zal nooit gelijk zijn aan "0", daar "uur" geen variabele is. Ook weet je niet in welke dir je nou bent.

Verder is mij niet duidelijk wat nu het probleem is van djack, aangezien dit relatief triviaal is om op te lossen.

Tell me your problem, not the solution you think I should build for you.


Verwijderd

Een wat andere benadering ;)

Kun je niet de waardes in de door logrotate gearchiveerde logs tellen?

Overigens ben ik best nieuwsgierig wat het probleem is. En aangezien je het over CPU en Memory hebt niet beter tools zoals SAR kunt gebruiken: http://www.linux.com/archive/feature/52570

[ Voor 48% gewijzigd door Verwijderd op 08-09-2009 21:38 ]


  • FiscBiker
  • Registratie: April 2003
  • Laatst online: 20:48
cherwin schreef op dinsdag 08 september 2009 @ 16:49:
[...]


Heb je al eens erover nagedacht wat er gebeurt als log.gz bestaat? Daarbij heb je op deze manier maar 2 logs, namelijk het bestand log en log.gz, terwijl je er hoogstwaarschijnlijk meer wilt hebben. Verder zal deze script nooit draaien want "uur" zal nooit gelijk zijn aan "0", daar "uur" geen variabele is. Ook weet je niet in welke dir je nou bent.
Als ik dacht dat het een echt script was, had ik het wel tussen script tags gezet.

  • cherwin
  • Registratie: Maart 2006
  • Niet online
FiscBiker schreef op woensdag 09 september 2009 @ 11:06:
[...]


Als ik dacht dat het een echt script was, had ik het wel tussen script tags gezet.
Dus het is geen script? Wat is het dan, een fout voorbeeld?

Tell me your problem, not the solution you think I should build for you.


  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 23:25

CAPSLOCK2000

zie teletekst pagina 888

Je kan logrotate configureren om je scriptje direct voor een rotatie te draaien. Je moet het totaal dan wel ergens opslaan en de volgende keer verekenen, maar dat moet je op een of andere manier toch doen.

This post is warranted for the full amount you paid me for it.


  • Orion84
  • Registratie: April 2002
  • Laatst online: 20:16

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

cherwin schreef op woensdag 09 september 2009 @ 11:47:
[...]

Dus het is geen script? Wat is het dan, een fout voorbeeld?
Een ruwe schets van een oplossing in de vorm van een stukje pseudo code?

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


  • cherwin
  • Registratie: Maart 2006
  • Niet online
Wat FiscBiker heeft getypt is geen pseudocode imo.
As the name suggests, pseudocode generally does not actually obey the syntax rules of any particular language; there is no systematic standard form, although any particular writer will generally borrow style and syntax for example control structures from some conventional programming language
Dit script daarentegen draait gewoon, alleen heeft het niet de verwachte uitkomst. Maargoed, het is niet relevant voor de TS :)

[ Voor 4% gewijzigd door cherwin op 09-09-2009 12:09 ]

Tell me your problem, not the solution you think I should build for you.


  • serkoon
  • Registratie: April 2000
  • Niet online

serkoon

mekker.

Je zou ook 'tail -F $logfile | $tooltje' kunnen doen, waarbij tail ervoor zorgt dat de logfile opnieuw geopend wordt na rotation.
Pagina: 1