Ich benutzersyslog 8.40und ich versuche, die Protokollweiterleitung mit Warteschlangen einzurichten.
Ich konnte mit den folgenden Konfigurationen Protokolle an die Weiterleitungsserver senden.
action(type="omfwd" target="host1" port="10515" protocol="udp" )
action(type="omfwd" target="host2" port="10514" protocol="udp" )
Jetzt möchte ich die Protokolle in Warteschlangen behalten, damit ich die Protokolle nicht verliere, wenn mein Zielserver ausfällt.
Dazu mache ich so etwas:
action(type="omfwd" target="host1" port="10515" protocol="udp"
queue.spoolDirectory="/var/lib/rsyslog"
queue.type="LinkedList"
queue.filename="host1.queue"
action.resumeRetryCount="-1"
queue.saveOnShutdown="on"
)
action(type="omfwd" target="host2" port="10514" protocol="udp"
queue.type="LinkedList"
queue.filename="host2.queue"
action.resumeRetryCount="-1"
queue.saveOnShutdown="on"
)
Wenn ich den Weiterleitungsserver herunterfahre, werden die Protokolle nicht in der Warteschlangendatei erstellt, die ich unter /var/lib/rsyslog erwarte, da ich diese Einstellung habe:
global(
net.enableDNS="off"
preserveFQDN="on"
umask="0004"
workDirectory="/var/lib/rsyslog"
)
JFTR,
- Die Konfiguration weist keine Konfigurationsfehler auf.
- Ich habe das Debuggen in rsyslogd aktiviert, aber das hat mir keine Fehler angezeigt.
Antwort1
Ich habe den Grund für dieses Verhalten herausfinden können:
Zitat ausHier
eigentliche Spooldateien werden nur dann erstellt, wenn der Remote-Server ausgefallen ist und in der Warteschlange im Arbeitsspeicher kein Platz mehr vorhanden ist. Standardmäßig führt ein kurzer Ausfall des Remote-Servers nie zur Erstellung einer Festplattendatei, da standardmäßig ein paar hundert Nachrichten im Arbeitsspeicher gehalten werden können.