Rsyslog auf einem RHEL 6-Server empfängt Nachrichten lokal auf Port 514 UDP. Diese Nachrichten sind manchmal viel größer als normale Syslog-Nachrichten. Ich sehe, dass rsyslog alle Nachrichten einwandfrei verarbeitet und ohne Probleme in die lokalen Dateien schreibt. Wenn ich jedoch einen Remote-Host zur rsyslog-Konfiguration hinzufüge, werden dieselben großen Nachrichten mit etwa 2048 Zeichen abgeschnitten.
Ich verwende rsyslogd Version: 5.8.10
rsyslogd 5.8.10, compiled with:
FEATURE_REGEXP: Yes
FEATURE_LARGEFILE: No
GSSAPI Kerberos 5 support: Yes
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: Yes
Runtime Instrumentation (slow code): No
Die einzigen Änderungen, die ich an rsyslog conf vorgenommen habe, sind die folgenden zwei:
Dies ist ganz oben in meiner rsyslog conf-Datei:
$MaxMessageSize 64k
Dies ist ganz unten in meiner rsyslog conf-Datei:
$template RemoteHost,"<%%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%
*.* @my-rsyslog-central-logger:514; RemoteHost
Weiß jemand, warum rsyslog Protokolle über UDP auf dem Remote-Host abschneidet, aber in der Lage ist, die Protokolle beim Schreiben in die lokalen Dateien zu verarbeiten?
** Hinweis: Ich habe überprüft, ob es auf dem Remote-rsyslog-Host nicht passiert ist, indem ich mit netcat einen lokalen Port abgehört habe, an den rsyslog über UDP weitergeleitet hat.
** Hinweis: Ich habe TCP ausprobiert und die große weitergeleitete Nachricht wurde nicht abgeschnitten. Daher stellt sich jetzt die Frage, warum UDP abgeschnitten wird. (Ich gehe davon aus, dass die Antwort möglicherweise mit den Eigenschaften von UDP zusammenhängt, möchte sie aber dennoch wissen und möglicherweise nach Möglichkeit für UDP-weitergeleitete Nachrichten beheben.)