madm4x
Goto Top

Raspbian Kodi Log nach rsyslog umleiten bzw Logpfad ändern

Tachen,

ich versuche Aktuell die Kodi Log "Inhalte" nach rsyslog umzuleiten und/oder die Logdatei selbst nach /var/log "zu verschieben".
Grund dafür ist das auf meiner NAS ein Emby Server läuft und meine RPi´s die syslogs zur NAS durchreichen, da wäre es doch schön wenn man
Warnungen oder Error´s usw. von Kodi ebenfalls direkt im Syslog Protokoll mitgeteilt bekommt.

Da meine Versuche bisher nicht so wirklich zum Erfolg geführt haben hoffe ich das ich hier jemanden finde der mir weiterhelfen kann.


System Info:
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.

/etc/rsyslog.d/10-kodi.conf
$ModLoad imfile
# /home/pi/.kodi/temp/kodi.log
$InputFileName /home/pi/.kodi/temp/kodi.log
$InputFileTag kodi_log:
$InputFileStateFile /var/log/kodis.log
$InputFileSeverity warning
$InputFileFacility local3 (und local7)
$InputRunFileMonitor
# send the log to a remote host: (optional)
#local3.*         /var/log/kodi.log
local3.warning         /var/log/kodi.log
#local3.debug         @@ip-der-nas:514
#local3.*         @@ip-der-nas:514
local3.warning         @@ip-der-nas:514

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.

Jemand von Euch Profis 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????


VG und schönen Start ins WE

Content-ID: 356029

Url: https://administrator.de/forum/raspbian-kodi-log-nach-rsyslog-umleiten-bzw-logpfad-aendern-356029.html

Ausgedruckt am: 26.12.2024 um 22:12 Uhr

tb-21-hans
tb-21-hans 01.12.2017 um 10:53:48 Uhr
Goto Top
Mittels
:msg, contains, "Kodi" @@ip-der-nas:514
kann man die Log Daten filtern. Hier werden alle Nachrichten, mit dem Wort "Kodi" in der Nachricht weitergeleitet.

Man kann auch mittels If-Bedienungen arbeiten, um genauer zu werden:
if ($programname contains 'kodi') and ($severity contains 'error') then @@ip-der-nas:514

http://www.rsyslog.com/doc/rsyslog%255Fconf%255Ffilter.html
http://wiki.rsyslog.com/index.php/Filtering_by_program_name
MadM4x
MadM4x 01.12.2017 aktualisiert um 22:55:32 Uhr
Goto Top
Leider klappt das so auch nicht face-sad

Ich habe nun etliche Varianten die mir in den Sinn gekommen sind und die ich bei Google noch so finden konnte durch getestet, leider ohne Erfolg.

Hier mal ein paar Beispiele:

/etc/rsyslog.d/20-kodi.conf
#
$ModLoad imfile
#
# /home/pi/.kodi/temp/kodi.log
$InputFileName /home/pi/.kodi/temp/kodi.log
$InputFileTag kodi_log:
$InputFileStateFile state_kodi
$InputFileSeverity warning
$InputFileFacility local3
$InputRunFileMonitor
#
# check for new lines every 10 seconds
$InputFilePollInterval 10
#
# send the log to a remote host: (optional)
#*.*            /var/log/kodi.log
#if $programname contains 'kodi_log' and $msg contains 'WARNING' then @@ip-der-nas:514  
#if $programname contains 'kodi_log' and $msg contains 'NOTICE:' then /home/pi/.kodi/own_kodi.log  
if $msg contains 'NOTICE:' then /home/pi/.kodi/own_kodi.log  
Hab es auch mal mit $rawmsg versucht...
Wenn ich es mit () versuche gibts mehrere Fehlermeldungen von rsyslog unter dem Aufruf von systemctl status rsyslog daher ohne.

/etc/rsyslog.conf
###############
#### RULES ####
###############

#
# First some standard log files.  Log by facility.
#
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

Auch anders rum klappt es nicht:

/etc/rsyslog.d/20-kodi.conf
#
$ModLoad imfile
#
# /home/pi/.kodi/temp/kodi.log
$InputFileName /home/pi/.kodi/temp/kodi.log
$InputFileTag kodi_log:
$InputFileStateFile state_kodi
$InputFileSeverity warning
$InputFileFacility local3
$InputRunFileMonitor
#
# check for new lines every 10 seconds
$InputFilePollInterval 10
#

Und:

/etc/rsyslog.conf
###############
#### RULES ####
###############

#
# First some standard log files.  Log by facility.
#
#if $programname contains 'kodi_log' and $msg contains 'ERROR:' then @@ip-der-nas:514  
#if $programname contains 'kodi_log' and $msg contains 'WARNING:' then @@ip-der-nas:514  
#if $programname contains 'kodi_log' and $msg contains 'NOTICE:' then /home/pi/.kodi/own_kodi.log  
if $msg contains 'NOTICE:' then /home/pi/.kodi/own_kodi.log  
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

Egal was oder wie es auch Versuche im Protokoll auf meiner NAS landen alle Einträge.

.
.
local3,kodi_log,22:14:25.393 T:1451225856  NOTICE: EMBY.artwork -> 
local3,kodi_log,"22:14:25.378 T:1451225856  NOTICE: EMBY.default ->   
local3,kodi_log,22:14:25.377 T:1451225856  NOTICE: EMBY.default -> 
local3,kodi_log,22:14:20.641 T:1331163904   ERROR: GetDirectory - Error getting library
local3,kodi_log,22:14:20.601 T:1331163904   ERROR: GetDirectory - Error getting library
local3,kodi_log,"22:14:18.182 T:1451225856 WARNING: CPythonInvoker  
local3,kodi_log,22:14:17.815 T:1451225856  NOTICE: EMBY.default ->
local3,kodi_log,"22:14:17.355 T:1451225856  NOTICE: EMBY.default ->   
.
.


Noch jemand ne Idee wie man es vielleicht doch noch hinbekommt???

VG

EDIT:
● rsyslog.service - System Logging Service
   Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2017-12-01 22:53:35 CET; 2s ago
     Docs: man:rsyslogd(8)
           http://www.rsyslog.com/doc/
 Main PID: 1587 (rsyslogd)
   CGroup: /system.slice/rsyslog.service
           └─1587 /usr/sbin/rsyslogd -n

Dec 01 22:53:35 kodi-stretch-rpi systemd[1]: Starting System Logging Service...
Dec 01 22:53:35 kodi-stretch-rpi liblogging-stdlog[1587]:  [origin software="rsyslogd" swVersion="8.24.0" x-pid="1587" x-info="http://www.rsyslog.com"] start  
Dec 01 22:53:35 kodi-stretch-rpi systemd[1]: Started System Logging Service.