Ich habe ein Programm, das Syslog mit einem bestimmten Tag / Programmnamen ausgibt. Ich möchte in der Lage sein, den Syslog-Verkehr aus diesem Programm herauszufiltern und an einen entfernten Syslog-Server zu senden, wobei der gesamte andere Syslog-Verkehr lokal bleibt.
Ich kann den gesamten Datenverkehr mit an den Remote-Server senden
*.* @remote_server
Wie filtere ich es?
Antworten:
Rsyslog-Konfigurationsdateien befinden sich in:
/etc/rsyslog.d/*.conf
Rsyslog liest die conf-Dateien nacheinander, daher ist es wichtig, dass Sie Ihre Konfigurationsdatei so benennen, dass die spezifische Konfiguration geladen wird, bevor etwas anderes passiert. Nennen Sie Ihre Datei also beginnend mit führenden Nullen
00-my-file.conf
. Es ist besser, eine neue Datei zu erstellen, damit Updates usw. Ihre lokale Konfiguration nicht überschreiben.Beispiel:
Oder wenn Sie nur bestimmte Einträge verwerfen möchten:
In deinem Fall: (UDP)
Oder (TCP)
Die
& ~
Möglichkeit, die Verarbeitung passender Einträge (nur in der vorherigen Zeile!) Zu beenden.Einige allgemeinere Informationen:
Stellen Sie außerdem immer sicher, dass sich die Filter in derselben Zeile befinden:
Nützliche Filter:
Betreiber:
Weitere Informationen: http://wiki.rsyslog.com/index.php/Configuration_Samples
quelle
Das können wir auch versuchen. Es funktioniert gut für mich.
HINWEIS: Hier
testing_docker
sollte dem Syslog-Benutzer der Besitz eines Ordners übertragen werden. Befolgen Sie den folgenden Befehl, um Berechtigungen festzulegen.quelle