Neue Syslog-Funktion hinzufügen


27

Ich möchte Syslog verwenden, um Nachrichten von meiner PHP-basierten Site zu protokollieren. Meine Frage lautet: Kann ich einen benutzerdefinierten Einrichtungsnamen hinzufügen? Ich weiß, dass es vordefinierte Einrichtungen gibt wie:

auth, authpriv, cron, dæmon, kern, lpr, mail, mark, news, syslog, user, UUCP and local0 through local7.

Und soweit ich weiß, könnte ich dafür local0 - local6-Einrichtungen verwenden.

Aber ich habe das Gefühl, wenn ich so etwas zu syslog hinzufügen könnte:

mySiteName.* /var/log/mySiteName.log

Es wäre für andere visuell leichter zu verstehen. Leider führt die Überweisung zu:

rsyslogd-3000: unknown facility name "mySiteName"

Gibt es eine Möglichkeit, einen benutzerdefinierten Einrichtungsnamen zu verwenden?

Antworten:


27

Die Syslog- Schnittstelle erlaubt nur einen festen Satz von Einrichtungen, die durch Konstanten in definiert sind /usr/include/sys/syslog.h. Die einzige Bestimmung für benutzerdefinierte Einrichtungen ist local0durch local7.

Um die Protokolle verschiedener Server zu trennen, können Sie Filter verwenden, um den Ursprung oder den Text jeder Protokollnachricht abzugleichen. Rsyslog verfügt über ziemlich leistungsfähige Filter (lesen Sie die Eigenschaften, die für den Abgleich verfügbar sind ).


7

Nicht genau auf die Frage zutreffend, aber hoffentlich nützliches Beispiel für Daemons, die keine eigene Einrichtung bereitstellen:

:programname, isequal, "uptimed" /var/log/uptimed.log

2
Auf welche Syslog-Implementierung beziehen Sie sich? (Oder ist das Standard?)
Sr_

1
Das Hinzufügen dieser Zeile zu /etc/rsyslog.conf funktionierte mit rsyslogd 8.4.2
ztk
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.