Emby Kodi Log nach (r)syslog umleiten und filtern

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
MadM4x
Beiträge: 3
Registriert: 29.11.2017 20:04:33

Emby Kodi Log nach (r)syslog umleiten und filtern

Beitrag von MadM4x » 30.11.2017 17:17:09

Nabend,

hoffe der Foren Bereich ist für mein Thread passend ;)

Da ich mir vor einiger Zeit einen Raspi 3 zugelegt habe beschäftige mich nun auch (zwangsweise ;) ) mit Linux bzw. Debian (Raspbian Jessie u. Stretch). Soweit läuft eigentlich alles wie gewünscht und da es mittlerweile weitere RPi´s im Haus gibt nutze ich rsyslog bzw. syslog um diese an meine Nas zuleiten.

Aktuell versuche ich die Kodi Log "Inhalte" nach rsyslog umzuleiten und/oder die Logdatei selbst nach /var/log "zu verschieben" um eventuelle Probleme bezüglich Emby Kodi oder meinem Emby Server direkt zu erhalten.

Da meine Versuche bisher nicht so wirklich zum Erfolg geführt haben und mir in den jeweiligen Foren bisher niemand helfen konnte, wende ich mich nun an die "Linux" Profis und hoffe das mir hier jemanden weiterhelfen kann.

System Info:

Code: Alles auswählen

Kodi (17.5 Git:20171024-42caaae). Platform: Linux ARM 32-bit 
Using Release Kodi x32 build (version for Raspberry Pi) 
Kodi compiled Oct 24 2017 by GCC 6.3.0 for Linux ARM 32-bit version 3.18.11 (201227) 
Running on Raspbian GNU/Linux 9 (stretch), kernel: Linux ARM 32-bit version 4.9.59-v7+ 
Host CPU: ARMv7 Processor rev 4 (v7l), 4 cores available
Mein erster Versuch war es mit pathsubstitution über /userdata/advancedsettings.xml den Pfad der Logdatei zu ändern,
was aber nicht so wirklich geklappt hat. Laut Kodi Log wurde der Pfad zwar umgeleitet, die Log Datei wurde aber nicht dort erstellt.

Nach einigem Google´n habe ich dann Versucht das ganze mit ner "eigenen" Syslog.conf unter /etc/rsyslog.d/ zu bewerkstelligen.
Im Prinzip hat das per "imfile" sogar Funktioniert nur leider habe ich nicht herausgefunden ob und wie ich die
"Einträge" Filter kann bzw. bewirkt $InputFileSeverity warning nicht das was ich mir erhofft hatte so dass ich nen Warnhinweis der
NAS bekommen habe "NAS hat 1230 Protokolle pro Sekunde erhalten" und je nach Veränderung der .conf ging das sogar noch höher.

Auszug aus Kodi.log (die Notice fluten die Syslog

Code: Alles auswählen

.
.
.
03:15:41.004 T:1632883456  NOTICE: EMBY.kodimonitor ->
03:15:41.017 T:1632883456  NOTICE: EMBY.kodimonitor -> 
03:15:41.126 T:1166013184 WARNING: CRenderManager::WaitForBuffer -
03:15:41.598 T:1649660672  NOTICE: script.module.metadatautils --> 
03:15:45.284 T:1632883456  NOTICE: EMBY.player -> DEBUG::
03:15:45.289 T:1632883456  NOTICE: EMBY.player -> DEBUG::
.
.

Ich habe verschiedenes getestet sowohl unter der 10-kodi.conf wie auch unter rsyslog.conf

/etc/rsyslog.d/10-kodi.conf

Code: Alles auswählen

$ModLoad imfile 

# /home/pi/.kodi/temp/kodi.log
#$InputFileName /home/pi/.kodi/temp/kodi.log
#$InputFileTag kodi_log:
#$InputFileStateFile kodis.log
#$InputFileSeverity warning
#$InputFileFacility local7
#$InputRunFileMonitor
#$InputFilePollInterval 45

# send the log to a remote host: (optional) 
#local3.debug         @@ip-der-nas:514 
#local3.*                 @@ip-der-nas:514 
local3.warning         @@ip-der-nas:514
*.*                           @@ip-der-nas:514

#local3.*                   /var/log/kodi.log 
#local3.warning         /var/log/kodi.log 
*.*                             /var/log/kodi.log 
/etc/rsyslog.conf

Code: Alles auswählen

###############
#### RULES ####
###############

#
# First some standard log files.  Log by facility.
#

:msg, contains, "Invalid response packet from host" stop
#:msg, contains, "NOTICE:"       /home/pi/.kodi/temp/notice.log
#:msg, contains, "NOTICE:" stop
#:msg, contains, "NOTICE: EMBY"       /home/pi/.kodi/temp/notice.log
:msg, contains, "NOTICE: EMBY" stop
if $syslogseverity <= '5' then  @@ip-der-nas
auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
#cron.*                         /var/log/cron.log
#daemon.*                       -/var/log/daemon.log
#kern.*                         -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
#mail.*                         -/var/log/mail.log
#user.*                         -/var/log/user.log
Da ich leider echter Linux/Debian Neuling bin und mich auch alles was ich bisher bei Google finden konnte nicht
weiter geholfen hat frage ich nun die Profis hier:

Jemand von Euch eine Idee wie das ganze so Hinbekomme das mir aus der Kodi Log nur Einträge wie:
​ERROR / WARNING usw. in die syslog "umgeleitet" werden???? bzw die Einträge filtern kann??

Danke schon mal an Alle



VG

MadM4x
Beiträge: 3
Registriert: 29.11.2017 20:04:33

Re: Emby Kodi Log nach (r)syslog umleiten und filtern

Beitrag von MadM4x » 08.12.2017 21:38:09

Niemand von Euch ne Idee wie ich das hinbekomme? :(

MadM4x
Beiträge: 3
Registriert: 29.11.2017 20:04:33

Re: Emby Kodi Log nach (r)syslog umleiten und filtern

Beitrag von MadM4x » 29.12.2017 17:10:06

Mittlerweile habe ich es selbst lösen können.

Für alle die das gleiche oder ähnliches vorhaben bzw. Filtern möchten,
hier mal mein Workflow:

Unter /etc/rsyslog.d/ eine neue .conf anlegen.

/etc/rsyslog.d/10-kodi.conf

Code: Alles auswählen

$ModLoad imfile
#
# /home/pi/.kodi/temp/kodi.log
$InputFileName /home/pi/.kodi/temp/kodi.log
$InputFileTag kodi_log:
$InputFileStateFile state_kodi_log
$InputFileSeverity notice
$InputFileFacility local7
$InputRunFileMonitor
#
# check for new lines every 5 (default is 10) seconds
$InputFilePollInterval 5
#
Und in der /etc/rsyslog.conf die Regeln anpassen

Code: Alles auswählen

###############
#### RULES ####
###############
#
# First some standard log files.  Log by facility.
#
if ($msg contains "NOTICE:") then /logfiles/outputs.log 
else
if $syslogseverity <= '5' then @@ip.der.nas
Wenn ihr weitere Sachen Filtern wollt müsst ihr das ganze folgendermaßen ändern/ergänzen

Code: Alles auswählen

###############
#### RULES ####
###############
#
# First some standard log files.  Log by facility.
#
if ($msg contains "NOTICE:") or ($msg contains "text-der-rausgefilter-werden-soll) then /logfiles/outputs.log
else
if $syslogseverity <= '5' then @@ip.der.nas
*das Verzeichnis /logfiles/ hab ich extra angelegt, normal sollte auch ein then /dev/null gehen*

Läuft bisher ohne Probleme bei mir....


VG

Antworten