Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Konfigurieren einer Ereignisrichtlinie zum Übergeben von Argumenten an ein Ereignisskript

Wenn eine Ereignisrichtlinie ein Ereignisskript aufruft, kann die Richtlinie Argumente an das Skript übergeben. In den folgenden Abschnitten wird beschrieben, wie Sie die Argumente in der Ereignisrichtlinie konfigurieren und die Argumente im Ereignisskript verwenden:

Konfigurieren von Ereignisskriptargumenten in einer Ereignisrichtlinie

Sie konfigurieren die Argumente, die eine Ereignisrichtlinie an ein Ereignisskript übergibt, innerhalb der then Klausel der Richtlinie unter der Hierarchie event-script filename arguments . Sie können eine beliebige Anzahl von Argumenten für jedes aufgerufene Ereignisskript konfigurieren.

Sie fügen Argumente als Name-Wert-Paare in das Skript ein. Die Argumentwerte können Variablen enthalten, die Informationen über das auslösende Ereignis oder andere empfangene Ereignisse enthalten. Das Ereignisskript kann dann während der Ausführung auf diese Informationen verweisen. Sie können Variablen der folgenden Formen verwenden:

  • {$$.attribute-name}Das doppelte Dollarzeichen ($$) stellt das Ereignis dar, das eine Richtlinie auslöst. In Kombination mit einem Attributnamen wird die Variable in den Wert des Attributs aufgelöst, das dem auslösenden Ereignis zugeordnet ist. Wird z. B. in den Schnittstellennamen aufgelöst, {$$.interface-name} der dem auslösenden Ereignis zugeordnet ist.

  • {$event.attribute-name}—Das einzelne Dollarzeichen mit der Notation "Ereignisname" ($event) steht für das letzte Ereignis, das mit übereinstimmt event. In Kombination mit einem Attributnamen wird die Variable in den Wert des Attributs aufgelöst, das diesem Ereignis zugeordnet ist. Wird z. B. in den Schnittstellennamen aufgelöst, {$COSD_CHAS_SCHED_MAP_INVALID.interface-name} der dem letzten COSD_CHAS_SCHED_MAP_INVALID Ereignis zugeordnet ist, das vom eventd-Prozess zwischengespeichert wurde.

Für ein bestimmtes Ereignis können Sie eine Liste von Ereignisattributen anzeigen, auf die Sie durch Ausführen des help syslog event Befehls verweisen können.

In der folgenden Befehlsausgabe zeigt z. B. Text in spitzen Klammern (< >) Attribute des COSD_CHASSIS_SCHEDULER_MAP_INVALID Ereignisses an:

Eine andere Möglichkeit, eine Liste von Ereignisattributen anzuzeigen, besteht darin, den set attributes-match event? Konfigurationsmodusbefehl auf Hierarchieebene [edit event-options policy policy-name] auszugeben.

In der folgenden Befehlsausgabe zeigt die event.attribute Liste z. B. an, dass und error-message interface-name Attribute des cosd_chassis_scheduler_map_invalid Ereignisses sind:

In diesem set Befehl befindet sich kein Leerzeichen zwischen dem Ereignisnamen und dem Fragezeichen (?).

Um eine Liste aller Ereignisattribute anzuzeigen, auf die Sie verweisen können, geben Sie den set attributes-match ? Befehl Konfigurationsmodus auf der [edit event-options policy policy-name] Hierarchieebene ein.

Verwenden von Argumenten in einem Ereignisskript

Wenn eine Ereignisrichtlinie ein Ereignisskript aufruft, kann das Ereignisskript auf eines der Argumente verweisen, die von der Richtlinie übergeben werden. Die Namen der Argumente im Ereignisskript müssen mit den Namen der Argumente übereinstimmen, die für dieses Ereignisskript in der [edit event-options policy policy-name then event-scripts filename arguments] Hierarchie in der Konfiguration konfiguriert sind.

Um die Argumente in einem SLAX- oder XSLT-Ereignisskript zu verwenden, müssen Sie für jedes Argument eine Parameterdeklaration einschließen. Das Ereignisskript weist den Wert für jedes Skriptargument dem entsprechenden gleichnamigen Parameter zu, auf den dann im gesamten Skript verwiesen werden kann.

XSLT-Syntax

SLAX-Syntax

Um die Argumente in einem Python-Ereignisskript zu verwenden, können Sie ein beliebiges gültiges Mittel in der Python-Sprache verwenden. Im folgenden Beispiel wird das Python-Modul argparse verwendet, um die Skriptargumente zu verarbeiten. Für jedes Argument, das an das Skript übergeben wird, muss eine parser.add_argument Anweisung eingefügt werden.

Python-Syntax