Es gibt eigentlich einen viel einfacheren Weg, dies zu tun.
Download/Dokumentation: autodrgrep.kl.sh
Befehl:
./autodrgrep.kl.sh notchef /tmp/client.log '2016-05-08_08:00:00,2016-05-08_23:00:00' 'INFO' 'a2ensite' 5 10 -show
Erläuterung:
autodrgrep.kl.sh ist der Name des Tools.
notchef ist eine Option, die an das Werkzeug übergeben wird, um ihm mitzuteilen, was es tun soll. In diesem speziellen Fall teilt sie dem Tool mit, welcher Typ von Protokolldatei /tmp/client.log ist.
/tmp/client.log ist natürlich die Protokolldatei.
2016-05-08_19:12:00,2016-05-08_21:13:00 ist der Datumsbereich innerhalb des Protokolls, den Sie durchsuchen möchten
“INFO” ist eine der Zeichenketten, die in den Zeilen des Protokolls stehen, an denen Sie interessiert sind.
“a2ensite” ist eine weitere Zeichenkette in der gleichen Zeile, in der Sie die “INFO”-Zeichenkette zu finden erwarten. Die Angabe dieser beiden Zeichenketten (INFO und a2ensite) isoliert und verarbeitet die gewünschten Zeilen viel schneller, besonders wenn Sie es mit einer großen Protokolldatei zu tun haben.
5 gibt eine Warnung an. Durch die Angabe von 5 weisen Sie das Programm an, als WARNUNG zu alarmieren, wenn mindestens 5 Vorkommen der von Ihnen angegebenen Suchzeichenfolgen vorhanden sind
10 gibt Critical an. Durch die Angabe von 10 weisen Sie das Programm an, als KRITISCH zu alarmieren, wenn die angegebenen Suchstrings mindestens 10 Mal vorkommen.
-show gibt an, welche Art von Antwort Sie erhalten werden. Durch die Angabe von -shown sagen Sie, dass, wenn etwas gefunden wird, das mit den angegebenen Mustern übereinstimmt, die Ausgabe auf dem Bildschirm erfolgt.
Beispiellauf:
# ./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
Was ist, wenn der vom Benutzer angegebene Datumsbereich oder Zeitrahmen nicht im Protokoll enthalten ist?
Jeder Lauf des obigen Befehls enthält immer eine Zeile (letzte Zeile der Ausgabe), die entweder “ATWFILF” oder “ETWNFILF” lautet.
ATWFILF bedeutet, dass der tatsächliche Datumsbereich oder Zeitrahmen, den Sie gesucht haben, im Protokoll gefunden wurde. Dies ist also sehr gut.
ETWNFILF bedeutet, dass der tatsächliche Datumsbereich oder Zeitrahmen, den Sie gesucht haben, NICHT im Protokoll gefunden wurde. In diesem Fall wird die Zeit, die der von Ihnen angegebenen Zeit am nächsten liegt, ermittelt und stattdessen verwendet.