Er is eigenlijk een veel gemakkelijkere manier om dit te doen.
Download/Documentatie: autodrgrep.kl.sh
Commando:
./autodrgrep.kl.sh notchef /tmp/client.log '2016-05-08_08:00:00,2016-05-08_23:00:00' 'INFO' 'a2ensite' 5 10 -show
Uitleg:
autodrgrep.kl.sh is de naam van het programma.
notchef is een optie die aan het gereedschap wordt doorgegeven om het te vertellen wat het moet doen. In dit geval wordt verteld wat voor soort logbestand /tmp/client.log is.
/tmp/client.log is natuurlijk het logbestand.
2016-05-08:19:12:00,2016-05-08:21:13:00 is het bereik van de datum in het log dat je wilt scannen
“INFO” is een van de strings die in de regels van de logs staan waarin je geïnteresseerd bent.
“a2ensite” is een andere string op dezelfde regel waar je de “INFO” string op verwacht te vinden. Het specificeren van deze twee strings (INFO en a2ensite) isoleert en verwerkt de regels die je wilt hebben een stuk sneller, vooral als je te maken hebt met een enorm logbestand.
5 specificeert Waarschuwing. Met 5 geef je aan dat het programma een WAARSCHUWING moet geven als de opgegeven zoektermen minstens 5 keer voorkomen.
10 geeft Critical aan. Door 10 op te geven, laat je het programma waarschuwen als CRITISCH als de opgegeven zoektermen ten minste 10 keer voorkomen.
-show geeft aan wat voor soort reactie je krijgt. Door -shown te specificeren, zeg je dat als er iets gevonden wordt dat overeenkomt met de gespecificeerde patronen, er uitvoer naar het scherm komt.
Steekproefrun:
# ./autodrgrep.kl.sh notchef /tmp/client.log '2016-05-08_19:12:00,2016-05-08_21:13:00' 'INFO' 'a2ensite' 5 10 -show
[2016-05-08 19:12:58-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 19:12:58-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 19:12:58-07:00] INFO: execute[a2ensite default] ran successfully
[2016-05-08 19:13:09-07:00] INFO: Processing execute[a2ensite nagios3.conf] action run (logXrayServer::install line 24)
[2016-05-08 19:13:12-07:00] INFO: execute[a2ensite default] sending restart action to service[apache2] (delayed)
[2016-05-08 19:42:57-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 19:42:57-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 19:42:57-07:00] INFO: execute[a2ensite default] ran successfully
[2016-05-08 19:43:08-07:00] INFO: Processing execute[a2ensite nagios3.conf] action run (logXrayServer::install line 24)
[2016-05-08 19:43:11-07:00] INFO: execute[a2ensite default] sending restart action to service[apache2] (delayed)
[2016-05-08 20:12:58-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 20:12:58-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 20:12:58-07:00] INFO: execute[a2ensite default] ran successfully
[2016-05-08 20:13:10-07:00] INFO: Processing execute[a2ensite nagios3.conf] action run (logXrayServer::install line 24)
[2016-05-08 20:13:12-07:00] INFO: execute[a2ensite default] sending restart action to service[apache2] (delayed)
[2016-05-08 20:42:59-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 20:42:59-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 20:42:59-07:00] INFO: execute[a2ensite default] ran successfully
[2016-05-08 20:43:09-07:00] INFO: Processing execute[a2ensite nagios3.conf] action run (logXrayServer::install line 24)
[2016-05-08 20:43:12-07:00] INFO: execute[a2ensite default] sending restart action to service[apache2] (delayed)
[2016-05-08 21:12:59-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 21:12:59-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 21:12:59-07:00] INFO: execute[a2ensite default] ran successfully
23
2---78720---23---ATWFILF---(2016-05-08)-(19:12)---(2016-05-08)-(21:13) SEAGM
*Wat als het door de gebruiker opgegeven datumbereik of tijdsbestek niet in het logboek staat? *
Elke run van bovenstaand commando heeft altijd een regel (laatste regel van de uitvoer) met de tekst “ATWFILF” of “ETWNFILF”.
ATWFILF betekent dat het door u gezochte datumbereik of tijdskader in het log is gevonden. Dit is dus heel goed.
ETWNFILF betekent dat het huidige datumbereik of het huidige tijdsbestek waarnaar u vroeg NIET in het logboek is gevonden. In dit geval zal de tijd die het dichtst bij de door u opgegeven tijd ligt worden opgespoord en gebruikt.