| BSD | Parsing of messages in BSD-format according to RFC3164 |
| IETF | Parsing of messages in IETF-format according to RFC5424 (default) |
| ... | further specific parse profiles for selective device are provided |
| 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 |
sudo mkdir /opt/fhem/certs
2. create the SSL certicate:
cd /opt/fhem/certs
sudo openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem
3. 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_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-perlsudo apt-get install libio-socket-ssl-perldefine <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 camid
Der 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
| 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 |
| $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 | übergebene Rohdaten der Syslog-Mitteilung (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 =~ /^<.*>.*$/);
}
| BSD | Parsing der Meldungen im BSD-Format nach RFC3164 |
| IETF | Parsing der Meldungen im IETF-Format nach RFC5424 (default) |
| ... | Es werden weitere angepasste Parsingprofile für ausgewählte Geräte angeboten |
| ParseFn | Verwendung einer eigenen spezifischen Parsingfunktion im Attribut "parseFn". |
| raw | kein Parsing, die Meldungen werden wie empfangen in ein 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 |
sudo mkdir /opt/fhem/certs
2. SSL Zertifikat erstellen:
cd /opt/fhem/certs
sudo openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem
3. 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_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 |