AUF DIESER SEITE
Beispiel: Ändern der Konfiguration mithilfe einer Ereignisrichtlinie
Es kann erforderlich sein, die Konfiguration als Reaktion auf ein bestimmtes Ereignis zu ändern. Ab Junos OS Version 12.1 können Sie eine Ereignisrichtlinie so konfigurieren, dass Konfigurationsänderungen vorgenommen und festgeschrieben werden, wenn die Ereignisrichtlinie durch ein oder mehrere bestimmte Ereignisse ausgelöst wird.
In diesem Beispiel wird ein SNMP_TRAP_LINK_DOWN Ereignis für eine bestimmte Schnittstelle simuliert. Nach dem Empfang des Ereignisses verwendet die Ereignisrichtlinie die Aktion, um die change-configuration
Konfiguration einer statischen Route so zu ändern, dass eine neue IP-Adresse des nächsten Hops über eine andere Exitschnittstelle verwendet wird.
Anforderungen
Routing-, Switching- oder Sicherheitsgerät mit Junos OS Version 12.1 oder höher.
Übersicht
Sie können eine Ereignisrichtlinienaktion konfigurieren, um die Konfiguration zu ändern, wenn die Richtlinie durch ein einzelnes Ereignis oder korrelierte Ereignisse ausgelöst wird. Angenommen, Sie haben eine statische Route zum Netzwerk 10.1.10.0/24 mit der Next-Hop-IP-Adresse 10.1.2.1 über die Exit-Schnittstelle ge-0/3/1. Irgendwann fällt diese Schnittstelle aus und löst ein SNMP_TRAP_LINK_DOWN Ereignis aus.
In diesem Beispiel wird eine Ereignisrichtlinie mit dem Namen update-on-snmp-trap-link-down erstellt. Die Ereignisrichtlinie ist so konfiguriert, dass der eventd-Prozess auf ein SNMP_TRAP_LINK_DOWN Ereignis wartet, das der Schnittstelle ge-0/3/1.0 zugeordnet ist. Wenn die Schnittstelle ausfällt, führt die Ereignisrichtlinie eine Änderungskonfigurationsaktion aus. Die Konfigurationsbefehle für die Ereignisrichtlinie entfernen die statische Route über die Exit-Schnittstelle ge-0/3/1 und erstellen eine neue statische Route zum gleichen Zielnetzwerk mit der IP-Adresse 10.1.3.1 über die Exit-Schnittstelle ge-0/2/1. Die Befehle werden in der Reihenfolge ausgeführt, in der sie in der Ereignisrichtlinie angezeigt werden.
Der Commit-Vorgang zum Ändern der Konfiguration der Ereignisrichtlinie wird unter dem Benutzernamen bsmith mit einem Commit-Kommentar ausgeführt, der angibt, dass die Änderung über die zugeordnete Ereignisrichtlinie vorgenommen wurde. Die Anzahl der Wiederholungen ist auf 5 und das Wiederholungsintervall auf 4 Sekunden festgelegt. Wenn der erste Versuch, die Konfigurationsänderung vorzunehmen, fehlschlägt, versucht das System, die Konfigurationsänderung 5 weitere Male vorzunehmen, und wartet zwischen jedem Versuch 4 Sekunden.
Obwohl hier nicht dargestellt, verfügen Sie möglicherweise über eine zweite, ähnliche Ereignisrichtlinie, die eine Änderungskonfigurationsaktion ausführt, um die statische Route zu aktualisieren, wenn die Schnittstelle wieder verfügbar ist. In diesem Fall wird die Richtlinie beim SNMP_TRAP_LINK_UP Ereignis für dieselbe Schnittstelle ausgelöst.
Konfiguration
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 dann auf Hierarchieebene [edit]
in die CLI ein:
set event-options policy update-on-snmp-trap-link-down events snmp_trap_link_down set event-options policy update-on-snmp-trap-link-down attributes-match snmp_trap_link_down.interface-name matches ge-0/3/1.0 set event-options policy update-on-snmp-trap-link-down then change-configuration retry count 5 set event-options policy update-on-snmp-trap-link-down then change-configuration retry interval 4 set event-options policy update-on-snmp-trap-link-down then change-configuration commands "delete routing-options static route 10.1.10.0/24 next-hop" set event-options policy update-on-snmp-trap-link-down then change-configuration commands "set routing-options static route 10.1.10.0/24 next-hop 10.1.3.1" set event-options policy update-on-snmp-trap-link-down then change-configuration user-name bsmith set event-options policy update-on-snmp-trap-link-down then change-configuration commit-options log "updating configuration from event policy update-on-snmp-trap-link-down" set routing-options static route 10.1.10.0/24 next-hop 10.1.2.1 set system syslog file syslog-event-daemon-warning daemon warning
Konfigurieren der Ereignisrichtlinie
Schritt-für-Schritt-Anleitung
Erstellen und benennen Sie die Ereignisrichtlinie.
[edit] bsmith@R1# edit event-options policy update-on-snmp-trap-link-down
Konfigurieren Sie die Anweisung so, dass die
events
Ereignisrichtlinie beim SNMP_TRAP_LINK_DOWN Ereignis ausgelöst wird.Legen Sie die Anweisung so fest, dass die Richtlinie nur ausgelöst wird, wenn das SNMP_TRAP_LINK_DOWN-Ereignis für die
attributes-match
ge-0/3/1.0-Schnittstelle eintritt.[edit event-options policy update-on-snmp-trap-link-down] bsmith@R1# set events snmp_trap_link_down bsmith@R1# set attributes-match snmp_trap_link_down.interface-name matches ge-0/3/1.0
Geben Sie die Konfigurationsmodusbefehle an, die ausgeführt werden, wenn die ge-0/3/1-Schnittstelle ausfällt.
Konfigurieren Sie jeden Befehl in einer einzelnen Zeile, schließen Sie die Befehlszeichenfolge in Anführungszeichen ein, und geben Sie den vollständigen Anweisungspfad an.
[edit event-options policy update-on-snmp-trap-link-down then change-configuration] bsmith@R1# set commands "delete routing-options static route 10.1.10.0/24 next-hop" bsmith@R1# set commands "set routing-options static route 10.1.10.0/24 next-hop 10.1.3.1"
Konfigurieren Sie die Commit-Optionen.
Konfigurieren Sie die Option mit einem Kommentar, der die
log
Konfigurationsänderungen beschreibt. Der Kommentar wird den Commitprotokollen hinzugefügt, nachdem ein erfolgreicher Commitvorgang über die zugeordnete Ereignisrichtlinie durchgeführt wurde.[edit event-options policy update-on-snmp-trap-link-down then change-configuration] bsmith@R1# set commit-options log "updating configuration from event policy update-on-snmp-trap-link-down"
Wenn Sie über zwei Routing-Engines verfügen, konfigurieren Sie die Option, um die
synchronize
Konfiguration auf beiden Routing-Engines zu bestätigen. Fügen Sie die Option hinzu, den Commit für dieforce
andere Routing-Engine zu erzwingen und alle Warnungen zu ignorieren. In diesem Beispiel werden diesynchronize
Optionen andforce
nicht konfiguriert.(Optional) Konfigurieren Sie die Anzahl der Wiederholungen und das Wiederholungsintervall.
In diesem Beispiel
count
auf 5 und 4interval
Sekunden festgelegt.[edit event-options policy update-on-snmp-trap-link-down then change-configuration] bsmith@R1# set retry count 5 interval 4
(Optional) Konfigurieren Sie den Benutzernamen, unter dessen Rechten die Konfigurationsänderungen und der Commit vorgenommen werden.
Wenn Sie keinen Benutzernamen angeben, wird die Aktion als Benutzer root ausgeführt.
[edit event-options policy update-on-snmp-trap-link-down then change-configuration] bsmith@R1# set user-name bsmith
Konfigurieren Sie eine neue Protokolldatei auf Hierarchieebene
[edit system syslog]
, um Syslog-Ereignisse der Einrichtungdaemon
und des Schweregradswarning
aufzuzeichnen.Dadurch werden die SNMP_TRAP_LINK_DOWN Ereignisse erfasst.
[edit system syslog] bsmith@R1# set file syslog-event-daemon-warning daemon warning
Um dieses Beispiel zu testen, konfigurieren Sie eine statische Route zum Netzwerk 10.1.10.0/24 mit der IP-Adresse 10.1.2.1 für den nächsten Hop.
[edit] bsmith@R1# set routing-options static route 10.1.10.0/24 next-hop 10.1.2.1
Bestätigen Sie die Konfiguration.
bsmith@R1# commit
Überprüfen Sie die Hierarchieebene der Konfiguration, bevor Sie die ge-0/3/1-Schnittstelle deaktivieren, und notieren Sie sich die
[edit routing-options static]
IP-Adresse des nächsten Hops.bsmith@R1> show configuration routing-options static ... route 10.1.10.0/24 next-hop 10.1.2.1; ...
Um die Ereignisrichtlinie manuell zu testen, schalten Sie die Schnittstelle ge-0/3/1 vorübergehend offline, um das SNMP_TRAP_LINK_DOWN Ereignis zu generieren.
[edit] bsmith@R1# set interfaces ge-0/3/1 disable bsmith@R1# commit
Ergebnisse
[edit] event-options { policy update-on-snmp-trap-link-down { events snmp_trap_link_down; attributes-match { snmp_trap_link_down.interface-name matches ge-0/3/1.0; } then { change-configuration { retry count 5 interval 4; commands { "delete routing-options static route 10.1.10.0/24 next-hop"; "set routing-options static route 10.1.10.0/24 next-hop 10.1.3.1"; } user-name bsmith; commit-options { log "updating configuration from event policy update-on-snmp-trap-link-down"; } } } } } routing-options { static { route 10.1.10.0/24 next-hop 10.1.2.1; } } system { syslog { file syslog-event-daemon-warning { daemon warning; } } }
Überprüfung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.
- Überprüfen des Status der Schnittstelle
- Verifizieren des Commits
- Überprüfen der Konfigurationsänderungen
Überprüfen des Status der Schnittstelle
Zweck
Stellen Sie sicher, dass die ge-0/3/1-Schnittstelle ausgefallen ist und das SNMP_TRAP_LINK_DOWN-Ereignis ausgelöst hat.
Aktion
Geben Sie den show interfaces ge-0/3/1
Befehl Betriebsmodus ein. Die Befehlsausgabe zeigt, dass die Schnittstelle administrativ offline ist.
bsmith@R1> show interfaces ge-0/3/1 Physical interface: ge-0/3/1, Administratively down, Physical link is Down <output omitted>
Überprüfen Sie den Inhalt der in Schritt 7 konfigurierten Systemprotokolldatei. Die Ausgabe zeigt, dass die ge-0/3/1.0-Schnittstelle ausgefallen ist und ein SNMP_TRAP_LINK_DOWN-Ereignis erzeugt hat.
bsmith@R1> show log syslog-event-daemon-warning Oct 10 18:00:57 R1 mib2d[1371]: SNMP_TRAP_LINK_DOWN: ifIndex 531, ifAdminStatus down(2), ifOperStatus down(2), ifName ge-0/3/1.0
Verifizieren des Commits
Zweck
Überprüfen Sie das Commit-Protokoll und die Meldungsprotokolldatei, um sicherzustellen, dass der Commit-Vorgang der Ereignisrichtlinie erfolgreich war.
Aktion
Geben Sie den show system commit
Befehl operational mode ein, um das Commit-Protokoll anzuzeigen. In diesem Beispiel bestätigt das Protokoll, dass für die Konfiguration über die Ereignisrichtlinie unter den Berechtigungen des Benutzers bsmith zum angegebenen Datum und zur angegebenen Uhrzeit ein Commit ausgeführt wurde.
bsmith@R1> show system commit 0 2011-10-10 18:01:03 PDT by bsmith via junoscript updating configuration from event policy update-on-snmp-trap-link-down 1 2011-09-02 14:16:44 PDT by admin via netconf 2 2011-07-08 14:33:46 PDT by root via other
Überprüfen Sie die Meldungsprotokolldatei . Nach dem Empfang des SNMP_TRAP_LINK_DOWN-Ereignisses führte Junos OS die konfigurierte Ereignisrichtlinienaktion aus, um die Konfiguration zu ändern und festzuschreiben. Der Commit-Vorgang erfolgte unter den Rechten des Benutzers bsmith.
bsmith@R1> show log messages | last 20 ... Oct 10 18:00:57 R1 mib2d[1371]: SNMP_TRAP_LINK_DOWN: ifIndex 531, ifAdminStatus down(2), ifOperStatus down(2), ifName ge-0/3/1.0 Oct 10 18:00:59 R1 file[17575]: UI_COMMIT: User 'bsmith' requested 'commit' operation (comment: updating configuration from event policy update-on-snmp-trap-link-down) Oct 10 18:01:03 R1 eventd: EVENTD_CONFIG_CHANGE_SUCCESS: Configuration change successful: while executing policy update-on-snmp-trap-link-down with user bsmith privileges
Wenn Sie eine andere Protokolldatei konfigurieren, überprüfen Sie die für Ihre Konfiguration spezifische Datei.
Bedeutung
Die Ausgabe des show system commit
Befehls operational mode und der Meldungsprotokolldatei überprüfen, ob der Commit-Vorgang, der über die Ereignisrichtlinie unter den Berechtigungen des Benutzers bsmith durchgeführt wurde, erfolgreich war. Die show system commit
Ausgabe- und Meldungsprotokolldatei verweist auf den in der Anweisung angegebenen Commitkommentar auf der log
[edit event-options policy update-on-snmp-trap-link-down then change-configuration commit-options]
Hierarchieebene.
Überprüfen der Konfigurationsänderungen
Zweck
Überprüfen Sie die Konfigurationsänderungen, indem Sie die Hierarchieebene der Konfiguration überprüfen, nachdem Sie die [edit routing-options static]
Schnittstelle ge-0/3/1 deaktiviert haben.
Aktion
Geben Sie den folgenden Betriebsmodusbefehl ein:
bsmith@R1> show configuration routing-options static ... route 10.1.10.0/24 next-hop 10.1.3.1; ...
Bedeutung
Der konfigurierte nächste Hop wurde durch die Ereignisrichtlinie auf die neue IP-Adresse 10.1.3.1 geändert, die über die Exit-Schnittstelle ge-0/2/1 geleitet wird.
Problembehandlung
Fehlerbehebung bei Commit-Fehlern
Problem
Die Richtlinie für ausgelöste Ereignisse nimmt die angegebenen Konfigurationsänderungen nicht vor, und die Protokolle überprüfen, ob der Commit nicht erfolgreich war.
bsmith@R1> show log messages | last 20 ... Oct 10 17:48:59 R1 mib2d[1371]: SNMP_TRAP_LINK_DOWN: ifIndex 531, ifAdminStatus down(2), ifOperStatus down(2), ifName ge-0/3/1.0 Oct 10 17:49:01 R1 file[17142]: UI_LOAD_EVENT: User 'bsmith' is performing a 'rollback' Oct 10 17:49:01 R1 eventd: EVENTD_CONFIG_CHANGE_FAILED: Configuration change failed: rpc to management daemon failed while executing policy update-on-snmp-trap-link-down with user bsmith privileges
Ein fehlgeschlagener Commit kann auftreten, wenn die Konfiguration gesperrt ist oder wenn die Befehle im Konfigurationsmodus die falsche Syntax oder Reihenfolge aufweisen.
Lösung
Überprüfen Sie die Konfigurationsmodusbefehle auf Hierarchieebene [edit event-options policy update-on-snmp-trap-link-down then change-configuration commands]
, und stellen Sie sicher, dass die Syntax und die Ausführungsreihenfolge korrekt sind.
Erhöhen Sie außerdem die Optionen für die Anzahl der Wiederholungen und das Intervall, sodass die Ereignisrichtlinie versucht, die Konfiguration nach der ersten fehlgeschlagenen Instanz eine bestimmte Anzahl von Änderungen vorzunehmen, wenn die Konfiguration gesperrt ist.