In realtà c'è un modo molto più semplice per farlo.
Download/Documentazione: autodrgrep.kl.sh
Comando:
./autodrgrep.kl.sh notchef /tmp/client.log '2016-05-08_08:00:00,2016-05-08_23:00:00' 'INFO' 'a2ensite' 5 10 -show
Spiegazione:
autodrgrep.kl.sh è il nome dello strumento.
notchef è un'opzione che viene passata allo strumento per dirgli cosa fare. In questo caso particolare, sta dicendo allo strumento che tipo di file di log /tmp/client.log è.
/tmp/client.log è ovviamente il file di log.
2016-05-08_19:12:00,2016-05-08\21:13:00 è l'intervallo di date all'interno del log che vuoi analizzare
“INFO” è una delle stringhe che si trova nelle righe di log che ti interessano.
“a2ensite” è un'altra stringa sulla stessa linea in cui ti aspetti di trovare la stringa “INFO”. Specificando queste due stringhe (INFO e a2ensite) si isolano ed elaborano le linee che si desidera molto più velocemente, in particolare se si ha a che fare con un file di log enorme.
5 specifica Warning. Specificando 5, stai dicendo al programma di avvisare come WARNING se ci sono almeno 5 occorrenze delle stringhe di ricerca che hai specificato
10 specifica Critical. Specificando 10, stai dicendo al programma di avvisare come CRITICO se ci sono almeno 10 occorrenze delle stringhe di ricerca che hai specificato.
-show specifica che tipo di risposta otterrete. Specificando -shown, stai dicendo che se viene trovato qualcosa che corrisponde ai modelli specificati, l'output sullo schermo.
Esecuzione di esempio:
# ./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
**Che cosa succede se l'intervallo di date o il lasso di tempo specificato dall'utente non è nel registro?
Ogni esecuzione del comando di cui sopra avrà sempre una riga (l'ultima dell'output) che dice o “ATWFILF” o “ETWNFILF”.
ATWFILF significa che l'effettivo intervallo di date o l'intervallo di tempo che avete richiesto è stato trovato nel registro. Quindi questo è molto buono.
ETWNFILF significa che l'intervallo di date o il lasso di tempo che hai richiesto non è stato trovato nel registro. In questo caso, il tempo più vicino al tempo che hai specificato sarà rilevato e usato al suo posto.