FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: McShire am 25 Januar 2018, 23:29:03

Titel: [gelöst] FHEM-Logfile durchsuchen
Beitrag von: McShire am 25 Januar 2018, 23:29:03
Hallo alle zusammen,

ich möchte gerne die Logdatei von FHEM (bei mir fhem-2018-01.log) nach bestimmten Wörtern durchsuchen.
Beispiel: alle Netzwerkunterbrechungen finden, in dem nach dem Wort "Netzwerk" gesucht wird.
Mit grep funktioniert das bei mir nicht. Ich erhalte als Ergebnis eine leer Liste mit der Überschrift "Übereinstimmungen in Binärdatei <filespec>".
Wieso Binärdatei, die Logdateien sind doch Textdateien.

Anweisung 1: grep "Netzwerk" /opt/fhem/fhem-2018-01.log
Anweisung 2: cat /opt/fhem/fhem-2018-01.log | grep "Netzwerk"
Beides geht nicht.

Was muss ich tun, um alle Zeilen mit dem Wort "Netzwerk" angezeigt zu bekommen.
Vielen Dank für Eure Hilfe.
Viele Grüße
Werner
Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: KernSani am 25 Januar 2018, 23:33:27
hab's gerade mal schnell ausprobiert:


pi@FHEM /opt/fhem/log $ grep "PRESENCE" fhemlog-2018-01-25.log
2018.01.25 20:51:01 1: UPD FHEM/73_PRESENCE.pm
2018.01.25 20:51:03 1:   - change:  73_PRESENCE: following attributes were renamed:
2018.01.25 20:51:03 1:   - feature: 73_PRESENCE: new set commands overrideInterval and clearOverride


pi@FHEM /opt/fhem/log $ cat fhemlog-2018-01-25.log | grep "PRESENCE"
2018.01.25 20:51:01 1: UPD FHEM/73_PRESENCE.pm
2018.01.25 20:51:03 1:   - change:  73_PRESENCE: following attributes were renamed:
2018.01.25 20:51:03 1:   - feature: 73_PRESENCE: new set commands overrideInterval and clearOverride


Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: P.A.Trick am 25 Januar 2018, 23:39:14
Ich habe mir dafür einen Alias erstellt!

defmod c_greplog cmdalias greplog .* AS {qx(grep -i \'$EVENT\' log/*.log)}
attr c_greplog room _CmdAlias



Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: McShire am 25 Januar 2018, 23:50:40
Danke für den Tip.
Ich bin leider noch Anfänger und verstehe leider nicht genau, was die erste Zeile bewirkt und wie ich dann Stichworte finden kann.
Kannst Du das für mich Laien bitte weiter ausführen.
Danke
Gruß
Werner
Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: McShire am 25 Januar 2018, 23:56:39
Hallo KernSani,
Bei mir funktioniert das leider nicht, warum auch immer.
Die Wörter kann ich im nano Editor mit <Strg> problemlos finden, also sind sie auch da.
aber eine Zusammenfassung mit grep geht nicht.
Stutzig macht mich, dass von einer Binärdatei die Rede ist und nicht von einer Textdatei.
Gruß
Werner
Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: P.A.Trick am 25 Januar 2018, 23:58:55
Gib den Befehl(e) in die Befehlszeile oben ein.
Danach kannst du den alias

greplog <SUCHWORT> direkt oben in der Befehlszeile eingeben und die Ausgabe erscheint im Browser!
Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: McShire am 26 Januar 2018, 00:03:15
Mit den Logfiles für die Geräte funktioniert grep richtig und gibt die korrekte Liste aus, aber eben nicht mit der FHEM-Logdatei.
Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: McShire am 26 Januar 2018, 00:20:12
Hallo P.A.Trick,
habe ich eingegeben. Ich mache das am WEB frontend am PC
Scheinbar durchsucht greplog auch alle logfiles, aber ich bekomme im Web Frontend keine Ausgabe.
Zur Sicherheit habe ich dann noch einmal den kompletten Pfad /opt/log/*log statt log/*log eingegeben.
Aber es tut sich nichts. Auch nicht bei Wörtern in den Geräte-logfiles, bei denen grep ja funktioniert.
Etwas funktioniert mit der Ausgabe nicht
Gruß
Werner
Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: Christoph Morrison am 26 Januar 2018, 00:52:39
Zitat von: McShire am 26 Januar 2018, 00:03:15
Mit den Logfiles für die Geräte funktioniert grep richtig und gibt die korrekte Liste aus, aber eben nicht mit der FHEM-Logdatei.

Was sagt file /opt/fhem/fhem-2018-01.log?
Und was sagt od --format=x1 --read-bytes=10 /opt/fhem/fhem-2018-01.log?
Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: McShire am 26 Januar 2018, 10:04:38
hallo C. M.
auf file /opt/... kommt die Antwort: /opt/fhem/fhem-2018-01.log: data
auf od --format=x1 ... kommt seltsamerweise die Antwort: Datei oder Verzeichnis nicht gefunden.
Ich habe die Schreibweise mehrfach überprüft. Das Ergebnis ist immer das gleiche
Gruß
Werner
Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: Wernieman am 26 Januar 2018, 10:12:08
Also eigentlich sollte so etwas kommen:
file /opt/fhem/log/fhem-2018-01.log
/opt/fhem/log/fhem-2018-01.log: ASCII text, with very long lines

Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: Ralf W. am 26 Januar 2018, 10:33:56
Versuch einmal grep -a Netzwerk /opt/fhem/fhem-2018-01.log ...
Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: McShire am 26 Januar 2018, 12:39:03
Das Alias funktioniert jetzt. Man muss nur sehr, sehr lange warten wegen der Dateigrösse.
Aber die Ausgabe ist die gleiche wie bei grep direkt, keine Übereinstimmun gefunden.

Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: McShire am 26 Januar 2018, 12:47:32
 :) :) :)
Danke allen für die Tips.
Der letzte war erfolgreich.
grep mit der option -a funktioniert, ich bekomme alle Zeilen mit Datum und Uhrzeit angezeigt, in denen keine Verbindung zu Netatmo aufgebaut werden konnte und das Netzwerk nicht available war.
Die Telekom wird sich freuen.
Gruß an alle
Werner
Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: Christoph Morrison am 26 Januar 2018, 13:03:31
Zitat von: McShire am 26 Januar 2018, 12:47:32
grep mit der option -a funktioniert

Du solltest trotzdem versuchen rauszufinden, warum dein Log angeblich eine Binärdatei ist. Bei mir ist er das nämlich nicht und ich sehe auch keinen Grund, warum der Logfile plötzlich binary sein sollte.
Titel: Antw:[gelöst] FHEM-Logfile durchsuchen
Beitrag von: Wzut am 26 Januar 2018, 13:45:47
Zitat von: McShire am 25 Januar 2018, 23:29:03
Anweisung 1: grep "Netzwerk" /opt/fhem/fhem-2018-01.log
Anweisung 2: cat /opt/fhem/fhem-2018-01.log | grep "Netzwerk"
äh ganz sicher das die log Datei wirklich im fhem Ordner direkt liegt und nicht etwa (wie üblich) unterhalb von /opt/fhem/log/ ?
Titel: Antw:[gelöst] FHEM-Logfile durchsuchen
Beitrag von: McShire am 26 Januar 2018, 13:52:28
Das sehe ich auch so. Das kann ja auch noch zu anderen Fehlern führen.
Sobald ich etwas gefunden habe, werde ich informieren.
Titel: Antw:[gelöst] FHEM-Logfile durchsuchen
Beitrag von: McShire am 26 Januar 2018, 14:00:31
Die Datei liegt im Ordner /opt/fhem/log.
Ich hatte mich beim ersten Beitrag vertan, aber immer in .../log mit der Datei gearbeitet.
In den weiteren Beiträgen hatte ich das korrigiert.
Aber es ist eindeutig eine Binärdatei, darum konnte grep die Vergleichswörter als Text nicht finden, sondern erst mit der option -a (behandle die Binärdatei als Textdatei) korrekte Ergebnisse liefern. Auf -a bin ich selber nicht gekommen, da ich nicht so erfahren bin und die Option im Hilfetexte so nicht gesehen hatte.
Titel: Antw:[gelöst] FHEM-Logfile durchsuchen
Beitrag von: Christoph Morrison am 26 Januar 2018, 16:58:29
Zitat von: McShire am 26 Januar 2018, 13:52:28
Das sehe ich auch so. Das kann ja auch noch zu anderen Fehlern führen.
Sobald ich etwas gefunden habe, werde ich informieren.

Versorge uns doch mal mit list vom global- und deinem Filelog-Device.
Titel: Antw:[gelöst] FHEM-Logfile durchsuchen
Beitrag von: McShire am 26 Januar 2018, 23:43:25
Bildschirmkopien von global und logfile siehe Dateianhang.
Kann man diese Info auch besser auf andere Art hier in diese Antwort einfügen?
Ein jpg file benötigt viel Speicherplatz
Titel: Antw:[gelöst] FHEM-Logfile durchsuchen
Beitrag von: KernSani am 27 Januar 2018, 00:02:17
Zitat von: McShire am 26 Januar 2018, 23:43:25
Kann man diese Info auch besser auf andere Art hier in diese Antwort einfügen?
Wie Christop sagt und auch im Post Unbedingt vor dem ersten Post lesen (https://forum.fhem.de/index.php/topic,71806.0.html) dargelegt, bitte
list global in die Kommandozeile eingeben und das Ergebnis (in code tags - das ist das # über den Smilies) hier posten...
Titel: Antw:[gelöst] FHEM-Logfile durchsuchen
Beitrag von: McShire am 27 Januar 2018, 00:24:23
Tut mir leid, wenn ich noch nicht alles richtig verstehe, aber ich lerne hoffentlich dazu und mache es zukünftig besser.
unten die listings noch einmal.

Internals:
   DEF        no definition
   NAME       global
   NR         1
   STATE      no definition
   TYPE       Global
   currentlogfile ./log/fhem-2018-01.log
   logfile    ./log/fhem-%Y-%m.log
Attributes:
   autoload_undefined_devices 1
   autosave   0
   configfile fhem.cfg
   logfile    ./log/fhem-%Y-%m.log
   modpath    .
   motd       1
   statefile  ./log/fhem.save
   updateInBackground 1
   userattr   cmdIcon devStateIcon devStateStyle fp_Grundriss icon sortby webCmd webCmdLabel:textField-long widgetOverride
   verbose    3
   version    fhem.pl:15842/2018-01-10


Internals:
   DEF        ./log/fhem-%Y-%m.log NTFY_BackupRun:.*|fakelog
   NAME       Logfile
   NR         18
   NTFY_ORDER 50-Logfile
   REGEXP     NTFY_BackupRun:.*|fakelog
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/fhem-2018-01.log
   logfile    ./log/fhem-%Y-%m.log
   READINGS:
     2018-01-02 22:51:19   linesInTheFile  0
Attributes:
Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: McShire am 27 Januar 2018, 00:49:33
Zitat von: P.A.Trick am 25 Januar 2018, 23:39:14
Ich habe mir dafür einen Alias erstellt!

defmod c_greplog cmdalias greplog .* AS {qx(grep -i \'$EVENT\' log/*.log)}
attr c_greplog room _CmdAlias



Auch der Alias funktioniert jetzt mit der Option -a zum Durchsuchen meiner Log-Datei.
Ist ein sehr gutes Werkzeug.

greplog .* AS {qx(grep -a \'$EVENT\' /opt/fhem/log/*.log)}

Die Option -i habe ich herausgenommen, sonst ist die Antwortzeit sehr lang.

Titel: Antw:FHEM-Logfile durchsuchen
Beitrag von: P.A.Trick am 27 Januar 2018, 11:11:49
Zitat von: McShire am 27 Januar 2018, 00:49:33
Auch der Alias funktioniert jetzt mit der Option -a zum Durchsuchen meiner Log-Datei.
Ist ein sehr gutes Werkzeug.

greplog .* AS {qx(grep -a \'$EVENT\' /opt/fhem/log/*.log)}

Die Option -i habe ich herausgenommen, sonst ist die Antwortzeit sehr lang.

Das freut mich! Hier findest du noch ein paar nützliche Alias: https://wiki.fhem.de/wiki/Cmdalias
(https://wiki.fhem.de/wiki/Cmdalias)