Embedded Event Manager(EEM)は、特定のイベントが発生したときにコマンドを実行できるようにするCiscoルータ上の機能です。
Syslogイベント
コンソールに特定の文字列のログが出力されたら、任意のコマンドを実行することができます。
設定例
例えば、FastEthernet0/0がダウン、およびアップした時に、”show interface fa0/0”を実行し、コンソールへ出力することができます。
FastEthernet0/0がダウンした時に、show interface fa0/0を実行する設定例
R1(config)# event manager applet INTERFACE_DOWN R1(config-applet)#event syslog pattern "Interface FastEthernet0/0, changed state to down" R1(config-applet)# action 1.0 cli command "enable" R1(config-applet)# action 2.0 cli command "show interface fa0/0" R1(config-applet)# action 3.0 puts "$_cli_result"
FastEthernet0/0がアップした時に、show interface fa0/0を実行する設定例
R1(config)# event manager applet INTERFACE_UP R1(config-applet)# event syslog pattern "Interface FastEthernet0/0, changed state to up" R1(config-applet)# action 1.0 cli command "enable" R1(config-applet)# action 2.0 cli command "show interface fa0/0" R1(config-applet)# action 3.0 puts "$_cli_result"
$_cli_result は、組み込み変数で、直前に実行されたコマンドの結果が格納されます。
確認
FastEthernet0/0をシャットダウンさせます。
R1(config)# int fastEthernet 0/0 R1(config-if)# shutdown R1(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to administratively down %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to down %HA_EM-6-LOG: INTERFACE_DOWN: FastEthernet0/0 is administratively down, line protocol is down Hardware is DEC21140, address is 0000.0000.1111 (bia ca01.06ea.0000) MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation 802.1Q Virtual LAN, Vlan ID 1., loopback not set Keepalive set (10 sec) Half-duplex, 100Mb/s, 100BaseTX/FX ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:03, output 00:00:03, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo <省略>
コンソールログにInterface FastEthernet0/0, changed state to down 出力後に、%HA_EM-6-LOG: INTERFACE_DOWN:によりEEMが実行され、次の行からshow interface fa0/0の出力結果が表示されています。
では、FastEthernet0/0を復旧させます。
R1(config)# int fastEthernet 0/0 R1(config-if)# no shutdown R1(config-if)# *Jul 8 15:44:27.251: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up *Jul 8 15:44:27.439: %HA_EM-6-LOG: INTERFACE_UP: FastEthernet0/0 is up, line protocol is up Hardware is DEC21140, address is 0000.0000.1111 (bia ca01.06ea.0000) MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation 802.1Q Virtual LAN, Vlan ID 1., loopback not set Keepalive set (10 sec) Half-duplex, 100Mb/s, 100BaseTX/FX ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:03:54, output 00:00:02, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo <省略>
コンソールログにInterface FastEthernet0/0, changed state to up 出力後、%HA_EM-6-LOG: INTERFACE_UPによりEEMが実行され、、次の行からshow interface fa0/0の出力結果が表示されています。
コンソールログについて任意の文字列を指定して、アクションを実行できるところから、例えば、OSPFのネイバーがダウンした時に、特定のコマンドを実行する など幅広く応用できます。
コメント