Hallo zusammen,
kennt Ihr ein schlankes Tool, was als Service läuft und ein bestimmtes Logfile in Echtzeit monitoren und Aktionen auslösen kann?
Gegeben sei ein Service, der zwar fleissig in ein Logfile schreibt, aber keine Möglichkeit besitzt, bei einem bestimmten Ereignis ein Script auszulösen. Somit bleibt mir nur das Parsen dieses Logfiles in Echtzeit. Dann soll eine passende RegEx zum Starten eines Scripts führen.
Danke vorab && Viele Grüße /marian
Am 30. Januar 2018 16:59:41 MEZ schrieb Marian Neubert lug-dd@tesla-crew.de:
Hallo zusammen,
kennt Ihr ein schlankes Tool, was als Service läuft und ein bestimmtes Logfile in Echtzeit monitoren und Aktionen auslösen kann?
Ich nehme an, ein Shell-Skript wurde schon ausgeschlossen?
tail -f $LOGFILE | grep 'regex' | while read LINE; do execute_things done
tut genau, was du möchtest. Wenn wir von Hunderttausenden von Logzeilen pro Sekunde reden, könnten die Pipes ein Problem sein. Wenn es mehrere Regexen und entsprechende Aktionen sind, könnte die Erweiterung dessen eklig werden. Ansonsten sollte das die optimale Lösung sein.
Schöne Grüße Stefan
Hi Stefan,
Ich nehme an, ein Shell-Skript wurde schon ausgeschlossen?
tail -f $LOGFILE | grep 'regex' | while read LINE; do execute_things done
tut genau, was du möchtest. Wenn wir von Hunderttausenden von Logzeilen pro Sekunde reden, könnten die Pipes ein Problem sein. Wenn es mehrere Regexen und entsprechende Aktionen sind, könnte die Erweiterung dessen eklig werden. Ansonsten sollte das die optimale Lösung sein.
das wäre sicher eine schnelle und umsetzbare Lösung. Interessant wäre gewesen, ob es eine paketierte Alternative zu tail -f gibt, bei der ich nicht erst ein Script drum herum bauen muss ;-)
Grüße /marian
Am Dienstag, 30. Januar 2018, 18:01:23 CET schrieb Marian Neubert:
Hi Stefan,
Ich nehme an, ein Shell-Skript wurde schon ausgeschlossen?
tail -f $LOGFILE | grep 'regex' | while read LINE; do execute_things done
tut genau, was du möchtest. Wenn wir von Hunderttausenden von Logzeilen pro Sekunde reden, könnten die Pipes ein Problem sein. Wenn es mehrere Regexen und entsprechende Aktionen sind, könnte die Erweiterung dessen eklig werden. Ansonsten sollte das die optimale Lösung sein.
das wäre sicher eine schnelle und umsetzbare Lösung. Interessant wäre gewesen, ob es eine paketierte Alternative zu tail -f gibt, bei der ich nicht erst ein Script drum herum bauen muss ;-)
(Irgendetwas wird immer drum herum sein müssen. Und Stefans Script bekommt Note 1 für Übersichtlichkeit von mir.)
Mit https://de.wikipedia.org/wiki/Nagios und Co, wirst Du kein "Script drum herum bauen müssen", Dich dafür aber in dicken configs verlieren.
Die 2200 Zeilen von man socat (cat für sockets als Ersatz für tail oben) wollen auch erst mal verstanden und sinnvoll genutzt werden.
"Stay With Stefan" Bernhard
Servus,
(Irgendetwas wird immer drum herum sein müssen. Und Stefans Script bekommt Note 1 für Übersichtlichkeit von mir.)
Dito.
Die 2200 Zeilen von man socat (cat für sockets als Ersatz für tail oben) wollen auch erst mal verstanden und sinnvoll genutzt werden.
Das hatte ich tatsächlich im Blick und kam auf das gleiche Ergebnis: zu komplex.
"Stay With Stefan"
Und genau das werde ich tun.
Danke in die Runde! /marian
Hi Stefan,
Ich nehme an, ein Shell-Skript wurde schon ausgeschlossen?
tail -f $LOGFILE | grep 'regex' | while read LINE; do execute_things done
tut genau, was du möchtest. Wenn wir von Hunderttausenden von Logzeilen pro Sekunde reden, könnten die Pipes ein Problem sein. Wenn es mehrere Regexen und entsprechende Aktionen sind, könnte die Erweiterung dessen eklig werden. Ansonsten sollte das die optimale Lösung sein.
das wäre sicher eine schnelle und umsetzbare Lösung. Interessant wäre gewesen, ob es eine paketierte Alternative zu tail -f gibt, bei der ich nicht erst ein Script drum herum bauen muss ;-)
Grüße /marian
Du suchst nach sec - https://simple-evcorr.github.io/. Läuft als Dienst und überwacht beliebige Logfiles nach beliebigen Mustern um bei deren Auftreten beliebige Aktionen zu starten.
Grüße
Am 30.01.2018 um 16:59 schrieb Marian Neubert:
Hallo zusammen,
kennt Ihr ein schlankes Tool, was als Service läuft und ein bestimmtes Logfile in Echtzeit monitoren und Aktionen auslösen kann?
Gegeben sei ein Service, der zwar fleissig in ein Logfile schreibt, aber keine Möglichkeit besitzt, bei einem bestimmten Ereignis ein Script auszulösen. Somit bleibt mir nur das Parsen dieses Logfiles in Echtzeit. Dann soll eine passende RegEx zum Starten eines Scripts führen.
Danke vorab && Viele Grüße /marian
lug-dd@mailman.schlittermann.de