Führen Sie das Python-Skript in Cisco Memorandum_EEM aus

Ein gruseliges Skript, das wie ein Zombie wiederbelebt wird, egal wie oft Sie herunterfahren

Grundlegende Einstellungen zum Ausführen von Python-Skripten unter IOS-XE finden Sie unter Eingabe von Cisco Memorandum _ config mit Python.

Pfad für die Skriptplatzierung

Pfad: / flash / ファイル:eem_script.py Geben Sie guestshell ein, um Dateien zu erstellen oder zu übertragen

isp-sw#guestshell
[guestshell@guestshell ~]$ 
[guestshell@guestshell ~]$ cd /flash/
[guestshell@guestshell flash]$ vi eem_script.py 

Skriptverhalten

Der Inhalt, dass die IF von Loopback 55 "no shut" ist und der IF-Status mit "sh ip int brief" angezeigt wird. Dieses Mal wird der Auslöser der Skriptausführung vom EEM-Applet angegeben.

eem_script.py


import sys
from cli import cli,clip,configure,configurep, execute, executep
intf= sys.argv[1:]
intf = ''.join(intf[0])

print ('This script is going to unshut interface %s and then print show ip interface brief'%intf)

if intf == 'loopback55':
        configurep(["interface loopback55","no shutdown","end"])
else :
        cmd='int %s,no shut ,end' % intf
configurep(cmd.split(','))
executep('show ip interface brief')

So starten Sie das Skript manuell

Sie können das Skript auch manuell im EXEC-Modus sowie über das EEM-Applet ausführen

isp-sw#guestshell run python /flash/eem_script.py loop55
This script is going to unshut interface loop55 and then print show ip interface brief
Line 1 SUCCESS: int loop55
Line 2 SUCCESS: no shut 
Line 3 SUCCESS: end
Interface              IP-Address      OK? Method Status                Protocol
Vlan1                  unassigned      YES NVRAM  administratively down down    
---Kürzung---
Loopback13             10.13.13.13     YES manual up                    up      
Loopback55             10.55.55.55     YES TFTP   up                    up      

EEM-Applet-Erstellung

Im Einstellmodus Inhalt zum Ausführen des Skripts an adminUP mit dem Syslog von admindown als Auslöser

isp-sw(config)#event manager applet intshut
isp-sw(config-applet)# event syslog pattern "Interface Loopback55, changed state to administratively down"
isp-sw(config-applet)# action 0.0 cli command "en"
isp-sw(config-applet)# action 1.0 cli command "guestshell run python /flash/eem_script.py loop55"
isp-sw(config-applet)#end

Geben Sie den Skriptpfad in config an

Im Einstellmodus Geben Sie den Platzierungspfad an

isp-sw(config)#event manager directory user policy "flash:/"

Überprüfung des EEM-Startstatus

Im EXEC-Modus Wird angezeigt, wenn normal registriert

isp-sw#sh event manager policy registered 
No.  Class     Type    Event Type          Trap  Time Registered           Name
1    applet    user    syslog              Off   Thu Mar 28 16:37:52 2020  intshut
 pattern {Interface Loopback55, changed state to administratively down}
 maxrun 20.000
 action 0.0 cli command "en"
 action 1.0 cli command "guestshell run python /flash/eem_script.py loop55"

Versuchen Sie, das System manuell herunterzufahren

Geben Sie den Befehl shutdown im Einstellungsmodus ein, geben Sie das Protokoll mit ter mon an das Terminal aus und überprüfen Sie den Betrieb. Nach dem Herunterfahren aus dem Protokoll wird es automatisch aktiviert.

isp-sw(config-if)#shutdown 
isp-sw(config-if)#
Mar 28 16:56:22.428 JST: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback55, changed state to down
Mar 28 16:56:22.428 JST: %LINK-5-CHANGED: Interface Loopback55, changed state to administratively down
isp-sw(config-if)#
Mar 28 16:56:29.880 JST: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback55, changed state to up
isp-sw(config-if)#
Mar 28 16:56:29.880 JST: %LINK-3-UPDOWN: Interface Loopback55, changed state to up
isp-sw(config-if)#

Überprüfen Sie den Verlauf der Ereignisse

Im EXEC-Modus Es läuft normal von EEM mit Erfolg

isp-sw#sh event manager history events 
No.  Job Id Proc Status   Time of Event            Event Type        Name
1    1      Actv success  Thu Mar28 16:36:19 2020  syslog            applet: intshut 
2    2      Actv success  Thu Mar28 16:43:43 2020  syslog            applet: intshut 
3    3      Actv success  Thu Mar28 16:56:22 2020  syslog            applet: intshut 

Bestätigtes Modell und Version

Modell: Katalysator 3850 Ver:Cisco IOS XE 16.06.05 Everest


Referenzlink

Programmability Configuration Guide, Cisco IOS XE Everest 16.6.x

Recommended Posts

Führen Sie das Python-Skript in Cisco Memorandum_EEM aus
Führen Sie Python-Skripte synchron von C # aus
Führen Sie Python aus Excel aus
Führen Sie Aprili von Python auf Orange aus
Python-Fehlererkennung von Powershell ausgeführt
Führen Sie Ansible über Python mithilfe der API aus
Überprüfen Sie die installierten Module im Python-Skript
Führen Sie Cloud Dataflow (Python) über AppEngine aus
SQL zu SQL
MeCab von Python
Führen Sie Python-Skripte in C # -GUI-Anwendungen aus
Führen Sie Python-Skripte in Excel aus (mit xlwings).
Hinweis für oct2py beim Aufrufen des Octave-Skripts aus Python
Verwenden Sie thingspeak aus Python
Berühren Sie MySQL in Python 3
Führen Sie Python aus Excel VBA mit xlwings & Tutorial Supplement aus
Führen Sie Python mit VBA aus
Bedienen Sie Filemaker von Python aus
Verwenden Sie fließend Python
Führen Sie prepDE.py mit python3 aus
Änderungen von Python 2 zu Python 3.0
Python aus oder importieren
Verwenden Sie MySQL aus Python
Installieren Sie Python von der Quelle
Führen Sie Befehle aus Python aus
Führen Sie Blender mit Python aus
Bedienen Sie Neutronen von Python!
Verwenden Sie MySQL aus Python
Importieren Sie Klassen in JAR-Dateien direkt aus dem Python-Skript
Betreiben Sie LXC von Python aus
Manipuliere Riak aus Python
Erzwinge Python aus Fortran
Verwenden Sie BigQuery aus Python.
Führen Sie BigQuery von Lambda aus
Führen Sie den Befehl von Python aus
Cloud Run Tutorial (Python)
Profilieren Sie schnell Python-Skripte
Verwenden Sie mecab-ipadic-neologd von Python
Führen Sie iperf mit Python aus
So führen Sie ein Python-Programm in einem Shell-Skript aus
Deep Python hat von DEAP gelernt
Führen Sie Openpose unter Python (Windows) aus.
Cisco Memorandum _ Eingabekonfiguration mit Python
Führen Sie Python mit PyCharm aus (Windows)
Grammatikfunktionen aus Python3.6 hinzugefügt
Flirte von PHP nach Python
Führen Sie Python mit CloudFlash aus (arm926ej-s)
Führen Sie automatisierte Jobs in Python aus
Importieren Sie Skripte dynamisch in Python
Führen Sie Shell-Befehle in Python aus
Führen Sie Python unittest parallel aus
OCR aus PDF in Python
Verwenden Sie MySQL von Anaconda (Python)
Anaconda aktualisiert von 4.2.0 auf 4.3.0 (python3.5 aktualisiert auf python3.6)
Studie aus Python Hour4: Objektorientiert ②
Fragen Sie Athena von Lambda Python ab
Greifen Sie über Python auf Oracle DB zu
Starten / Stoppen von GCE über Python
Führen Sie Pythons CGI auf CORESERVER aus