Rsyslog was HUPed durch logrotate
Nabend,
ich hoffe der Bereich ist passend, ansonsten Bitte verschieben, Danke.
Seit kurzem habe ich ein RPi für Pi-Hole bereitgestellt. In diesem Zuge habe ich mir gedacht ich erweitere das ganze mal und nutzen den
RPi direkt auch mal als (R)syslog Server inkl. Loganalyzer.
Das klappt bisher auch Super....
Die "Standard" Logfiles werden auch ordnungsgemäß rotiert und die empfangenen Logs werden ebenfalls vernünftig Protokolliert.
Um die eigengehenden Logs übersichtlich zu halten und auch um sie übersichtlicher/getrennt
im Loganalyzer angezeigt zu bekommen habe ich folgende Konfig. erstellt.
/etc/rsyslog.d/10-netzlog.conf
Bis hierhin klappt auch alles wie gewünscht und fehlerfrei. Für das Rotieren der Logfiles die die
Einträge der externen Geräte empfangen hatte ich Ursprünglich folgende Konfig.
/etc/logrotate.de/loganalyzer
Allerdings erhalte ich nach dem "Ausführen" dieser Konfig. für rsyslog immer den Status "rsyslog was HUPed".
Nach einigen Recherchen ist dies wohl "nur" ein Hinweis darauf das eben die Logfiles rotiert wurden.
Nur wird nachdem Rotieren nichts mehr in den neu erstellten Logfiles geschrieben.
Ein ändern der Konfig. in:
war leider Erfolglos und führte zum selben Ergebnis. Daraufhin habe ich mich ein wenig mehr mit Rsyslog bzw. Logrotate beschäftigt
und die Konfig. wie folgt geändert.
Das funktionierte sogar Überraschenderweise auf Anhieb, da dadurch während des Rotieren keine neuen Einträge empfangen werden können. Nachteil an der ganze Sache ist aber die Tatsache das die Einträge "prerotate" und "postrotate" für jede einzeln Angegebene Logfile separat ausgeführt werden. So daß nun rsyslog zwei mal gestoppt und wieder gestartet wird.
Wie bekomme ich es hin bzw. wie kann logrotate vermittelt das rsyslog vor dem Rotieren gestoppt wird und erst nach dem Rotieren aller Logfiles wieder gestartet wird???
Wäre schön wenn mir da jemand weiterhelfen kann.
Danke schon mal an alle die Helfen möchten.
VG und einen schönen Sonntagabend noch
p.s Etwas off-topic
Weiß jemand den genauen Syntax für das Filtern von Nachrichten per "msg isequal" unter aktueller Raspbian Version?
Für "msg contains" konnte ich das nach einigen Test erfolgreich einrichten mit
und falls in der msg selbst "" vorhanden sein müssen ist der Syntax
Für isequal habe ich nichts hinbekommen weder if $msg isequal"" oder if $msg, isequal,"" usw.
Weiß von euch jemand wie der genaue Syntax lautet? Damit dieser unter aktueller Raspbian Stretch läuft?
ich hoffe der Bereich ist passend, ansonsten Bitte verschieben, Danke.
Seit kurzem habe ich ein RPi für Pi-Hole bereitgestellt. In diesem Zuge habe ich mir gedacht ich erweitere das ganze mal und nutzen den
RPi direkt auch mal als (R)syslog Server inkl. Loganalyzer.
Das klappt bisher auch Super....
Die "Standard" Logfiles werden auch ordnungsgemäß rotiert und die empfangenen Logs werden ebenfalls vernünftig Protokolliert.
Um die eigengehenden Logs übersichtlich zu halten und auch um sie übersichtlicher/getrennt
im Loganalyzer angezeigt zu bekommen habe ich folgende Konfig. erstellt.
/etc/rsyslog.d/10-netzlog.conf
# Logging external network devices
if $fromhost-ip == '**.**.**.**' then /var/log/synology
& stop
if $fromhost-ip startswith '**.**.' then /var/log/netzlog
& stop
if $fromhost-ip startswith '***.***.**.' then /var/log/netzlog
& stop
Bis hierhin klappt auch alles wie gewünscht und fehlerfrei. Für das Rotieren der Logfiles die die
Einträge der externen Geräte empfangen hatte ich Ursprünglich folgende Konfig.
/etc/logrotate.de/loganalyzer
/var/log/synology
/var/log/netzlog
{
rotate 12
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
invoke-rc.d rsyslog restart > /dev/null
endscript
}
Allerdings erhalte ich nach dem "Ausführen" dieser Konfig. für rsyslog immer den Status "rsyslog was HUPed".
Nach einigen Recherchen ist dies wohl "nur" ein Hinweis darauf das eben die Logfiles rotiert wurden.
Nur wird nachdem Rotieren nichts mehr in den neu erstellten Logfiles geschrieben.
Ein ändern der Konfig. in:
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
war leider Erfolglos und führte zum selben Ergebnis. Daraufhin habe ich mich ein wenig mehr mit Rsyslog bzw. Logrotate beschäftigt
und die Konfig. wie folgt geändert.
prerotate
invoke-rc.d rsyslog stop > /dev/null
endscript
postrotate
invoke-rc.d rsyslog rotate > /dev/null
invoke-rc.d rsyslog restart > /dev/null
endscript
Das funktionierte sogar Überraschenderweise auf Anhieb, da dadurch während des Rotieren keine neuen Einträge empfangen werden können. Nachteil an der ganze Sache ist aber die Tatsache das die Einträge "prerotate" und "postrotate" für jede einzeln Angegebene Logfile separat ausgeführt werden. So daß nun rsyslog zwei mal gestoppt und wieder gestartet wird.
Wie bekomme ich es hin bzw. wie kann logrotate vermittelt das rsyslog vor dem Rotieren gestoppt wird und erst nach dem Rotieren aller Logfiles wieder gestartet wird???
Wäre schön wenn mir da jemand weiterhelfen kann.
Danke schon mal an alle die Helfen möchten.
VG und einen schönen Sonntagabend noch
p.s Etwas off-topic
Weiß jemand den genauen Syntax für das Filtern von Nachrichten per "msg isequal" unter aktueller Raspbian Version?
Für "msg contains" konnte ich das nach einigen Test erfolgreich einrichten mit
if $msg contains"EMBY.downloader" or $msg contains
$msg contains'"type": "boxsets",'
Für isequal habe ich nichts hinbekommen weder if $msg isequal"" oder if $msg, isequal,"" usw.
Weiß von euch jemand wie der genaue Syntax lautet? Damit dieser unter aktueller Raspbian Stretch läuft?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 465442
Url: https://administrator.de/contentid/465442
Ausgedruckt am: 26.11.2024 um 02:11 Uhr
4 Kommentare
Neuester Kommentar
ansonsten Bitte verschieben, Danke.
Das kannst aus guten Gründen immer nur DU selber als der Besitzer dieses Threads (ThreadOwner !)In sofern ist dieser Appell an die Forencommunity also mehr oder minder sinnfrei.
Eine Anleitung für einen Syslog Server auf dem RasPi findest du u.a. auch hier:
Netzwerk Management Server mit Raspberry Pi
Hallo,
das sollte eigentlich völlig ausreichen:
Aus der default-Konfig von rsyslog:
Nachtrag: Das mit dem "was HUPed" ist völlig normal.
das sollte eigentlich völlig ausreichen:
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
Aus der default-Konfig von rsyslog:
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
/var/log/dhcp.log
/var/log/cyrus.log
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
Nachtrag: Das mit dem "was HUPed" ist völlig normal.