Syslog-Konfiguration – wiederholte Warnung?

Syslog-Konfiguration – wiederholte Warnung?

ich verwende Solaris 10 und habe diese Zeile in/etc/syslog.conf

*.err;kern.debug;daemon.notice;mail.crit;auth.debug;local2.notice       /var/adm/messages

Bedeutet das, dass ich, wenn ich eineauth.err, die Fehlermeldung wird bei mir /var/adm/messagezweimal angezeigt, und zwar aus folgendem Grund:

*.err  
auth.debug 

Nehmen wir an, ich habe auch eine andere Zeile, nämlich:

*.emerg  *
*.err;kern.debug;daemon.notice;mail.crit;auth.debug;local2.notice       /var/adm/messages

Bedeutet das, dass ich, wenn ich einekernel.emerg, es wird zweimal angemeldet, /var/adm/messagesum

 *.emerg  *   and
kern.debug  /var/adm/messages

?

=======

Hinzugefügt zu

auth.notice         ifdef(`LOGHOST', /var/log/authlog, @loghost) 
  • Wie überprüft Syslog, ob diese Maschine ein Loghost ist oder nicht? Indem es /etc/hosts auf den Alias ​​„loghost“ überprüft und prüft, ob er mit der IP der Maschine übereinstimmt?

  • Ich habe syslog.conf ohne ifdef und es funktioniert trotzdem. Ist ifdef notwendig oder nicht?

Antwort1

Bei den Regeln handelt es sich größtenteils um das Definieren von Filtern, die zur Laufzeit auf jede Nachricht angewendet werden. In Wirklichkeit sollten Sie also keine doppelten Nachrichten im selben Ziel/in derselben Datei haben.

Für eine einzelne Aktion können mehrere Selektoren angegeben werden. Trennzeichen sind Semikolon ('';''). Beachten Sie, dass jeder Selektor im Selektorfeld die vorhergehenden überschreiben kann.

Sie können jedoch die gleiche Nachricht erhalten, die an verschiedene Dateien gesendet wird, einschließlich der Konsole.

Im Fall von

*.emerg *

Dies ist eine Abkürzung für alle Benutzer im Syslog und wird für alle Benutzer gelten.

Alle angemeldeten

Notfallnachrichten werden häufig an alle Benutzer gesendet, die gerade online sind, um sie darüber zu informieren, dass etwas Seltsames mit dem System passiert. Um diese wall(1)-Funktion anzugeben, verwenden Sie ein Asterisk (''*'').

In einem kernel.emerg wird es also tatsächlich sowohl an alle Benutzer als auch gleichzeitig an /var/adm/messages gesendet. Es wird jedoch nur eine Zeile in /var/adm/messages sein.

Das Verhalten des ursprünglichen BSD-Syslogd besteht darin, dass alle Nachrichten der angegebenen Priorität und höher entsprechend der angegebenen Aktion protokolliert werden.

Zitate aus syslog.confder Manpage:

man-Seite für syslog.conf(5)

was das ifdef betrifft, nehmen wir als Beispiel:

auth.notice         ifdef(`LOGHOST', /var/log/authlog, @loghost) 

Wenn LOGHOST definiert ist (d. h. dieses Syslog ist ein LOGHOST), wird das Protokoll/die Nachricht an /var/log/authlog gesendet, andernfalls an @loghost.

Für ifdef ist dies keine Voraussetzung, und für LOGHOST gilt gemäßdiese Seitees handelt sich um den Namen der Maschine aus der Datei /etc/hosts (oder evtl. DNS, nur zum Testen)

Bearbeiten Sie /etc/hosts (./inet/hosts) und fügen Sie eine oder mehrere Zeilen hinzu, die die IP-Adresse für den Loghost definieren (der Name ist beliebig, und wenn mehrere Remote-Hosts definiert sind, können Sie einen beliebigen Namen verwenden).

verwandte Informationen