Automatic | try to recognize the BSD or IETF message format and use it for parsing (default) |
BSD | Parsing of messages in BSD-format according to RFC3164 |
IETF | Parsing of messages in IETF-format according to RFC5424 (default) |
TPLink-Switch | specific parser profile for TPLink switch messages |
UniFi | specific parser profile for UniFi controller Syslog as well as Netconsole messages |
ParseFn | Usage of an own specific parse function provided by attribute "parseFn" |
raw | no parsing, events are created from the messages as received without conversion |
BSD | -> PRIVAL,FAC,SEV,TS,HOST,ID,CONT |
IETF | -> PRIVAL,FAC,SEV,TS,HOST,DATE,TIME,ID,PID,MID,SDFIELD,CONT |
ParseFn | -> PRIVAL,FAC,SEV,TS,HOST,DATE,TIME,ID,PID,MID,SDFIELD,CONT |
raw | -> no selection is meaningful, the original message is used for event creation |
PRIVAL | coded Priority value (coded from "facility" and "severity") |
FAC | decoded Facility |
SEV | decoded Severity of message |
TS | Timestamp containing date and time (YYYY-MM-DD hh:mm:ss) |
HOST | Hostname / Ip-address of the Sender |
DATE | Date (YYYY-MM-DD) |
TIME | Time (hh:mm:ss) |
ID | Device or application what was sending the Syslog-message |
PID | Programm-ID, offen reserved by process name or prozess-ID |
MID | Type of message (arbitrary string) |
SDFIELD | Metadaten about the received Syslog-message |
CONT | Content of the message |
DATA | received raw-data |
<45>Mar 17 20:23:46 ... | -> record start of the BSD message format |
<45>1 2019-03-17T19:13:48 ... | -> record start of the IETF message format |
sudo mkdir /opt/fhem/certs2. create the SSL certicate:
cd /opt/fhem/certs sudo openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem3. set file/directory permissions:
sudo chown -R fhem:dialout /opt/fhem/certs sudo chmod 644 /opt/fhem/certs/*.pem sudo chmod 711 /opt/fhem/certs
MSG_<Host> | the last successful parsed Syslog-message from <Host> |
Parse_Err_LastData | the last record where the set parseProfile could not be applied successfully |
Parse_Err_No | the number of parse errors since start |
SSL_Algorithm | used SSL algorithm if SSL is enabled and active |
SSL_Version | the used TLS-version if encryption is enabled and is active |
Transfered_logs_per_minute | the average number of forwarded logs/events per minute |
sudo apt-get install libio-socket-multicast-perl
sudo apt-get install libio-socket-ssl-perl
define <name> Log2Syslog
define SyslogServer Log2Syslog
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
HOST | der Sender des Datensatzes |
FAC | Facility (Kategorie) nach RFC5424 |
SEV | Severity (Schweregrad) nach RFC5424 |
ID | Ident-Tag |
CONT | der Nachrichtenteil der empfangenen Meldung |
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 |
Verbose-Level | Schweregrad in Syslog |
0 | Critical |
1 | Error |
2 | Warning |
3 | Notice |
4 | Informational |
5 | Debug |
define splunklog Log2Syslog fhemtest 192.168.2.49 ident:Test event:.* fhem:.*
Aug 18 21:06:46 fhemtest.myds.me 1 2017-08-18T21:06:46 fhemtest.myds.me Test_event 13339 FHEM [version@Log2Syslog version="4.2.0"] : 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 [version@Log2Syslog version="4.2.0"] : 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 [version@Log2Syslog version="4.2.0"] : 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 [version@Log2Syslog version="4.2.0"] : 4: CamTER - Informations of camera Terrasse retrieved Aug 18 21:08:27 fhemtest.myds.me 1 2017-08-18T21:08:27.095 fhemtest.myds.me Test_fhem 13339 FHEM [version@Log2Syslog version="4.2.0"] : 4: CamTER - CAMID already set - ignore get camidDer Aufbau der Payload unterscheidet sich je nach verwendeten logFormat.
PRIVAL | Priority Wert (kodiert aus "facility" und "severity") |
IETFVERS | Version der benutzten RFC5424 Spezifikation |
TIME | Timestamp nach RFC5424 |
MYHOST | Internal MYHOST |
IDENT | Ident-Tag aus DEF wenn angegeben, sonst der eigene Devicename. Die Angabe wird mit "_fhem" (FHEM-Log) bzw. "_event" (Event-Log) ergänzt. |
PID | fortlaufende Payload-ID |
MID | fester Wert "FHEM" |
[SD-FIELD] | Structured Data Feld. Enthält Informationen zur verwendeten Modulversion (die Klammern "[]" sind Bestandteil des Feldes) |
MESSAGE | der zu übertragende Datensatz |
PRIVAL | Priority Wert (kodiert aus "facility" und "severity") |
MONTH | Monatsangabe nach RFC3164 |
DAY | Tag des Monats nach RFC3164 |
TIME | Zeitangabe nach RFC3164 |
MYHOST | Internal MYHOST |
TAG | Ident-Tag aus DEF wenn angegeben, sonst der eigene Devicename. Die Angabe wird mit "_fhem" (FHEM-Log) bzw. "_event" (Event-Log) ergänzt. |
PID | Die ID der Mitteilung (= Sequenznummer) |
MESSAGE | der zu übertragende Datensatz |
Aug 18 21:26:55 fhemtest.myds.me 1 2017-08-18T21:26:55 fhemtest.myds.me Test_event 13339 FHEM - : 2017-08-18 21:26:55 USV state: OL Aug 18 21:26:54 fhemtest.myds.me 1 2017-08-18T21:26:54 fhemtest.myds.me Test_event 13339 FHEM - : 2017-08-18 21:26:54 Bezug state: done Aug 18 21:26:54 fhemtest.myds.me 1 2017-08-18T21:26:54 fhemtest.myds.me Test_event 13339 FHEM - : 2017-08-18 21:26:54 recalc_Bezug state: Next: 21:31:59
attr <name> exclErrCond Error: none, Errorcode: none, Dum.Energy PV: 2853.0,, Error: none, Seek_Error_Rate_, Raw_Read_Error_Rate_, sabotageError:,
intern | Events werden modulintern generiert und sind nur im Eventmonitor sichtbar. Readings werden nicht erstellt. |
no | es werden nur Readings der Form "MSG_<Hostname>" ohne Eventfunktion erstellt |
reading | es werden Readings der Form "MSG_<Hostname>" erstellt. Events werden in Abhängigkeit der "event-on-.*"-Attribute generiert |
Variable | Übergabewert | erwartetes Rückgabeformat |
$PRIVAL | "" | (0 ... 191) |
$FAC | "" | (0 ... 23) |
$SEV | "" | (0 ... 7) |
$TS | Zeitstempel | (YYYY-MM-DD hh:mm:ss) |
$HOST | "" | |
$DATE | "" | (YYYY-MM-DD) |
$TIME | "" | (hh:mm:ss) |
$ID | "" | |
$PID | "" | |
$MID | "" | |
$SDFIELD | "" | |
$CONT | "" | |
$DATA | Rohdaten der Message | keine Rückgabeauswertung |
$IGNORE | 0 | (0|1), wenn $IGNORE==1 wird der Syslog-Datensatz ignoriert |
{ ($PRIVAL,$CONT) = ($DATA =~ /^<(\d{1,3})>\s(.*)$/); $CONT = (split(">",$CONT))[1] if($CONT =~ /^<.*>.*$/); }
Automatic | Es wird versucht das Datenformat zu erkennen und das BSD-Format RFC3164 oder IETF-Format RFC5424 anzuwenden (default) |
BSD | Parsing der Meldungen im BSD-Format nach RFC3164 |
IETF | Parsing der Meldungen im IETF-Format nach RFC5424 (default) |
TPLink-Switch | spezifisches Parser Profile für TPLink Switch Meldungen |
UniFi | spezifisches Parser Profile für UniFi Controller Syslog as und Netconsole Meldungen |
ParseFn | Verwendung einer eigenen spezifischen Parsingfunktion im Attribut "parseFn". |
raw | kein Parsing, die Meldungen werden wie empfangen in einen Event umgesetzt |
BSD | -> PRIVAL,FAC,SEV,TS,HOST,ID,CONT |
IETF | -> PRIVAL,FAC,SEV,TS,HOST,DATE,TIME,ID,PID,MID,SDFIELD,CONT |
ParseFn | -> PRIVAL,FAC,SEV,TS,HOST,DATE,TIME,ID,PID,MID,SDFIELD,CONT |
raw | -> keine Auswahl sinnvoll, es wird immer die Originalmeldung in einen Event umgesetzt |
PRIVAL | kodierter Priority Wert (kodiert aus "facility" und "severity") |
FAC | Kategorie (Facility) |
SEV | Schweregrad der Meldung (Severity) |
TS | Zeitstempel aus Datum und Zeit (YYYY-MM-DD hh:mm:ss) |
HOST | Hostname / Ip-Adresse des Senders |
DATE | Datum (YYYY-MM-DD) |
TIME | Zeit (hh:mm:ss) |
ID | Gerät oder Applikation welche die Meldung gesendet hat |
PID | Programm-ID, oft belegt durch Prozessname bzw. Prozess-ID |
MID | Typ der Mitteilung (beliebiger String) |
SDFIELD | Metadaten über die empfangene Syslog-Mitteilung |
CONT | Inhalt der Meldung |
DATA | empfangene Rohdaten |
<45>Mar 17 20:23:46 ... | -> Satzstart des BSD-Formats |
<45>1 2019-03-17T19:13:48 ... | -> Satzstart des IETF-Formats |
sudo mkdir /opt/fhem/certs2. SSL Zertifikat erstellen:
cd /opt/fhem/certs sudo openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem3. Datei/Verzeichnis-Rechte setzen:
sudo chown -R fhem:dialout /opt/fhem/certs sudo chmod 644 /opt/fhem/certs/*.pem sudo chmod 711 /opt/fhem/certs
MSG_<Host> | die letzte erfolgreich geparste Syslog-Message von <Host> |
Parse_Err_LastData | der letzte Datensatz bei dem das eingestellte parseProfile nicht erfolgreich angewendet werden konnte |
Parse_Err_No | die Anzahl der Parse-Fehler seit Start |
SSL_Algorithm | der verwendete SSL Algorithmus wenn SSL eingeschaltet und aktiv ist |
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 |