Auf dieser Seite
Systemprotokollierung auf einem System mit nur einem Chassis
Konfigurationsübersicht über die Protokollierung von Single-Chassis-Systemen
Das Dienstprogramm für die Systemprotokollierung von Junos ähnelt dem UNIX-Dienstprogramm syslogd
. In diesem Abschnitt wird beschrieben, wie Sie die Systemprotokollierung für ein System mit einem Gehäuse konfigurieren, auf dem das Betriebssystem Junos ausgeführt wird.
Die Konfiguration der Systemprotokollierung für die Junos-FIPS-Software und für Geräte von Juniper Networks in einer Common Criteria-Umgebung ist dieselbe wie für das Junos-Betriebssystem. Weitere Informationen finden Sie im Secure Configuration Guide for Common Criteria und Junos-FIPS.
Informationen zum Konfigurieren der Systemprotokollierung für eine Routing-Matrix, die aus einem TX-Matrix-Router und T640-Routern besteht, finden Sie unter Konfigurieren der Systemprotokollierung für einen TX-Matrix-Router.
Jede Systemprotokollmeldung gehört zu einer Einrichtung, die zusammengehörige Meldungen gruppiert. Jeder Meldung ist außerdem ein Schweregradzugewiesen, der angibt, wie stark sich das auslösende Ereignis auf die Routerfunktionen auswirkt. Sie geben immer die Einrichtung und den Schweregrad der Meldungen an, die in das Protokoll aufgenommen werden sollen. Weitere Informationen finden Sie unter Angeben der Einrichtung und des Schweregrads von Meldungen, die in das Protokoll aufgenommen werden sollen.
Sie leiten Nachrichten an ein oder mehrere Ziele weiter, indem Sie die entsprechende Anweisung auf der [edit system syslog]
Hierarchieebene einfügen:
In eine benannte Datei in einem lokalen Dateisystem, indem Sie die
file
Anweisung einschließen. Weitere Informationen finden Sie unter Weiterleiten von Systemprotokollmeldungen an eine Protokolldatei.Für die Terminalsitzung eines oder mehrerer bestimmter Benutzer (oder aller Benutzer), wenn sie am Router angemeldet sind, indem Sie die
user
Anweisung einfügen. Weitere Informationen finden Sie unter Weiterleiten von Systemprotokollmeldungen an ein Benutzerterminal.An die Routerkonsole, indem Sie die
console
Anweisung einfügen. Weitere Informationen finden Sie unter Weiterleiten von Systemprotokollmeldungen an die Konsole.-
Für einen Remotecomputer, auf dem das syslogd Dienstprogramm ausgeführt wird, indem Sie die
host
Anweisung einfügen. Weitere Informationen finden Sie unter Weiterleiten von Systemprotokollmeldungen an einen Remote-Computer.
Standardmäßig werden Nachrichten in einem Standardformat protokolliert, das auf einem UNIX-Systemprotokollformat basiert. Ausführliche Informationen zur Nachrichtenformatierung finden Sie im Systemprotokoll-Explorer. Sie können den Inhalt und das Format protokollierter Nachrichten auf folgende Weise ändern:
Sie können Meldungen in einer Datei im strukturierten Datenformat anstelle des standardmäßigen Junos-Formats protokollieren. Das strukturierte Datenformat bietet mehr Informationen, ohne die Länge wesentlich zu verlängern, und erleichtert es automatisierten Anwendungen, Informationen aus der Nachricht zu extrahieren. Weitere Informationen finden Sie unter Protokollieren von Meldungen im Format mit strukturierten Daten.
Die Einrichtung und der Schweregrad einer Nachricht werden zusammen als ihre Prioritätbezeichnet. Standardmäßig enthält das standardmäßige Junos-Format für Nachrichten keine Prioritätsinformationen (das strukturierte Datenformat enthält standardmäßig einen Prioritätscode). Um Prioritätsinformationen in Nachrichten im Standardformat einzuschließen, die an eine Datei oder ein Remoteziel gerichtet sind, fügen Sie die
explicit-priority
Anweisung ein. Weitere Informationen finden Sie unter Einschließen von Prioritätsinformationen in Systemprotokollmeldungen.Standardmäßig gibt das standardmäßige Junos-Format für Nachrichten den Monat, das Datum, die Stunde, die Minute und die Sekunde an, in der die Nachricht protokolliert wurde. Sie können den Zeitstempel von Systemprotokollmeldungen im Standardformat so ändern, dass er das Jahr, die Millisekunde oder beides enthält. (Das strukturierte Datenformat gibt standardmäßig das Jahr und die Millisekunde an.) Weitere Informationen finden Sie unter Einfügen des Jahres oder der Millisekunde in Zeitstempel.
-
Wenn Sie Nachrichten an einen Remotecomputer weiterleiten, können Sie die IP-Adresse, die in Nachrichten gemeldet wird, als Quelle angeben. Sie können auch Funktionen konfigurieren, die das Trennen von Nachrichten, die von Junos OS generiert werden, von Nachrichten, die auf bestimmten Geräten generiert wurden, erleichtern. Weitere Informationen finden Sie unter Weiterleiten von Systemprotokollmeldungen an einen Remotecomputer.
Die vordefinierten Einrichtungen gruppieren zusammengehörige Meldungen, aber Sie können auch reguläre Ausdrücke verwenden, um genauer anzugeben, welche Meldungen von einer Einrichtung in einer Datei, einem Benutzerterminal oder einem entfernten Ziel protokolliert werden. Weitere Informationen finden Sie unter Verwenden von Zeichenfolgen und regulären Ausdrücken zum Verfeinern des Satzes protokollierter Nachrichten.
Während einer Commit-Prüfung werden keine Warnungen zur traceoptions Konfiguration (z. B. Nichtübereinstimmung der Trace-Dateigrößen oder der Anzahl der Trace-Dateien) auf der Konsole angezeigt. Diese Warnungen werden jedoch in den Systemprotokollmeldungen protokolliert, wenn die neue Konfiguration festgeschrieben wird.
Konfigurationsanweisungen für das Junos OS-Systemprotokoll
Um den Switch so zu konfigurieren, dass Systemmeldungen protokolliert werden, fügen Sie die syslog
Anweisung auf Hierarchieebene [edit system]
ein:
[edit system] syslog { archive <files number> <size size> <world-readable | no-world-readable>; console { facility severity; } file filename { facility severity; archive <archive-sites (ftp-url <password password>)> <files number> <size size> <start-time "YYYY-MM-DD.hh:mm"> <transfer-interval minutes> <world-readable | no-world-readable>; explicit-priority; match "regular-expression"; structured-data { brief; } } host hostname { facility severity; explicit-priority; facility-override facility; log-prefix string match "regular-expression"; } source-address source-address; time-format (year | millisecond | year millisecond); user (username | *) { facility severity; match "regular-expression"; } }
Junos OS-Mindestkonfiguration für die Systemprotokollierung
Um Systemprotokollmeldungen aufzuzeichnen oder anzuzeigen, müssen Sie die syslog
Anweisung auf Hierarchieebene [edit system]
einfügen. Geben Sie mindestens ein Ziel für die Nachrichten an, wie in Tabelle 1beschrieben. Weitere Informationen zu den Konfigurationsanweisungen finden Sie unter Konfigurationsübersicht für die Systemprotokollierung mit einem Chassis.
Bestimmungsort |
Minimale Konfigurationsanweisungen |
---|---|
Datei |
[edit system syslog] file filename { facility severity; } |
Terminalsitzung mit einem, mehreren oder allen Benutzern |
[edit system syslog] user (username | *) { facility severity; } |
Router oder Switch-Konsole |
[edit system syslog] console { facility severity; } |
Remote-Computer oder die andere Routing-Engine auf dem Router oder Switch |
[edit system syslog] host (hostname | other-routing-engine) { facility severity; } |
Beispiel: Konfigurieren von Systemprotokollmeldungen
Das QFabric-System überwacht Ereignisse, die auf seinen Komponentengeräten auftreten und verteilt Systemprotokollnachrichten über diese Ereignisse an alle externen Systemprotokollnachrichtenserver (Hosts), die konfiguriert sind. Zu den Komponentengeräten können Node-Geräte, Interconnect-Geräte, Director-Geräte und das virtuelle Chassis gehören. Nachrichten werden nur zur Ansicht in der QFabric-Systemdatenbank gespeichert. Um die Meldungen anzuzeigen, geben Sie den show log
Befehl ein.
Dieses Beispiel beschreibt, wie Systemprotokollmeldungen auf dem QFabric-System konfiguriert werden.
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
Junos OS Version 12.2
QFabric-System
Externe Server, die als Hosts für Systemprotokollmeldungen konfiguriert werden können
Überblick
Komponentengeräte, die Systemprotokollmeldungsereignisse generieren, können Node-Geräte, Interconnect-Geräte, Director-Geräte und die Switches der Steuerungsebene umfassen. Das folgende Konfigurationsbeispiel enthält diese Komponenten im QFabric-System:
Director-Software, die in der Director-Gruppe ausgeführt wird
Switches der Steuerungsebene
Interconnect-Gerät
Geräte mit mehreren Knoten
Konfiguration
Verfahren
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene [edit]
ein.
set system syslog host 10.1.1.12 any error set system syslog file qflogs set system syslog file qflogs structured-data brief set system syslog file qflogs archive size 1g
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch .
So konfigurieren Sie Systemmeldungen vom QFabric Director-Gerät:
Geben Sie einen Host, eine beliebige Einrichtung und den
error
Schweregrad an.[edit system syslog] user@switch# set host 10.1.1.12 any error
HINWEIS:Sie können mehr als einen Systemprotokollmeldungsserver (Host) konfigurieren. Das QFabric-System sendet die Nachrichten an jeden konfigurierten Server.
(Optional) Geben Sie einen Dateinamen an, um Protokollmeldungen zu erfassen.
HINWEIS:Auf dem QFabric-System wird eine Syslog-Datei mit dem Namen messages implizit mit Facility- und Schweregraden und
any any
einer Dateigröße von 100 MB konfiguriert. Daher können Sie den Dateinamen messages nicht in Ihrer Konfiguration angeben, und die automatische Befehlsvervollständigung funktioniert für diesen Dateinamen nicht.[edit system syslog] user@switch# set file qflogs structured-data brief user@switch# set file qflogs
(Optional) Konfigurieren Sie die maximale Größe der Archivdatei für Systemprotokollmeldungen. In diesem Beispiel wird eine Archivgröße von 1 GB angegeben.
[edit system syslog] user@switch# set file qflogs archive size 1g
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show system
Befehl eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
[edit] user@switch# show system syslog { file qflogs { } host 10.1.1.12 { any error; } }
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit
.
Protokollmeldungen im Format mit strukturierten Daten
Sie können Meldungen in einer Datei im Format mit strukturierten Daten anstelle des standardmäßigen Junos OS-Formats protokollieren. Das strukturierte Datenformat bietet mehr Informationen, ohne dass die Länge erheblich verlängert werden muss, und erleichtert automatisierten Anwendungen das Extrahieren von Informationen aus einer Nachricht.
Das Format für strukturierte Daten entspricht dem Internetstandard RFC 5424 ( The Syslog Protocol), der sich in https://tools.ietf.org/html/rfc5424befindet. Der RFC legt unabhängig von der Quelle oder dem Transportprotokoll für protokollierte Nachrichten ein Standardnachrichtenformat fest.
Um Nachrichten in einer Datei im Format mit strukturierten Daten auszugeben, fügen Sie die structured-data
Anweisung auf Hierarchieebene [edit system syslog file filename]
ein:
[edit system syslog file filename] facility severity; structured-data { brief; }
Die optionale brief
Anweisung unterdrückt den englischsprachigen Text, der standardmäßig am Ende einer Meldung angezeigt wird, um den Fehler oder das Ereignis zu beschreiben.
Das strukturierte Format wird für alle in der Datei protokollierten Nachrichten verwendet, die von einem Junos-Prozess oder einer Junos-Softwarebibliothek generiert werden.
Wenn Sie eine oder beide der explicit-priority
and-Anweisungen time-format
zusammen mit der structured-data
Anweisung einfügen, werden sie ignoriert. Diese Anweisungen gelten für das standardmäßige Junos OS-Systemprotokollformat, nicht für das Format mit strukturierten Daten.
Angeben von Größe, Anzahl und Archivierungseigenschaften der Protokolldatei
Um zu verhindern, dass Protokolldateien zu groß werden, schreibt das Systemprotokollierungsdienstprogramm von Junos OS standardmäßig Meldungen in eine Reihe von Dateien mit einer definierten Größe. Die Dateien in der Sequenz werden als Archivdateien bezeichnet, um sie von der aktiven Datei zu unterscheiden, in die Nachrichten gerade geschrieben werden. Die standardmäßige maximale Größe hängt vom Plattformtyp ab:
128 Kilobyte (KB) für Switches der EX-Serie
1 Megabyte (MB) für Router der M-, MX- und T-Serie
10 MB für TX Matrix- oder TX Matrix Plus-Router
1 MB für die QFX-Serie
Wenn eine aufgerufene aktive Protokolldatei logfile die maximale Größe erreicht, schließt das Protokollierungsprogramm die Datei, komprimiert sie und benennt die komprimierte Archivdatei logfile.0.gz. Das Protokollierungsprogramm wird dann geöffnet und schreibt in eine neue aktive Datei mit dem Namen logfile. Dieser Vorgang wird auch als Dateirotation bezeichnet. Wenn das neue logfile die konfigurierte maximale Größe erreicht, logfile.0.gz wird umbenannt logfile.1.gzund das neue logfile geschlossen, komprimiert und umbenannt logfile.0.gz. Standardmäßig erstellt das Protokollierungsprogramm auf diese Weise bis zu 10 Archivdateien. Wenn die maximale Anzahl von Archivdateien erreicht ist und wenn die Größe der aktiven Datei die konfigurierte maximale Größe erreicht, wird der Inhalt der zuletzt archivierten Datei durch die aktuell aktive Datei überschrieben. Das Protokollierungsdienstprogramm schränkt standardmäßig auch die Benutzer ein, die Protokolldateien lesen können, auf den root
Benutzer und Benutzer mit Junos OS-Berechtigung maintenance
.
Junos OS stellt eine Konfigurationsanweisung log-rotate-frequency
bereit, mit der die Häufigkeit der Rotation der Systemprotokolldatei konfiguriert wird, indem das Zeitintervall für die Überprüfung der Protokolldateigröße konfiguriert wird. Die Frequenz kann auf einen Wert von 1 Minute bis 59 Minuten eingestellt werden. Die Standardhäufigkeit beträgt 15 Minuten.
Um die Häufigkeit der Protokollrotation zu konfigurieren, schließen Sie die log-rotate-frequency
Anweisung auf Hierarchieebene [edit system syslog]
ein.
Sie können die archive
Anweisung einfügen, um die maximale Größe jeder Datei, die Anzahl der erstellten Archivdateien und die Personen, die Protokolldateien lesen können, zu ändern.
Um Werte zu konfigurieren, die für alle Protokolldateien gelten, fügen Sie die archive
Anweisung auf Hierarchieebene [edit system syslog]
ein:
archive <files number> <size size> <world-readable | no-world-readable>;
Um Werte zu konfigurieren, die für eine bestimmte Protokolldatei gelten, fügen Sie die archive
Anweisung auf Hierarchieebene [edit system syslog file filename]
ein:
archive <archive-sites (ftp-url <password password>)> <files number> <size size> <start-time "YYYY-MM-DD.hh:mm"> <transfer-interval minutes> <world-readable | no-world-readable> ;
archive-sites site-name
Gibt eine Liste der Archivsites an, die Sie zum Speichern von Dateien verwenden möchten. Der site-name
Wert ist eine beliebige gültige FTP-URL zu einem Ziel. Wenn mehr als ein Sitename konfiguriert ist, wird eine Liste von Archivsites für die Systemprotokolldateien erstellt. Wenn eine Datei archiviert wird, versucht der Router oder Switch, die Datei an die erste URL in der Liste zu übertragen, und wechselt nur dann zur nächsten Site, wenn die Übertragung nicht erfolgreich ist. Die Protokolldatei wird an der Archivstelle mit dem angegebenen Protokolldateinamen gespeichert. Weitere Informationen zum Angeben gültiger FTP-URLs finden Sie unter Format zum Angeben von Dateinamen und URLs in Junos OS CLI-Befehlen.
binary-data
Markieren Sie die Datei als Binärdaten. Dies ermöglicht die ordnungsgemäße Archivierung von Binärdateien, wie z.B. WTMP-Dateien (Anmeldedatensätze für UNIX-basierte Systeme). Um die Standardeinstellung wiederherzustellen, schließen Sie die no-binary-data
Anweisung ein.
files number
Gibt die Anzahl der Dateien an, die erstellt werden sollen, bevor die älteste Datei überschrieben wird. Der Wert kann zwischen 1 und 1000 liegen.
size size
Gibt die maximale Größe jeder Datei an. Der Wert kann zwischen 64 KB (64 KB) und 1 Gigabyte (1 g) liegen. Um Megabyte darzustellen, verwenden Sie den Buchstaben m
nach der ganzen Zahl. Zwischen den Ziffern und dem k
Buchstaben , m
, oder g
units ist kein Leerzeichen vorhanden.
start-time "YYYY-MM-DD.hh:mm"
Definiert das Datum und die Uhrzeit in der lokalen Zeitzone für eine einmalige Übertragung der aktiven Protokolldatei an die erste erreichbare Site in der Liste der durch die archive-sites
Anweisung angegebenen Sites.
transfer-interval interval
Legt fest, wie lange die aktuelle Protokolldatei geöffnet bleibt (auch wenn sie nicht die maximal mögliche Größe erreicht hat) und neue Statistiken erhält, bevor sie geschlossen und an eine Archivseite übertragen wird. Dieser Intervallwert kann zwischen 5 und 2880 Minuten liegen.
world-readable
Ermöglicht allen Benutzern das Lesen von Protokolldateien. Um die Standardberechtigungen wiederherzustellen, fügen Sie die no-world-readable
Anweisung ein.
Einfügen von Prioritätsinformationen in Systemprotokollmeldungen
Die Einrichtung und der Schweregrad einer Nachricht werden zusammen als ihre Prioritätbezeichnet. Standardmäßig enthalten Nachrichten, die im Standardformat von Junos OS protokolliert werden, keine Informationen zur Priorität. Um Prioritätsinformationen in Nachrichten im Standardformat einzuschließen, die an eine Datei gerichtet sind, fügen Sie die explicit-priority
Anweisung auf Hierarchieebene [edit system syslog file filename]
ein:
[edit system syslog file filename] facility severity; explicit-priority;
Nachrichten, die im strukturierten Datenformat protokolliert werden, enthalten standardmäßig Prioritätsinformationen. Wenn Sie die structured-data
Anweisung auf Hierarchieebene [edit system syslog file filename]
zusammen mit der explicit-priority
Anweisung einschließen, wird die explicit-priority
Anweisung ignoriert, und die Nachrichten werden im Format mit strukturierten Daten protokolliert.
Weitere Informationen zu dieser structured-data
Anweisung finden Sie unter Protokollieren von Nachrichten im Format mit strukturierten Daten.
Um Prioritätsinformationen in Nachrichten aufzunehmen, die an einen Remotecomputer oder die andere Routing-Engine gerichtet sind, fügen Sie die explicit-priority
Anweisung auf Hierarchieebene [edit system syslog host (hostname | other-routing-engine)]
ein:
[edit system syslog host (hostname | other-routing-engine)] facility severity; explicit-priority;
Diese other-routing-engine
Option gilt nicht für die QFX-Serie.
Die in einer Meldung erfasste Priorität gibt immer den ursprünglichen, lokalen Einrichtungsnamen an. Wenn die facility-override
Anweisung für Nachrichten enthalten ist, die an ein Remoteziel gerichtet sind, verwendet das Junos OS-Systemprotokollierungsdienstprogramm weiterhin den alternativen Einrichtungsnamen für die Nachrichten selbst, wenn sie an das Remoteziel weitergeleitet werden. Weitere Informationen finden Sie unter Ändern des alternativen Einrichtungsnamens für Systemprotokollmeldungen, die an ein entferntes Ziel gerichtet sind.
Wenn die explicit-priority
Anweisung enthalten ist, stellt das Junos OS-Protokollierungsdienstprogramm Codes für den Einrichtungsnamen und den Schweregrad dem Namen des Nachrichten-Tags voran, sofern die Nachricht einen solchen enthält:
FACILITY-severity[-TAG]
(Bei dem Tag handelt es sich um eine eindeutige Kennung, die einigen Junos OS-Systemprotokollmeldungen zugewiesen wird.)
Im folgenden Beispiel gehört die CHASSISD_PARSE_COMPLETE
Meldung zur daemon
Einrichtung und erhält den Schweregrad info
(6):
Aug 21 12:36:30 router1 chassisd[522]: %DAEMON-6-CHASSISD_PARSE_COMPLETE: Using new configuration
Wenn die explicit-priority
Anweisung nicht enthalten ist, wird die Priorität nicht in der Nachricht angezeigt:
Aug 21 12:36:30 router1 chassisd[522]: CHASSISD_PARSE_COMPLETE: Using new configuration
Systemprotokoll Einrichtungscodes und numerische Codes, die in den Prioritätsinformationen angegeben sind
Tabelle 2 Listet die Einrichtungscodes auf, die in Systemprotokollmeldungen angezeigt werden können, und ordnet sie den Namen von Einrichtungen zu.
Wenn die zweite Spalte in Tabelle 2 nicht den Namen der Junos OS-Einrichtung für einen Code enthält, kann die Einrichtung nicht in eine Anweisung auf Hierarchieebene [edit system syslog]
eingeschlossen werden. Junos OS verwendet möglicherweise die Funktionen in Tabelle 2und andere, die nicht aufgeführt sind, wenn Berichte über interne Vorgänge erstellt werden.
Code |
Name der Junos-Einrichtung |
Art des Ereignisses oder Fehlers |
---|---|---|
|
|
Authentifizierungs- und Autorisierungsversuche |
|
|
Authentifizierungs- und Autorisierungsversuche, die nur von Superusern eingesehen werden können |
|
|
Änderungen an der Junos OS-Konfiguration |
|
|
Die angegebene Konfiguration ist für den Routertyp ungültig |
|
|
Nachrichten, die von der Kernel-Konsolenausgabe r geschrieben /dev/console werden |
|
|
Ausgeführte Aktionen oder Fehler des Cron-Prozesses |
|
|
Ausgeführte Aktionen oder Fehler von Systemprozessen |
|
|
Ausgeführte Aktionen oder Fehler beim dynamischen Flow-Capture-Prozess |
|
|
Paketfilteraktionen, die von einem Firewallfilter ausgeführt werden |
|
|
Ausgeführte Aktionen oder Fehler des FTP-Prozesses |
|
|
Befehle, die an der CLI-Eingabeaufforderung von Junos OS ausgegeben oder von einer Clientanwendung wie einem Junos XML-Protokoll- oder NETCONF-Client aufgerufen werden |
|
|
Vom Junos-Kernel ausgeführte Aktionen oder Fehler |
|
|
Vom Network Time Protocol (NTP) ausgeführte Aktionen oder aufgetretene Fehler |
|
|
Von der Paketweiterleitungs-Engine ausgeführte Aktionen oder Fehler |
|
|
Ausgeführte Aktionen oder Fehler des Junos-Dienstprogramms für die Systemprotokollierung |
|
|
Ausgeführte Aktionen oder Fehler, die bei User-Space-Prozessen aufgetreten sind |
Tabelle 3 Listet die numerischen Schweregradcodes auf, die in Systemprotokollmeldungen angezeigt werden können, und ordnet sie Schweregraden zu.
Numerischer Code |
Schweregrad |
Beschreibung |
---|---|---|
|
|
Systempanik oder andere Zustände, die dazu führen, dass der Router nicht mehr funktioniert |
|
|
Bedingungen, die eine sofortige Korrektur erfordern, z. B. eine beschädigte Systemdatenbank |
|
|
Kritische Bedingungen, wie z. B. schwerwiegende Fehler |
|
|
Fehlerzustände, die in der Regel weniger schwerwiegende Folgen haben als Fehler in den Notfall-, Alarm- und kritischen Stufen |
|
|
Bedingungen, die eine Überwachung rechtfertigen |
|
|
Bedingungen, bei denen es sich nicht um Fehler handelt, die jedoch eine besondere Behandlung rechtfertigen können |
|
|
Relevante Ereignisse oder fehlerfreie Bedingungen |
|
|
Software-Debugging-Meldungen (diese werden nur angezeigt, wenn ein Mitarbeiter des technischen Supports Sie angewiesen hat, diesen Schweregrad zu konfigurieren) |
Fügen Sie das Jahr oder die Millisekunde in Zeitstempel ein
Standardmäßig gibt der in einer Systemprotokollnachricht im Standardformat aufgezeichnete Zeitstempel den Monat, das Datum, die Stunde, die Minute und die Sekunde an, in der die Nachricht protokolliert wurde, wie im folgenden Beispiel gezeigt:
Aug 21 12:36:30
Um das Jahr, die Millisekunde oder beides in den Zeitstempel einzubeziehen, fügen Sie die time-format
Anweisung auf der [edit system syslog]
Hierarchieebene oder [edit security log]
ein:
[edit system syslog] time-format (year | millisecond | year millisecond);
Der Zeitstempel für Traceoption-Nachrichten wird jedoch standardmäßig in Millisekunden angegeben und ist unabhängig von der [edit system syslog time-format]
Anweisung.
Der geänderte Zeitstempel wird in Nachrichten verwendet, die an jedes Ziel gerichtet sind, das durch eine , console
oder -file
user
Anweisung auf der Hierarchieebene konfiguriert wurde, jedoch nicht an Ziele, die [edit system syslog]
durch eine host
Anweisung konfiguriert wurden.
Standardmäßig sind in einer FreeBSD-Konsole die zusätzlichen Zeitinformationen nicht in Systemprotokollmeldungen verfügbar, die an jedes durch eine host
Anweisung konfigurierte Ziel gesendet werden. In einer Junos-OS-spezifischen Implementierung mit der FreeBSD-Konsole sind die zusätzlichen Zeitinformationen jedoch in Systemprotokollmeldungen verfügbar, die an jedes Ziel gerichtet sind.
Das folgende Beispiel veranschaulicht das Format für einen Zeitstempel, der sowohl die Millisekunde (401) als auch das Jahr (2006) enthält:
Aug 21 12:36:30.401 2006
Nachrichten, die im strukturierten Datenformat protokolliert werden, enthalten standardmäßig das Jahr und die Millisekunde. Wenn Sie die Anweisung für strukturierte Daten auf der [edit system syslog file filename]
Hierarchieebene zusammen mit der time-format
Anweisung einfügen, wird die Anweisung ignoriert, und Nachrichten time-format
werden im Format für strukturierte Daten protokolliert.
Weitere Informationen zu dieser structured-data
Anweisung finden Sie unter Protokollieren von Nachrichten im Format mit strukturierten Daten.
Verwenden Sie Zeichenfolgen und reguläre Ausdrücke, um den Satz protokollierter Nachrichten zu verfeinern
Die vordefinierten Einrichtungen gruppieren zusammengehörige Meldungen, aber Sie können Meldungen auch mit Zeichenfolgen und regulären Ausdrücken abgleichen, um zu verfeinern, welche Meldungen von einer Einrichtung in einer Datei, einem Benutzerterminal oder einem entfernten Ziel protokolliert werden.
Mit den match-strings
Anweisungen und match
configuration können Sie Systemprotokollmeldungen mit einer Zeichenfolge bzw. einem regulären Ausdruck abgleichen. Sie können diese Anweisungen auf den folgenden Hierarchieebenen einbinden:
[edit system syslog file filename]
(für eine Datei)[edit system syslog user (username | *)]
(für eine bestimmte Benutzersitzung oder für alle Benutzersitzungen auf einem Terminal)[edit system syslog host (hostname | other-routing-engine)]
(für ein abgelegenes Ziel)
Um Nachrichten anhand eines regulären Ausdrucks auszuwerten und nur übereinstimmende Nachrichten für das angegebene Ziel zu protokollieren, schließen Sie die match
Anweisung ein, und geben Sie den regulären Ausdruck an:
match
"regular-expression";
Ab Junos OS Version 16.1 können Sie einfache Zeichenfolgenvergleiche verwenden, um Nachrichten effizienter zu filtern, da dies weniger CPU-intensiv ist als der Abgleich mit komplexen regulären Ausdrücken. Um die Textzeichenfolge anzugeben, die in einer Nachricht angezeigt werden muss, damit die Nachricht an einem Ziel protokolliert wird, schließen Sie die match-strings
Anweisung ein, und geben Sie die entsprechende Zeichenfolge oder Liste von Zeichenfolgen an:
match-strings
string-name;
match-strings
[string1 string2];
Die match-strings
and-Anweisungen match
wählen Nachrichten mit der konfigurierten Funktion und dem konfigurierten Schweregrad aus, die mit der angegebenen Zeichenfolge oder dem angegebenen regulären Ausdruck übereinstimmen. Die match-strings
Anweisung führt einen einfachen Zeichenfolgenvergleich durch und ist daher weniger CPU-intensiv als die Verwendung der match
Anweisung zum Abgleich mit komplexen regulären Ausdrücken. Wenn Sie sowohl die match
match-strings
and-Anweisung für dasselbe Ziel konfigurieren, wertet Junos OS die match-strings
Bedingung zuerst aus. Wenn die Nachricht eine der konfigurierten Teilzeichenfolgen enthält, wird die Meldung protokolliert, und die match
Bedingung wird nicht ausgewertet. Wenn die Bedingung match-strings
nicht erfüllt ist, wertet das System die Nachricht anhand des regulären Ausdrucks in der match
Konfigurationsanweisung aus.
Wenn Sie reguläre Ausdrücke für die match
Anweisung angeben, verwenden Sie die Notation, die im POSIX-Standard 1003.2 für erweiterte (moderne) reguläre UNIX-Ausdrücke definiert ist. Die Erläuterung der Syntax regulärer Ausdrücke würde den Rahmen dieses Dokuments sprengen, aber POSIX-Standards sind beim Institute of Electrical and Electronics Engineers (IEEE, http://www.ieee.org)erhältlich.
Tabelle 4 Gibt an, welche Zeichen oder Zeichen von einigen der Operatoren für reguläre Ausdrücke übereinstimmen, die Sie in der Match-Anweisung verwenden können. In den Beschreibungen bezieht sich der Begriff Begriff entweder auf ein einzelnes alphanumerisches Zeichen oder auf eine Reihe von Zeichen, die in eckige Klammern, Klammern oder geschweifte Klammern eingeschlossen sind.
Bei der match
Anweisung wird nicht zwischen Groß- und Kleinschreibung unterschieden.
Betreiber | Streichhölzer |
---|---|
. (Punkt) |
Eine Instanz eines beliebigen Zeichens mit Ausnahme des Leerzeichens. |
* (Sternchen) |
Null oder mehr Instanzen des unmittelbar vorhergehenden Ausdrucks. |
+ (Pluszeichen) |
Eine oder mehrere Instanzen des unmittelbar vorhergehenden Begriffs. |
? (Fragezeichen) |
Null oder ein Vorkommen des unmittelbar vorhergehenden Begriffs. |
| (Rohr) |
Einer der Begriffe, die auf beiden Seiten des Pipe-Operators angezeigt werden. |
! (Ausrufezeichen) |
Jede Zeichenfolge mit Ausnahme der durch den Ausdruck angegebenen Zeichenfolge, wenn das Ausrufezeichen am Anfang des Ausdrucks angezeigt wird. Die Verwendung des Ausrufezeichens ist Junos OS-spezifisch. |
^ (Caret) |
Anfang einer Zeile, wenn die Einfügemarke außerhalb eckiger Klammern angezeigt wird. Eine Instanz eines beliebigen Zeichens, das nicht in eckigen Klammern folgt, wenn die Einfügemarke das erste Zeichen innerhalb eckiger Klammern ist. |
$ (Dollarzeichen) |
Ende einer Zeile. |
[ ] (gepaarte eckige Klammern) |
Eine Instanz eines der eingeschlossenen alphanumerischen Zeichen. Um einen Zeichenbereich anzugeben, verwenden Sie einen Bindestrich ( - ), um das Anfangs- und Endzeichen des Bereichs zu trennen. Beispielsweise entspricht [a-z0-9] einem beliebigen Buchstaben oder einer Zahl. |
( ) (gepaarte Klammern) |
Eine Instanz des ausgewerteten Werts des eingeschlossenen Begriffs. Klammern werden verwendet, um die Reihenfolge der Auswertung im regulären Ausdruck anzugeben. |
Verwenden von Zeichenfolgen und regulären Ausdrücken
Filtern Sie Nachrichten, die interactive-commands
zur Einrichtung gehören, und leiten Sie diejenigen, die die Zeichenfolge configure
enthalten, an das Terminal des Root-Benutzers weiter:
[edit system syslog] user root { interactive-commands any; match-strings configure; }
Meldungen wie die folgenden werden auf dem Terminal des Benutzers angezeigt, wenn ein Benutzer einen configure
Befehl zum Aufrufen des root
Konfigurationsmodus ausgibt:
timestamp router-name mgd[PID]: UI_CMDLINE_READ_LINE: User 'user', command 'configure private'
Filtern Sie Nachrichten, die daemon
zur Einrichtung gehören und einen Schweregrad von error
oder höher haben, und leiten Sie sie an die Datei /var/log/process-errorsweiter. Lassen Sie die vom SNMP-Prozess (snmpd) generierten Nachrichten weg und leiten Sie sie stattdessen an die Datei /var/log/snmpd-errors:
[edit system syslog] file process-errors { daemon error; match "!(.*snmpd.*)"; } file snmpd-errors { daemon error; match-strings snmpd; }
Junos-Systemprotokoll Operatoren für reguläre Ausdrücke für die match-Anweisung
Betreiber |
Streichhölzer |
---|---|
|
Eine Instanz eines beliebigen Zeichens mit Ausnahme des Leerzeichens. |
|
Null oder mehr Instanzen des unmittelbar vorhergehenden Ausdrucks. |
|
Eine oder mehrere Instanzen des unmittelbar vorhergehenden Begriffs. |
|
Null oder ein Vorkommen des unmittelbar vorhergehenden Begriffs. |
|
Einer der Begriffe, die auf beiden Seiten des Pipe-Operators angezeigt werden. |
|
Jede Zeichenfolge mit Ausnahme der durch den Ausdruck angegebenen Zeichenfolge, wenn das Ausrufezeichen am Anfang des Ausdrucks angezeigt wird. Die Verwendung des Ausrufezeichens ist Junos OS-spezifisch. |
|
Der Anfang einer Zeile, wenn die Einfügemarke außerhalb eckiger Klammern angezeigt wird. Eine Instanz eines beliebigen Zeichens, das nicht in eckigen Klammern folgt, wenn die Einfügemarke das erste Zeichen innerhalb eckiger Klammern ist. |
|
Das Ende einer Zeile. |
|
Eine Instanz eines der eingeschlossenen alphanumerischen Zeichen. Um einen Zeichenbereich anzugeben, verwenden Sie einen Bindestrich ( |
|
Eine Instanz des ausgewerteten Werts des eingeschlossenen Begriffs. Klammern werden verwendet, um die Reihenfolge der Auswertung im regulären Ausdruck anzugeben. |
Deaktivieren der Systemprotokollierung einer Einrichtung
Um die Protokollierung von Meldungen, die zu einer bestimmten Einrichtung gehören, zu deaktivieren, fügen Sie die facility none
Anweisung in die Konfiguration ein. Diese Anweisung ist nützlich, wenn Sie z. B. Nachrichten protokollieren möchten, die denselben Schweregrad aufweisen und zu allen Einrichtungen bis auf wenige gehören. Anstatt eine Anweisung für jede Einrichtung einzufügen, die Sie protokollieren möchten, können Sie die any severity
Anweisung und dann eine facility none
Anweisung für jede Einrichtung einfügen, die Sie nicht protokollieren möchten. Im Folgenden werden z. B. alle Meldungen auf der error
Ebene oder höher in der Konsole protokolliert, mit Ausnahme von Meldungen von und daemon
kernel
Einrichtungen. Nachrichten von diesen Einrichtungen werden stattdessen in der Datei >/var/log/internals protokolliert:
[edit system syslog] console { any error; daemon none; kernel none; } file internals { daemon info; kernel info; }
Beispiele: Konfigurieren der Systemprotokollierung
Das folgende Beispiel zeigt, wie Sie die Protokollierung von Meldungen über alle Befehle konfigurieren, die von Benutzern an der CLI-Eingabeaufforderung eingegeben oder von Clientanwendungen wie Junos OS XML-Protokoll- oder NETCONF-Clientanwendungen aufgerufen werden, sowie alle Authentifizierungs- oder Autorisierungsversuche sowohl in der Datei cli-commands als auch im Terminal eines angemeldeten Benutzers:
[edit system] syslog { file cli-commands { interactive-commands info; authorization info; } user * { interactive-commands info; authorization info; } }
Das folgende Beispiel zeigt, wie Sie die Protokollierung aller Änderungen im Status von Alarmen in der Datei /var/log/alarmskonfigurieren :
[edit system] syslog { file alarms { kernel warning; } }
Das folgende Beispiel zeigt, wie Sie die Behandlung von Nachrichten verschiedener Typen konfigurieren, wie in den Kommentaren beschrieben. Die Informationen werden in zwei Dateien protokolliert, im Terminal des Benutzers alex
, auf einem Remote-Computer und in der Konsole:
[edit system] syslog { /* write all security-related messages to file /var/log/security */ file security { authorization info; interactive-commands info; } /* write messages about potential problems to file /var/log/messages: */ /* messages from "authorization" facility at level "notice" and above, */ /* messages from all other facilities at level "warning" and above */ file messages { authorization notice; any warning; } /* write all messages at level "critical" and above to terminal of user "alex" if */ /* that user is logged in */ user alex { any critical; } /* write all messages from the "daemon" facility at level "info" and above, and */ /* messages from all other facilities at level "warning" and above, to the */ /* machine monitor.mycompany.com */ host monitor.mycompany.com { daemon info; any warning; } /* write all messages at level "error" and above to the system console */ console { any error; } }
Das folgende Beispiel zeigt, wie Sie die Verarbeitung von Nachrichten konfigurieren, die generiert werden, wenn Benutzer Junos OS CLI-Befehle ausgeben, indem Sie die interactive-commands
Funktion in den folgenden Schweregraden angeben:
info
– Protokolliert eine Meldung, wenn Benutzer einen Befehl an der CLI-Eingabeaufforderung für den Betriebs- oder Konfigurationsmodus ausführen. Im Beispiel werden die Nachrichten in die Datei /var/log/user-actions.notice
– Protokolliert eine Meldung, wenn Benutzer die Befehlerollback
für den Konfigurationsmodus undcommit
. Im Beispiel werden die Nachrichten in das Terminal des Benutzers geschriebenphilip
.warning
– Protokolliert eine Meldung, wenn Benutzer einen Befehl ausgeben, der einen Softwareprozess neu startet. Im Beispiel werden die Meldungen in die Konsole geschrieben.[edit system] syslog { file user-actions { interactive-commands info; } user philip { interactive-commands notice; } console { interactive-commands warning; } }
Beispiele: Zuweisen einer alternativen Einrichtung
Protokollieren Sie alle Meldungen, die auf der lokalen Routing-Plattform mit der Fehlerstufe oder höher generiert werden, in der local0
Einrichtung auf dem Remote-Computer mit dem Namen monitor.mycompany.com
:
[edit system syslog] host monitor.mycompany.com { any error; facility-override local0; }
Konfigurieren Sie Routing-Plattformen in Kalifornien und Routing-Plattformen in New York so, dass Nachrichten an einen einzelnen Remotecomputer namens . central-logger.mycompany.com
Den Nachrichten aus Kalifornien wird eine alternative Einrichtung zugewiesen und den Nachrichten aus New York wird eine alternative Einrichtung local0
local2
zugewiesen.
Konfigurieren Sie kalifornische Routing-Plattformen, um Nachrichten in der
local0
Einrichtung zu aggregieren:[edit system syslog] host central-logger.mycompany.com { change-log info; facility-override local0; }
Konfigurieren Sie New Yorker Routing-Plattformen, um Nachrichten in der
local2
Einrichtung zu aggregieren:[edit system syslog] host central-logger.mycompany.com { change-log info; facility-override local2; }
Auf central-logger
können Sie dann das Systemprotokollierungsprogramm so konfigurieren, dass Nachrichten von der local0
Einrichtung in die Datei california-config
und die Nachrichten von der local2
Einrichtung in die Datei new-york-config
geschrieben werden.