Ich habe die Haproxy-Protokollierung über rsyslogd mit den Tipps aus diesem Artikel eingerichtet , und alles scheint gut zu funktionieren. Die Protokolldateien erhalten die Protokollnachrichten.
Jede Protokollmeldung von haproxy wird jedoch auch unter angezeigt /var/log/syslog
. Dies bedeutet, dass das Syslog nach dem Start des Servers unbrauchbar wird, da es mit Haproxy-Log-Meldungen überflutet wird.
Ich möchte diese Nachrichten aus herausfiltern /var/log/syslog
. Nachdem ich die rsyslogd-Dokumentation durchgesehen hatte, versuchte ich, die Datei folgendermaßen zu ändern /etc/rsyslog.d/50-default.conf
:
*.*;auth,authpriv.none;haproxy.none -/var/log/syslog
Ich habe das ;haproxy.none
Teil einfach hinzugefügt . Nach dem Neustart von rsyslogd funktionierte es nicht mehr, bis ich meine Änderungen zurücksetzte.
Was mache ich falsch?
rsyslogd-2307: warning: ~ action is deprecated, consider using the 'stop' statement instead [try http://www.rsyslog.com/e/2307 ]
& stop
anstelle von& ~
: rsyslog.com/doc/v8-stable/compatibility/v7compatibility.html erläutert .Die Verwendung von
& ~
wurde in Version 7 von rsyslogd verworfen, und Sie werden aufgefordert,& stop
stattdessen zu verwenden . Weitere Informationen hierzu finden Sie in diesem Abschnitt der v7-Kompatibilitätsseite .Also für HAProxy so etwas stattdessen:
In
& stop
Bezug auf die Funktionsweise weist der Befehl rsyslogd an, alle zusätzlichen Nachrichten zu verwerfen, die bis zu diesem Punkt mit den zuvor übereinstimmenden Regeln übereinstimmten. Um sicherzustellen, dass diese Regel frühzeitig erkannt wird, können Sie den Namen der Datei von/etc/rsyslog.d/haproxy.conf
in ändern/etc/rsyslog.d/00-haproxy.conf
.quelle
Ok, ich habe es herausgefunden. So
/etc/rsyslog.d/20-haproxy.conf
sieht mein aus:Ich habe die Zeile geändert in
50-default.conf
:Und jetzt scheint es zu tun, was ich will.
quelle
Es gibt eine bessere Lösung für die Haproxy-Protokollierung.
/dev/log
Laut offiziellem Handbuch muss rsyslog so konfiguriert sein, dass es auf den Netzwerk-Socket hört:
Dafür können Sie jedoch nur rsyslog-Sockets verwenden:
rsyslog.d / haproxy.conf:
haproxy.cfg:
quelle
Ich bevorzuge es, mich nicht mit der Reihenfolge der Datei herumzuschlagen, also füge ich stattdessen eine local0.none der hinzu . Zeileneintrag. Konfig sieht so aus:
(Getestet unter CentOS 7)
Hoffentlich hilft das!
quelle