Dies war eine sehr zeitaufwendige Aufgabe. Und ja, es musste unbedingt ein Skript erstellt werden, wenn Sie nach mehreren Zeichenfolgen in mehreren verschiedenen Protokollen gleichzeitig suchen möchten. Aber ich musste das kürzlich tun und es war ziemlich schmerzhaft. Trotzdem ist es fertig und kann unter folgendem Link heruntergeladen werden:
Protokollsuchskript herunterladen
Die Art und Weise, wie dies funktioniert, ist ziemlich einfach.
Szenario 1: Überwachen Sie EINE Zeichenfolge in nur EINER Protokolldatei
./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open' '.' 1 2 single_errCheck -ndshow
Szenario 2: Überwachen Sie MEHRERE Zeichenfolgen in nur EINER Protokolldatei
./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 multi_errCheck -ndshow
Szenario 3: Überwachen Sie einzelne / mehrere Zeichenfolgen in mehreren Protokolldateien
./logsearch.sh localhost /var/tmp/logXray autonda /var/log 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 multi_err_multi_logCheck -ndshow
Anmerkungen:
Das _P_ bedeutet ODER - Es ersetzt die Pipe "|" Symbol, da es weniger wahrscheinlich ist, dass Sie nach einer Zeichenfolge suchen müssen, die "_P_" enthält. Wenn Sie "_P_" nicht eingeben möchten, können Sie _P_ einfach durch "|" ersetzen.
Bei Verwendung dieses Skripts werden folgende Parameter häufig geändert:
- Die zu überwachende Protokolldatei oder das zu überwachende Protokollverzeichnis
- Das Alter einer Protokolldatei muss angegeben sein, damit sie überwacht werden kann. Sie darf keine Protokolldatei mit einem Zeitstempel von mehr als 60 Minuten überwachen oder erkennen
- Die Zeichenfolgen / Muster, auf die Sie achten möchten
- Das Tag - Dies ist das vorletzte Argument, das Sie angeben müssen. Es zeichnet Statistiken über die Protokolldatei (en) auf, die Sie unter / var / tmp / logXray überwachen
- Die Protokolloption -ndshow - Dies ist der Parameter, den Sie verwenden möchten, wenn Sie die Einträge aus den gefundenen Protokollen ausgeben möchten, die mit den von Ihnen angegebenen Mustern übereinstimmen. Wenn Sie nur die Gesamtzahl der gefundenen Muster anzeigen möchten, ersetzen Sie einfach '-ndshow' durch '-ndfoundmul'.
Wenn Sie '-ndfoundmul' verwenden, erhalten Sie eine Ausgabe ähnlich der folgenden:
[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)
Lösung für das Problem mit dem Originalposter: In mehreren Protokolldateien nach mehreren Zeichenfolgen suchen
./logsearch.sh localhost /var/tmp/logXray autonda /var/log 60m 'fatal_P_error_P_critical_P_failure_P_warning' '.' 1 2 multierr_logCheck -ndshow
Betriebssysteme: Dies wurde unter Ubuntu und Red Hat getestet
grep
kann mehr als ein Dateiargument annehmen.