Frage Welche Programmstandardwerte verwendet syslog local [0-7] facilities?


Sowie die gemeinsamen Systemeinrichtungen (mail, news, daemon, cronusw.), bietet syslog eine Reihe von "lokalen" Einrichtungen mit den Nummern 0 bis 7: LOCAL0, LOCAL1, ..., LOCAL7.

Welche sind Programmstandardwerte für allgemeine Anwendungen?

Ich möchte herausfinden, welche Einrichtungen "traditionell" für bekannte Dienstleistungen genutzt werden. Ich werde eine Anwendung über viele Server mit verschiedener installierter Software bereitstellen und würde gerne sehen, ob es eine "kostenlose" Einrichtung gibt, die ich problemlos für meine eigenen Protokolle verwenden könnte.

Als eine Anmerkung merke ich, dass es andere Möglichkeiten gibt, dies zu tun als eine Syslog-Einrichtung. Nur neugierig!

Hier sind einige, (ein Anfang, um meine eigene Frage zu beantworten) und ein Dankeschön an voretaq7:

  • LOCAL0 wird von postgresql benutzt
  • LOCAL2 wird von Sudo verwendet
  • LOCAL3 wird von einigen Versionen von SpamAssassin verwendet
  • LOCAL4 wird standardmäßig von slapd (OpenLDAP-Server) verwendet
  • LOCAL5 wird manchmal von Snort IDS verwendet
  • LOCAL7 wird für Boot-Nachrichten auf Fedora 12 verwendet

19
2018-02-23 19:02


Ursprung


Sind nicht alle Protokolle mit dem Namen des Prozesses oder einem benutzerdefinierten Namen, der sie gesendet hat, verknüpft? Ich benutze, um mit syslogs zu arbeiten, und ich erinnere mich nicht daran, Probleme beim Filtern von Protokolleinträgen nach App zu bekommen. - Clutch
Clutch, Sie beziehen sich auf das Syslog-Tag. Standardmäßig besteht das Tag unter Linux aus dem Prozessnamen und der ID, z. B. "httpd [1234]", die die Protokollnachricht generiert hat. Sie können das Tag jedoch über die Syslog-API auf das einstellen, was Sie möchten. Siehe meine Antwort unten für weitere Details. - Ryan B. Lynch


Antworten:


Das LOCALn Einrichtungen stehen für jede lokale Nutzung zur Verfügung und können ziemlich unterschiedlich von Ort zu Ort variieren.

Ich garantiere, dass jeder der 8 verfügbaren von etwas verwendet wird, also wenn Sie Konflikte vermeiden möchten, ist mein bester Rat, alle 7 zu protokollieren, um Protokolle zu trennen und dasjenige auszuwählen, das nichts anderes zu verwenden scheint.

Einige, die Sie verpasst haben (Programmstandardwerte - können lokal geändert werden, überprüfen Sie also Folgendes):

  • LOCAL0 Wird von postgresql verwendet (wenn für die Anmeldung an syslog konfiguriert)
  • LOCAL2 wird von sudo verwendet (wenn für die Protokollierung auf syslog konfiguriert)
  • LOCAL3 wird von einigen Versionen von SpamAssassin verwendet
    • Dies wird oft vom lokalen Administrator geändert, um sich anzumelden mail stattdessen
  • LOCAL5 wird manchmal von Snort IDS verwendet
    • Ich weiß nicht, ob das ein Standard oder nur Zufall ist, aber ich habe es auf mehreren Snort-Installationen gesehen

7
2018-02-23 19:44



Großartig! Genau das suche ich - Programmstandards. Mehr sind willkommen! Natürlich werden verschiedene Einrichtungen genutzt werden, ich bin nur auf der Suche nach Anwendungen, denen ich im Wege stehen werde. - Jonathan Clarke


Es gibt keinen Standard für die Syslog-Einrichtungen LOCAL0-LOCAL7. Von Design können Sie nicht darauf zählen, ob sie von irgendetwas verwendet werden. Bestimmte Distributionen oder Organisationen können ihre eigenen Konventionen haben, aber das hängt von Distro- oder Organisationsrichtlinien ab, nicht von einem allgemeineren Standard.

Möchten Sie als Alternative Syslog-Tags verwenden? Tags sind Freiform-Zeichenfolgen, denen Nachrichten vorangestellt werden, um bestimmte Anwendungen oder Protokollkanäle zu identifizieren. Standardmäßig wird das Tag normalerweise aus dem Prozessnamen und der ID (z. B. "httpd [2839]") gebildet, die die Protokolldaten generiert haben. Das Befehlszeilenprogramm "Logger" und die meisten Syslog-APIs unterstützen die Angabe von Tags, die Sie für Ihre Anwendungen verwenden möchten.

Ich persönlich benutze zum Beispiel gerne "http-access" für meine Apache-Webserver-Zugriffsprotokolle, die ich an Syslog sende, indem ich die Log-Ausgabe von Apache an den Befehl 'logger -p local7.info -t' http-access 'weiterleite.


2
2018-02-23 21:29



Interessant, danke. Ich baue jedoch eine Lösung zusätzlich zu einer vorhandenen Software auf, die so konfiguriert werden kann, dass sie sich an einen von LOCAL0 bis LOCAL7 anmeldet. Meine Frage betrifft wirklich die Standardeinstellungen, die verschiedene Software verwendet. - Jonathan Clarke
Macht Sinn, das habe ich vermisst. Aber ich möchte darauf hinweisen, dass hier die Gefahr besteht, sich auf nicht standardisiertes Verhalten zu verlassen. Die Entwickler oder Packager von OpenLDAP, Fedora, etc. können (und tun manchmal) diese Verhaltensweisen von Version zu Version ändern. Es kann nicht garantiert werden, dass ein Update nicht von den in der Vergangenheit vorgenommenen Syslog-Einstellungen abweicht. Dies ist kein Deal-Breaker, nur ein potenzielles Problem, auf das Sie achten sollten. - Ryan B. Lynch


Die meisten syslog.conf-Dateien werden mit Platzhalterfunktionen für die Nachrichtendatei (* .info) eingerichtet. Wenn es sich nur um eine App für den Lauf der Mühle handelt, und nicht um eine ausgewachsene Kuh, sollten Sie sich wahrscheinlich nur an Nachrichten und nicht an eine eigenständige Datei anmelden.

Wenn Sie sich für eine eigene Datei anmelden, müssen Sie den Installationspaketen Ihrer Software einen Postinstall-Schritt hinzufügen, der einen entsprechenden Eintrag in syslog.conf hinzufügt. Dies bedeutet auch, dass Sie, wenn Sie nett sind, einen Postinstall-Schritt hinzufügen würden, der ebenfalls eine entsprechende Logrotate-Datei erstellt.


2
2018-02-24 08:37



Guter Tipp bezüglich der Verpackung für Syslog und Logrotate. Vielen Dank. - Jonathan Clarke


Ich suchte auch nach einer Konfigurationsdatei wie syslog.conf, um auf die local0-7-Einrichtungen auf das Programm, das auf sie schreibt, Bezug zu nehmen. Es scheint, dass eine solche Konfigurationsdatei nicht existiert. Um herauszufinden, welches Programm in das Protokoll geschrieben wird, müssen Sie die Protokolldatei öffnen und den Programmnamen neben der Spalte neben dem Doppelpunkt finden, zum Beispiel ... sendmail [22950]: ist für das sendmail-Programm. Die Zahl in den eckigen Klammern steht für die Portnummer, die während der Ausführung des Programms verwendet wurde.


-3
2017-11-05 01:00