- verbose-Level | Schweregrad in Syslog |
+ verbose-Level | Severity in Syslog |
0 | Critical |
1 | Error |
2 | Warning |
@@ -683,7 +1104,7 @@ Aug 18 21:08:27 fhemtest.myds.me 1 2017-08-18T21:08:27.095 fhemtest.myds.me Test
The structure of the payload differs dependent of the used logFormat.
logFormat IETF:
- "<PRIVAL>1 TIME MYHOST IDENT PID MID - : MESSAGE"
+ "<PRIVAL>VERSION TIME MYHOST IDENT PID MID [SD-FIELD] :MESSAGE"
@@ -719,6 +1140,18 @@ Aug 18 21:08:27 fhemtest.myds.me 1 2017-08-18T21:08:27.095 fhemtest.myds.me Test
+
+ Get
+
+
+
+ certinfo
+
+ Show informations about the server certificate if a TLS-session was created (Reading "SSL_Version" isn't "n.a.").
+
+
+
+
Attributes
@@ -763,7 +1196,8 @@ Aug 18 21:26:54 fhemtest.myds.me 1 2017-08-18T21:26:54 fhemtest.myds.me Test_eve
port
- The port of the syslog server is listening. Default port is 514 if not specified.
+ The used port. For a Sender the default-port is 514.
+ A Collector (Syslog-Server) uses the port 1514 per default.
rateCalcRerun
@@ -771,10 +1205,26 @@ Aug 18 21:26:54 fhemtest.myds.me 1 2017-08-18T21:26:54 fhemtest.myds.me Test_eve
Rerun cycle for calculation of log transfer rate (Reading "Transfered_logs_per_minute") in seconds.
Default is 60 seconds.
+
+ ssldebug
+
+ Debugging level of SSL messages.
+
+
+ TLS
+
+ A secured connection to Syslog-server is used. The protocol will be switched to TCP automatically.
+
+
timeout
- Timeout for connection to the syslog server (TCP).
+ Timeout for connection to the destination syslog server (TCP). Only valid in Sender-mode. Default: 0.5 seconds.
verbose
@@ -807,7 +1257,8 @@ Aug 18 21:26:54 fhemtest.myds.me 1 2017-08-18T21:26:54 fhemtest.myds.me Test_eve
Log2Syslog
- Sendet FHEM Systemlog Einträge und/oder Events an einen externen Syslog-Server weiter.
+ Sendet das Modul FHEM Systemlog Einträge und/oder Events an einen externen Syslog-Server weiter oder agiert als
+ Syslog-Server um Syslog-Meldungen anderer Geräte zu empfangen.
Die Implementierung des Syslog-Protokolls erfolgte entsprechend den Vorgaben von RFC5424 (IETF),
RFC3164 (BSD) sowie dem TLS Transport Protokoll nach
RFC5425.
@@ -829,13 +1280,81 @@ Aug 18 21:26:54 fhemtest.myds.me 1 2017-08-18T21:26:54 fhemtest.myds.me Test_eve
Definition
- define <name> Log2Syslog <Zielhost> [ident:<ident>] [event:<regexp>] [fhem:<regexp>]
+ Je nach Verwendungszweck kann ein Syslog-Server (MODEL Collector) oder ein Syslog-Client (MODEL Sender) definiert
+ werden.
+ Der Collector empfängt Meldungen im Syslog-Format anderer Geräte und generiert daraus Events zur Weiterverarbeitung in
+ FHEM. Das Sender-Device leitet FHEM Systemlog Einträge und/oder Events an einen externen Syslog-Server weiter.
+
+
+
+ Definition eines Collectors
+
+
+
+
+ define <name> Log2Syslog
+
+
+
+ Die Definition ist sehr einfach und benötigt keine weiteren Parameter.
+ In der Grundeinstellung wird der Syslog-Server mit dem Port=1514/UDP Format=IETF initialisiert.
+ Mit dem Attribut "logFomat" kann alternativ das BSD-Format ausgewählt werden.
+ Der Syslog-Server ist sofort betriebsbereit und generiert aus den eingehenden Syslog-Meldungen FHEM-Events mit
+ entsprechender Adaption der RFC-Richtlinien (siehe dazu auch das Attribut "parseProfile").
- <Zielhost> = Host (Name oder IP-Adresse) auf dem der Syslog-Server läuft
- [ident:<ident>] = optionaler Programm Identifier. Wenn nicht gesetzt wird per default der Devicename benutzt.
- [event:<regexp>] = optionaler regulärer Ausdruck zur Filterung von Events zur Weiterleitung
- [fhem:<regexp>] = optionaler regulärer Ausdruck zur Filterung von FHEM Logs zur Weiterleitung
+ Beispiel für einen Collector:
+
+
+
+ define SyslogServer Log2Syslog
+
+
+
+ Im Eventmonitor können die generierten Events kontrolliert werden (Beispiel mit Attribut parseProfile=default):
+
+2018-07-31 17:07:24.382 Log2Syslog SyslogServer HOST: fhem.myds.me || FAC: syslog || SEV: Notice || ID: Prod_event || CONT: USV state: OL
+2018-07-31 17:07:24.858 Log2Syslog SyslogServer HOST: fhem.myds.me || FAC: syslog || SEV: Notice || ID: Prod_event || CONT: HMLAN2 loadLvl: low
+
+
+ Zwischen den einzelnen Feldern wird der Trenner "||" verwendet.
+ Die Bedeutung der Felder ist in nachfolgender Tabelle aufgeführt.
+
+
+
+
+
+ HOST | der Sender des Datensatzes |
+ FAC | Facility (Kategorie) nach RFC5424 |
+ SEV | Severity (Schweregrad) nach RFC5424 |
+ ID | Ident-Tag |
+ CONT | die übertragene Nachricht |
+
+
+
+
+
+
+ Definition eines Senders
+
+
+
+
+ define <name> Log2Syslog <Zielhost> [ident:<ident>] [event:<regexp>] [fhem:<regexp>]
+
+
+
+
+
+
+ <Zielhost> | Host (Name oder IP-Adresse) auf dem der Syslog-Server läuft |
+ [ident:<ident>] | optionaler Programm Identifier. Wenn nicht gesetzt wird per default der Devicename benutzt. |
+ [event:<regexp>] | optionaler regulärer Ausdruck zur Filterung von Events zur Weiterleitung |
+ [fhem:<regexp>] | optionaler regulärer Ausdruck zur Filterung von FHEM Logs zur Weiterleitung |
+
+
+
+
Direkt nach der Definition sendet das neue Device alle neu auftretenden FHEM Systemlog Einträge und Events ohne weitere
Einstellungen an den Zielhost, Port=514/UDP Format=IETF, wenn reguläre Ausdrücke für Events/FHEM angegeben wurden.
@@ -843,7 +1362,7 @@ Aug 18 21:26:54 fhemtest.myds.me 1 2017-08-18T21:26:54 fhemtest.myds.me Test_eve
Die Verbose-Level der FHEM Systemlogs werden in entsprechende Schweregrade der Syslog-Messages umgewandelt.
Weiterhin wird der Meldungstext der FHEM Systemlogs und Events nach den Signalwörtern "warning" und "error" durchsucht
- (Groß- /Kleinschreibung wird nicht beachtet). Davon abhängig wird der Schweregrad ebenfalls äquivalent gesetzt und überschreibt
+ (Groß- /Kleinschreibung wird nicht beachtet). Davon abhängig wird der Schweregrad ebenfalls äquivalent gesetzt und übersteuert
einen eventuell bereits durch Verbose-Level gesetzten Schweregrad.
Umsetzungstabelle Verbose-Level in Syslog-Schweregrad Stufe:
@@ -860,14 +1379,19 @@ Aug 18 21:26:54 fhemtest.myds.me 1 2017-08-18T21:26:54 fhemtest.myds.me Test_eve
-
- Beispiel:
-
+
+ Beispiel für einen Sender:
+
+
+
define splunklog Log2Syslog fhemtest 192.168.2.49 ident:Test event:.* fhem:.*
-
- Es werden alle Events weitergeleitet wie deses Beispiel der raw-Ausgabe eines Splunk Syslog Servers zeigt::
-
Aug 18 21:06:46 fhemtest.myds.me 1 2017-08-18T21:06:46 fhemtest.myds.me Test_event 13339 FHEM - : LogDB sql_processing_time: 0.2306
+
+
+
+ Es werden alle Events weitergeleitet wie deses Beispiel der raw-Ausgabe eines Splunk Syslog Servers zeigt:
+
+Aug 18 21:06:46 fhemtest.myds.me 1 2017-08-18T21:06:46 fhemtest.myds.me Test_event 13339 FHEM - : LogDB sql_processing_time: 0.2306
Aug 18 21:06:46 fhemtest.myds.me 1 2017-08-18T21:06:46 fhemtest.myds.me Test_event 13339 FHEM - : LogDB background_processing_time: 0.2397
Aug 18 21:06:45 fhemtest.myds.me 1 2017-08-18T21:06:45 fhemtest.myds.me Test_event 13339 FHEM - : LogDB CacheUsage: 21
Aug 18 21:08:27 fhemtest.myds.me 1 2017-08-18T21:08:27.760 fhemtest.myds.me Test_fhem 13339 FHEM - : 4: CamTER - Informations of camera Terrasse retrieved
@@ -877,7 +1401,7 @@ Aug 18 21:08:27 fhemtest.myds.me 1 2017-08-18T21:08:27.095 fhemtest.myds.me Test
Der Aufbau der Payload unterscheidet sich je nach verwendeten logFormat.
logFormat IETF:
- "<PRIVAL>1 TIME MYHOST IDENT PID MID - : MESSAGE"
+ "<PRIVAL>VERSION TIME MYHOST IDENT PID MID [SD-FIELD] :MESSAGE"
@@ -913,6 +1437,18 @@ Aug 18 21:08:27 fhemtest.myds.me 1 2017-08-18T21:08:27.095 fhemtest.myds.me Test
+
+ Get
+
+
+
+ certinfo
+
+ Zeigt Informationen zum Serverzertifikat wenn eine TLS-Session aufgebaut wurde (Reading "SSL_Version" ist nicht "n.a.").
+
+
+
+
Attribute
@@ -922,7 +1458,7 @@ Aug 18 21:08:27 fhemtest.myds.me 1 2017-08-18T21:08:27.095 fhemtest.myds.me Test
addTimestamp [0|1]
- Wenn gesetzt, werden FHEM Timestamps im Datensatz mit übertragen.
+ Das Attribut ist nur für "Sender" verwendbar. Wenn gesetzt, werden FHEM Timestamps im Datensatz mit übertragen.
Per default werden die Timestamps nicht mit übertragen, da der Syslog-Server eigene Timestamps verwendet.
Die Einstellung kann hilfeich sein wenn mseclog in FHEM aktiviert ist.
@@ -936,7 +1472,7 @@ Aug 18 21:26:54 fhemtest.myds.me 1 2017-08-18T21:26:54 fhemtest.myds.me Test_eve
addStateEvent [0|1]
- Wenn gesetzt, werden state-events mit dem Reading "state" ergänzt.
+ Das Attribut ist nur für "Sender" verwendbar. Wenn gesetzt, werden state-events mit dem Reading "state" ergänzt.
Die Standardeinstellung ist ohne state-Ergänzung.
@@ -950,16 +1486,25 @@ Aug 18 21:26:54 fhemtest.myds.me 1 2017-08-18T21:26:54 fhemtest.myds.me Test_eve
Stellt das Protokollformat ein.
Der Standardwert ist "IETF".
+
+ parseProfile [default|raw]
+
+ Auswahl eines Parsing-Profiles. Wird "raw" gewählt, erfolgt kein Parsing und die empfangenen Daten werden
+ unverändert in ein Event umgesetzt.
+ Das "default"-Profil wendet ein Parsing entsprechend der RFC-Richtlinien an (Voreinstellung).
+
protocol [TCP|UDP]
- Setzt den Protokolltyp der verwendet werden soll. Es kann UDP oder TCP gewählt werden.
+ Setzt den Protokolltyp der verwendet werden soll. Es kann UDP oder TCP gewählt werden (MODEL Sender).
Standard ist "UDP" wenn nichts spezifiziert ist.
+ Ein Syslog-Server (MODEL Collector) verwendet UDP.
port
- Der verwendete Port des Syslog-Servers. Default Port ist 514 wenn nicht gesetzt.
+ Der verwendete Port. Für einen Sender ist der default-Port 514.
+ Ein Collector (Syslog-Server) verwendet den Port 1514 per default.
rateCalcRerun
@@ -967,10 +1512,29 @@ Aug 18 21:26:54 fhemtest.myds.me 1 2017-08-18T21:26:54 fhemtest.myds.me Test_eve
Wiederholungszyklus für die Bestimmung der Log-Transferrate (Reading "Transfered_logs_per_minute") in Sekunden.
Default sind 60 Sekunden.
+
+ ssldebug
+
+ Debugging Level von SSL Messages.
+
+
+ TLS
+
+ Das Attribut ist nur für "Sender" verwendbar.
+ Es wird eine gesicherte Verbindung zum Syslog-Server aufgebaut. Das Protokoll schaltet automatisch
+ auf TCP um.
+
+
timeout
- Timeout für die Verbindung zum Syslog-Server (TCP).
+ Das Attribut ist nur für "Sender" verwendbar.
+ Timeout für die Verbindung zum Syslog-Server (TCP). Default: 0.5s.
verbose
@@ -989,8 +1553,8 @@ Aug 18 21:26:54 fhemtest.myds.me 1 2017-08-18T21:26:54 fhemtest.myds.me Test_eve
SSL_Algorithm | der verwendete SSL Algorithmus wenn SSL eingeschaltet und aktiv ist |
- SSL_Version | die verwendete TLS-Version wenn die Veschlüsselung aktiv ist |
- Transfered_logs_per_minute | die durchschnittliche Anzahl der übertragenen Logs/Events pro Minute |
+ SSL_Version | die verwendete TLS-Version wenn die Verschlüsselung aktiv ist |
+ Transfered_logs_per_minute | die durchschnittliche Anzahl der übertragenen/empfangenen Logs/Events pro Minute |