Questo è stato un compito che ha richiesto molto tempo. E sì, sicuramente doveva essere creato uno script se stai cercando più stringhe in più registri diversi contemporaneamente. Ma recentemente ho dovuto farlo ed è stato abbastanza doloroso. Tuttavia, è fatto e pronto e può essere scaricato dal seguente link:
Download dello script di ricerca log
Il modo in cui funziona è piuttosto semplice.
Scenario 1: monitorare UNA stringa in UN SOLO file di registro
./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open' '.' 1 2 single_errCheck -ndshow
Scenario 2: monitorare MULTIPLE stringhe in UN UNICO file di registro
./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 multi_errCheck -ndshow
Scenario 3: monitorare stringhe singole / multiple in più file di registro
./logsearch.sh localhost /var/tmp/logXray autonda /var/log 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 multi_err_multi_logCheck -ndshow
Appunti:
Il _P_ significa OR - Sostituisce il tubo "|" simbolo perché è meno probabile che dovrai cercare una stringa contenente "_P_". Se non desideri digitare "_P_", puoi semplicemente sostituire _P_ con "|".
Quando usi questo script, i parametri che cambierai frequentemente sono:
- Il file di registro o la directory di registro da monitorare
- L'età di un file di registro deve essere per poter essere monitorato. Non monitorare né scoprire alcun file di registro che ha un timestamp superiore a 60 minuti
- Le stringhe / i / i / i che vuoi cercare
- Il tag: questo è il penultimo argomento che devi fornire. Registra le statistiche sui file di registro che stai monitorando in / var / tmp / logXray
- L'opzione di registro -ndshow - Questo è il parametro che si desidera utilizzare se si desidera generare le voci dai registri trovati corrispondenti ai motivi specificati. Se vuoi solo vedere il conteggio totale di ogni modello trovato, sostituisci semplicemente '-ndshow' con '-ndfoundmul'.
Quando usi '-ndfoundmul', otterrai un output simile a:
[root@dgphxtest001]# ./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 blahblahA -ndfoundmul
OK: [/var/log/messages][1] /var/log/messages:P=(can_t_open=0 ntpd_stat=0)_F=(117s)_R=(228,228=0)
Soluzione al problema del poster originale: Scansiona più stringhe in più file di registro
./logsearch.sh localhost /var/tmp/logXray autonda /var/log 60m 'fatal_P_error_P_critical_P_failure_P_warning' '.' 1 2 multierr_logCheck -ndshow
Sistemi operativi: questo è stato testato su Ubuntu e Red Hat
grep
può accettare più di un argomento di file.