EEM SNMPv3
Does EEM support SNMPv3? I have written some scripts that send snmp-traps from one router to another configured as an "snmp-server manager" but it looks like they only get sent as v2. I need to use v3 for IA reasons.
If it doesn't support SNMPv3, is there another reliable way of sending data between routers? I mainly need one router to know when another router gets a new OSPF neighbor and what interface the neighbor came up on. I've been using applets and I'm not as familiar as I'd like to be with TCL so maybe someone with more knowledge could tell me if there's an easier way to accomplish this in that format? Thanks.
Thanks for the explanation. I was confused by the debug message I was getting below, but now it makes sense.
*Nov 13 16:15:44.163: SNMP: Queuing packet to 10.XX.YY.50
*Nov 13 16:15:44.163: Outgoing SNMP packet
*Nov 13 16:15:44.163: v3 packet security model: v3 security level: priv
*Nov 13 16:15:44.163: username: user1
*Nov 13 16:15:44.163: snmpEngineID: 80000009030046513E551B00
*Nov 13 16:15:44.163: snmpEngineBoots: 19 snmpEngineTime: 68016
*Nov 13 16:15:44.163: SNMP: V2 Trap, reqid 3831, errstat 0, erridx 0
My EEM script on the snmp-server manager is able to see the v2 trap data, but the debug output is throwing out some weird errors. This was with "debug snmp packets" and "debug snmp detail" enabled. I'm not sure why it has the "Failed" message if it's still able to see the v2 trap. It also mentions v2 to v1 conversion failure, but my EEM script can see the data fine. Could you shed more light on these messages?
*Nov 13 08:44:30.363: SNMP: Packet received via UDP from 10.XX.YY.2 on GigabitEthernet0/0/0SrParseV3SnmpMessage: Failed.
*Nov 13 08:44:30.363: SNMP: V2 Trap, reqid 3831, errstat 0, erridx 0
sysUpTime.0 = 172168969
snmpTrapOID.0 = cEventMgrMIB.0.2
ceemHistoryEventEntry.2.223 = 131
ceemHistoryEventEntry.3.223 = 0
ceemHistoryEventEntry.4.223 = 0
ceemHistoryEventEntry.5.223 = 0
ceemHistoryEventEntry.6.223 =
ceemHistoryEventEntry.7.223 = applet: ts
ceemHistoryEventEntry.9.223 = 0
ceemHistoryEventEntry.10.223 = 0
ceemHistoryEventEntry.11.223 = test-data
ceemHistoryEventEntry.13.223 = 0
ceemHistoryEventEntry.14.223 = 0
ceemHistoryEventEntry.15.223 = 0
ceemHistoryEventEntry.16.223 = 0
*Nov 13 08:44:30.414: dest ip addr= 10.XX.YY.50
*Nov 13 08:44:30.414: dest if_index = 1
convert_pdu:Conversion between V2 and V1 notification failed.
SrGenerateNotification: Failed to find Group name in GroupTable.
SrV2GenerateNotification:Function has reached clean up routine.
One last thing in case anyone else tries this. On the snmp-server manager router, I had to configure an SNMP user with the remote engineID of the router sending the trap like shown below. Without the right engineID, the manager was rejecting the traps and displaying "Wrong username".
snmp-server engineID remote 10.XX.YY.2 80000009030046513E551B00
snmp-server group AuthPrivGroup v3 priv
snmp-server enable traps event-manager
snmp-server manager
ASR_1002#sh snmp user
User name: user1
Engine ID: 80000009030046513E551B00
storage-type: nonvolatile active
Authentication Protocol: MD5
Privacy Protocol: AES128
Group-name: AuthPrivGroup
Similar Messages
-
Right way to get interface counters in TCL/EEM
Hello Experts,
I am looking for your advise about the best way to deal with interface counters inside TCL/EEM on XR. The ultimate goal is to compare rate (bps/pps) over two 10G interfaces and alert user in case they are differ more than 15-20% .
I can get counters by parsing output of "show interface TenGigX/X/X/X" but , may be more streightforward way is exists, like getting them directly from MIB or from elsewhere ?
Thank you !Using the CLI on XR is probably best since you can get bidrectional utilization in one call. The SNMP ED would work, but you can only poll for one OID at a time. So short answer is, you're doing the best thing right now.
-
EEM event track is not supported (version 3.2)
Hello,
I'm replacing a router 2911 by IE3010 (with IP service) and trying to transfer configurations across. I have noticed that on the IE3010 EEM , I can't trigger an event based on Object Tracking.
IE3010(config-applet)#event ?
application Application specific event
cli CLI event
config Configuration policy event
counter Counter event
env Environmental event
gold GOLD event
identity Identity event
interface Interface event
ioswdsysmon IOS WDSysMon event
ipsla IPSLA Event
mat MAC address table event
neighbor-discovery Neighbor Discovery event
nf NF Event
none Manually run policy event
oir OIR event
routing Routing event
rpc Remote Procedure Call event
snmp SNMP event
snmp-notification SNMP Notification Event
snmp-object SNMP object event
syslog Syslog event
tag event tag identifier
timer Timer event
I do have a track that monitors (ICMP-echo) of two IP addresses and I want to do some action when the track is down and this has been working quite well on the 2911. I have found in the IE3010 event detector that tracking event is not available while the same is available in the 2911
Any advise how can I solve this problem and how can I do action based on the status of the tracked object in the IE3010 ?
The software version of the IE3010 is as follows
IE3010 Software (IE3010-IPSERVICESK9-M), Version 15.0(2)SE6, RELEASE SOFTWARE (fc2).
Embedded Event Manager Version 3.20
Component Versions:
eem: (320_rel3)1.0.0
eem-gold: (v320_rel1)1.0.0
eem-call-home: (v320_rel1)1.0.2
Event Detectors:
Name Version Node Type
application 01.00 node0/0 RP
identity 01.00 node0/0 RP
neighbor-discovery 01.00 node0/0 RP
mat 01.00 node0/0 RP
syslog 01.00 node0/0 RP
routing 03.00 node0/0 RP
cli 01.00 node0/0 RP
counter 01.00 node0/0 RP
interface 01.00 node0/0 RP
ioswdsysmon 01.00 node0/0 RP
none 01.00 node0/0 RP
oir 01.00 node0/0 RP
snmp 01.00 node0/0 RP
timer 01.00 node0/0 RP
snmp-object 01.00 node0/0 RP
snmp-notification 01.00 node0/0 RP
ipsla 01.00 node0/0 RP
nf 01.00 node0/0 RP
test 01.00 node0/0 RP
config 01.00 node0/0 RP
env 01.00 node0/0 RP
gold 01.00 node0/0 RP
rpc 01.00 node0/0 RPI need to track if an IP is up with ICMP, Source IP: 192.168.249.1 Dest IP: 192.168.249.2 on port FastEthernet fa0/19
I do not understand how the weights work here with the UP or Down Status can you please explain. I modified your commands a bit and this is what I got, can you let me know if I am on the right path:
track 10 ip sla 10
delay down 10
track 19 list threshold weight
object 10 weight 70
threshold weight down 30 up 70
authentication mac-move permit
ip sla 10
icmp-echo 10.13.249.2 source-ip 10.13.249.1
timeout 300
frequency 5
ip sla schedule 10 life forever start-time now
ip sla enable reaction-alerts
event manager applet Remote_Site_Up
event syslog pattern "TRACKING-5-STATE: 19 list threshold weight Down->Up"
action 1.0 cli command "enable"
action 2.0 cli command "config t"
action 3.0 cli command "interface FastEthernet0/19"
action 4.0 cli command "no shut"
action 5.0 cli command "end"
event manager applet Remote_Site_Down
event syslog pattern "TRACKING-5-STATE: 19 list threshold weight Up->Down"
action 1.0 cli command "enable"
action 2.0 cli command "config t"
action 3.0 cli command "interface FastEthernet0/19"
action 4.0 cli command "shut"
action 5.0 cli command "end"
This is the status with the show track command:
Track 10
IP SLA 10 state
State is Up
1 change, last change 00:29:35
Delay down 10 secs
Latest operation return code: OK
Latest RTT (millisecs) 1
Track 19
List threshold weight
Threshold Weight is Up (70/70)
2 changes, last change 00:29:34
object 10 weight 70 Up (70/70)
Threshold weight down 30 up 70 -
Eem script monitor routing table - multiple entries into 1 email
I have the following script running to report on routing table changes
event manager applet route-table-monitor
event routing network 0.0.0.0/0 ge 1
action 0.5 set msg "Route changed: Type: $_routing_type, Network: $_routing_network, Mask/Prefix: $_routing_mask, Protocol: $_routing_protocol, GW: $_routing_lastgateway, Intf: $_routing_lastinterface"
action 1.0 syslog msg "$msg"
action 2.0 cli command "enable"
action 4.0 info type routername
action 5.0 mail server "10.*.*.*" to "roger.perkin@****" from "Switch1" subject "Routing Table Change" body "$msg $_cli_result"
It works perfectly however if multiple routes change I get multiple emails.
Last night we had a site go out and I got about 20 separate email for each subnet change.
What I would like to do is get this script to take all routes changed in a 1 minute interval and then output them into an email.
Not quite sure how I would go about that?
Thanks
Roger
Currently studying for my CCIE and just started on EEM, have not done much scripting before so this is all good stuff to know.You can't do this with one policy. However, you could accomplish this with a timer policy that will batch up the pending updates, though. Something like this would work.
event manager applet route-table-monitor event routing network 0.0.0.0/0 ge 1 action 0.5 set msg "Route changed: Type: $_routing_type, Network: $_routing_network, Mask/Prefix: $_routing_mask, Protocol: $_routing_protocol, GW: $_routing_lastgateway, Intf: $_routing_lastinterface" action 0.6 syslog msg "$msg" action 1.0 handle-error type ignore action 2.0 context retrieve key RTRCTXT variable msgs action 3.0 if $_error ne FH_EOK action 4.0 set msgs "$msg\n" action 5.0 else action 6.0 append msgs "$msg\n" action 7.0 end action 8.0 handle-error type exit action 9.0 context save key RTRCTXT variable msgs!event manager applet route-table-batcher event timer watchdog time 60 action 1.0 handle-error type ignore action 2.0 context retrieve key RTRCTXT variable msgs action 3.0 if $_error eq FH_EOK action 4.0 info type routername action 5.0 mail server "10.*.*.*" to "roger.perkin@****" from "$_info_routername" subject "Routing Table Change" body "$msgs" action 6.0 end action 7.0 handle-error type exit -
Shutdown Ports not in use for a while with EEM Tcl
I have downloaded these 2 Tcl scripts from this previous discussion and from the sounds of it it's exactly what I've been looking for. But the problem is I'm new to EEM and have no idea how to go about putting these on the switches themselves. I've searched for configuration guides but to no prevail. Any help is greatly appreciated. Here's the link to previous discussion:
https://supportforums.cisco.com/thread/164684.pdf;jsessionid=EEEEE143342DAAB34706D608D5C4C920.node0Here's the output from running the script. Below that is the log file.
XXX: Looking at iface FastEthernet1/0/1
XXX: line 'FastEthernet1/0/1 unassigned YES unset up up' is up
XXX: FastEthernet1/0/1 not found in array
XXX: Looking at iface FastEthernet1/0/2
XXX: line 'FastEthernet1/0/2 unassigned YES unset up up' is up
XXX: FastEthernet1/0/2 not found in array
XXX: Looking at iface FastEthernet1/0/3
XXX: line 'FastEthernet1/0/3 unassigned YES unset down down' is down
XXX: FastEthernet1/0/3 not found in array
XXX: Adding FastEthernet1/0/3 to ports array
XXX: Looking at iface FastEthernet1/0/4
XXX: line 'FastEthernet1/0/4 unassigned YES unset up up' is up
XXX: FastEthernet1/0/4 not found in array
XXX: Looking at iface FastEthernet1/0/5
XXX: line 'FastEthernet1/0/5 unassigned YES unset up up' is up
XXX: FastEthernet1/0/5 not found in array
XXX: Looking at iface FastEthernet1/0/6
XXX: line 'FastEthernet1/0/6 unassigned YES unset down down' is down
XXX: FastEthernet1/0/6 not found in array
XXX: Adding FastEthernet1/0/6 to ports array
XXX: Looking at iface FastEthernet1/0/7
XXX: line 'FastEthernet1/0/7 unassigned YES unset up up' is up
XXX: FastEthernet1/0/7 not found in array
XXX: Looking at iface FastEthernet1/0/8
XXX: line 'FastEthernet1/0/8 unassigned YES unset up up' is up
XXX: FastEthernet1/0/8 not found in array
XXX: Looking at iface FastEthernet1/0/9
XXX: line 'FastEthernet1/0/9 unassigned YES unset up up' is up
XXX: FastEthernet1/0/9 not found in array
XXX: Looking at iface FastEthernet1/0/10
XXX: line 'FastEthernet1/0/10 unassigned YES unset up up' is up
XXX: FastEthernet1/0/10 not found in array
XXX: Looking at iface FastEthernet1/0/11
XXX: line 'FastEthernet1/0/11 unassigned YES unset up up' is up
XXX: FastEthernet1/0/11 not found in array
XXX: Looking at iface FastEthernet1/0/12
XXX: line 'FastEthernet1/0/12 unassigned YES unset down down' is down
XXX: FastEthernet1/0/12 not found in array
XXX: Adding FastEthernet1/0/12 to ports array
XXX: Looking at iface FastEthernet1/0/13
XXX: line 'FastEthernet1/0/13 unassigned YES unset down down' is down
XXX: FastEthernet1/0/13 not found in array
XXX: Adding FastEthernet1/0/13 to ports array
XXX: Looking at iface FastEthernet1/0/14
XXX: line 'FastEthernet1/0/14 unassigned YES unset up up' is up
XXX: FastEthernet1/0/14 not found in array
XXX: Looking at iface FastEthernet1/0/15
XXX: line 'FastEthernet1/0/15 unassigned YES unset up up' is up
XXX: FastEthernet1/0/15 not found in array
XXX: Looking at iface FastEthernet1/0/16
XXX: line 'FastEthernet1/0/16 unassigned YES unset up up' is up
XXX: FastEthernet1/0/16 not found in array
XXX: Looking at iface FastEthernet1/0/17
XXX: line 'FastEthernet1/0/17 unassigned YES unset up up' is up
XXX: FastEthernet1/0/17 not found in array
XXX: Looking at iface FastEthernet1/0/18
XXX: line 'FastEthernet1/0/18 unassigned YES unset up up' is up
XXX: FastEthernet1/0/18 not found in array
XXX: Looking at iface FastEthernet1/0/19
XXX: line 'FastEthernet1/0/19 unassigned YES unset down down' is down
XXX: FastEthernet1/0/19 not found in array
XXX: Adding FastEthernet1/0/19 to ports array
XXX: Looking at iface FastEthernet1/0/20
XXX: line 'FastEthernet1/0/20 unassigned YES unset down down' is down
XXX: FastEthernet1/0/20 not found in array
XXX: Adding FastEthernet1/0/20 to ports array
XXX: Looking at iface FastEthernet1/0/21
XXX: line 'FastEthernet1/0/21 unassigned YES unset down down' is down
XXX: FastEthernet1/0/21 not found in array
XXX: Adding FastEthernet1/0/21 to ports array
XXX: Looking at iface FastEthernet1/0/22
XXX: line 'FastEthernet1/0/22 unassigned YES unset up up' is up
XXX: FastEthernet1/0/22 not found in array
XXX: Looking at iface FastEthernet1/0/23
XXX: line 'FastEthernet1/0/23 unassigned YES unset down down' is down
XXX: FastEthernet1/0/23 not found in array
XXX: Adding FastEthernet1/0/23 to ports array
XXX: Looking at iface FastEthernet1/0/24
XXX: line 'FastEthernet1/0/24 unassigned YES unset down down' is down
XXX: FastEthernet1/0/24 not found in array
XXX: Adding FastEthernet1/0/24 to ports array
XXX: Looking at iface FastEthernet1/0/25
XXX: line 'FastEthernet1/0/25 unassigned YES unset down down' is down
XXX: FastEthernet1/0/25 not found in array
XXX: Adding FastEthernet1/0/25 to ports array
XXX: Looking at iface FastEthernet1/0/26
XXX: line 'FastEthernet1/0/26 unassigned YES unset up up' is up
XXX: FastEthernet1/0/26 not found in array
XXX: Looking at iface FastEthernet1/0/27
XXX: line 'FastEthernet1/0/27 unassigned YES unset up up' is up
XXX: FastEthernet1/0/27 not found in array
XXX: Looking at iface FastEthernet1/0/28
XXX: line 'FastEthernet1/0/28 unassigned YES unset up up' is up
XXX: FastEthernet1/0/28 not found in array
XXX: Looking at iface FastEthernet1/0/29
XXX: line 'FastEthernet1/0/29 unassigned YES unset down down' is down
XXX: FastEthernet1/0/29 not found in array
XXX: Adding FastEthernet1/0/29 to ports array
XXX: Looking at iface FastEthernet1/0/30
XXX: line 'FastEthernet1/0/30 unassigned YES unset down down' is down
XXX: FastEthernet1/0/30 not found in array
XXX: Adding FastEthernet1/0/30 to ports array
XXX: Looking at iface FastEthernet1/0/31
XXX: line 'FastEthernet1/0/31 unassigned YES unset down down' is down
XXX: FastEthernet1/0/31 not found in array
XXX: Adding FastEthernet1/0/31 to ports array
XXX: Looking at iface FastEthernet1/0/32
XXX: line 'FastEthernet1/0/32 unassigned YES unset down down' is down
XXX: FastEthernet1/0/32 not found in array
XXX: Adding FastEthernet1/0/32 to ports array
XXX: Looking at iface FastEthernet1/0/33
XXX: line 'FastEthernet1/0/33 unassigned YES unset up up' is up
XXX: FastEthernet1/0/33 not found in array
XXX: Looking at iface FastEthernet1/0/34
XXX: line 'FastEthernet1/0/34 unassigned YES unset up up' is up
XXX: FastEthernet1/0/34 not found in array
XXX: Looking at iface FastEthernet1/0/35
XXX: line 'FastEthernet1/0/35 unassigned YES unset up up' is up
XXX: FastEthernet1/0/35 not found in array
XXX: Looking at iface FastEthernet1/0/36
XXX: line 'FastEthernet1/0/36 unassigned YES unset down down' is down
XXX: FastEthernet1/0/36 not found in array
XXX: Adding FastEthernet1/0/36 to ports array
XXX: Looking at iface FastEthernet1/0/37
XXX: line 'FastEthernet1/0/37 unassigned YES unset up up' is up
XXX: FastEthernet1/0/37 not found in array
XXX: Looking at iface FastEthernet1/0/38
XXX: line 'FastEthernet1/0/38 unassigned YES unset down down' is down
XXX: FastEthernet1/0/38 not found in array
XXX: Adding FastEthernet1/0/38 to ports array
XXX: Looking at iface FastEthernet1/0/39
XXX: line 'FastEthernet1/0/39 unassigned YES unset down down' is down
XXX: FastEthernet1/0/39 not found in array
XXX: Adding FastEthernet1/0/39 to ports array
XXX: Looking at iface FastEthernet1/0/40
XXX: line 'FastEthernet1/0/40 unassigned YES unset down down' is down
XXX: FastEthernet1/0/40 not found in array
XXX: Adding FastEthernet1/0/40 to ports array
XXX: Looking at iface FastEthernet1/0/41
XXX: line 'FastEthernet1/0/41 unassigned YES unset up up' is up
XXX: FastEthernet1/0/41 not found in array
XXX: Looking at iface FastEthernet1/0/42
XXX: line 'FastEthernet1/0/42 unassigned YES unset down down' is down
XXX: FastEthernet1/0/42 not found in array
XXX: Adding FastEthernet1/0/42 to ports array
XXX: Looking at iface FastEthernet1/0/43
XXX: line 'FastEthernet1/0/43 unassigned YES unset down down' is down
XXX: FastEthernet1/0/43 not found in array
XXX: Adding FastEthernet1/0/43 to ports array
XXX: Looking at iface FastEthernet1/0/44
XXX: line 'FastEthernet1/0/44 unassigned YES unset up up' is up
XXX: FastEthernet1/0/44 not found in array
XXX: Looking at iface FastEthernet1/0/45
XXX: line 'FastEthernet1/0/45 unassigned YES unset up up' is up
XXX: FastEthernet1/0/45 not found in array
XXX: Looking at iface FastEthernet1/0/46
XXX: line 'FastEthernet1/0/46 unassigned YES unset down down' is down
XXX: FastEthernet1/0/46 not found in array
XXX: Adding FastEthernet1/0/46 to ports array
XXX: Looking at iface FastEthernet1/0/47
XXX: line 'FastEthernet1/0/47 unassigned YES unset up up' is up
XXX: FastEthernet1/0/47 not found in array
XXX: Looking at iface FastEthernet1/0/48
XXX: line 'FastEthernet1/0/48 unassigned YES unset down down' is down
XXX: FastEthernet1/0/48 not found in array
XXX: Adding FastEthernet1/0/48 to ports array
XXX: Looking at iface GigabitEthernet1/0/1
XXX: line 'GigabitEthernet1/0/1 unassigned YES unset up up' is up
XXX: GigabitEthernet1/0/1 not found in array
XXX: Looking at iface GigabitEthernet1/0/2
XXX: line 'GigabitEthernet1/0/2 unassigned YES unset administratively down down' is admin down
XXX: GigabitEthernet1/0/2 not found in array
XXX: Looking at iface GigabitEthernet1/0/3
XXX: line 'GigabitEthernet1/0/3 unassigned YES unset administratively down down' is admin down
XXX: GigabitEthernet1/0/3 not found in array
XXX: Looking at iface GigabitEthernet1/0/4
XXX: line 'GigabitEthernet1/0/4 unassigned YES unset administratively down down' is admin down
XXX: GigabitEthernet1/0/4 not found in array
XXX: Looking at iface FastEthernet2/0/1
XXX: line 'FastEthernet2/0/1 unassigned YES unset down down' is down
XXX: FastEthernet2/0/1 not found in array
XXX: Adding FastEthernet2/0/1 to ports array
XXX: Looking at iface FastEthernet2/0/2
XXX: line 'FastEthernet2/0/2 unassigned YES unset down down' is down
XXX: FastEthernet2/0/2 not found in array
XXX: Adding FastEthernet2/0/2 to ports array
XXX: Looking at iface FastEthernet2/0/3
XXX: line 'FastEthernet2/0/3 unassigned YES unset down down' is down
XXX: FastEthernet2/0/3 not found in array
XXX: Adding FastEthernet2/0/3 to ports array
XXX: Looking at iface FastEthernet2/0/4
XXX: line 'FastEthernet2/0/4 unassigned YES unset down down' is down
XXX: FastEthernet2/0/4 not found in array
XXX: Adding FastEthernet2/0/4 to ports array
XXX: Looking at iface FastEthernet2/0/5
XXX: line 'FastEthernet2/0/5 unassigned YES unset down down' is down
XXX: FastEthernet2/0/5 not found in array
XXX: Adding FastEthernet2/0/5 to ports array
XXX: Looking at iface FastEthernet2/0/6
XXX: line 'FastEthernet2/0/6 unassigned YES unset down down' is down
XXX: FastEthernet2/0/6 not found in array
XXX: Adding FastEthernet2/0/6 to ports array
XXX: Looking at iface FastEthernet2/0/7
XXX: line 'FastEthernet2/0/7 unassigned YES unset down down' is down
XXX: FastEthernet2/0/7 not found in array
XXX: Adding FastEthernet2/0/7 to ports array
XXX: Looking at iface FastEthernet2/0/8
XXX: line 'FastEthernet2/0/8 unassigned YES unset down down' is down
XXX: FastEthernet2/0/8 not found in array
XXX: Adding FastEthernet2/0/8 to ports array
XXX: Looking at iface FastEthernet2/0/9
XXX: line 'FastEthernet2/0/9 unassigned YES unset up up' is up
XXX: FastEthernet2/0/9 not found in array
XXX: Looking at iface FastEthernet2/0/10
XXX: line 'FastEthernet2/0/10 unassigned YES unset down down' is down
XXX: FastEthernet2/0/10 not found in array
XXX: Adding FastEthernet2/0/10 to ports array
XXX: Looking at iface FastEthernet2/0/11
XXX: line 'FastEthernet2/0/11 unassigned YES unset down down' is down
XXX: FastEthernet2/0/11 not found in array
XXX: Adding FastEthernet2/0/11 to ports array
XXX: Looking at iface FastEthernet2/0/12
XXX: line 'FastEthernet2/0/12 unassigned YES unset down down' is down
XXX: FastEthernet2/0/12 not found in array
XXX: Adding FastEthernet2/0/12 to ports array
XXX: Looking at iface FastEthernet2/0/13
XXX: line 'FastEthernet2/0/13 unassigned YES unset down down' is down
XXX: FastEthernet2/0/13 not found in array
XXX: Adding FastEthernet2/0/13 to ports array
XXX: Looking at iface FastEthernet2/0/14
XXX: line 'FastEthernet2/0/14 unassigned YES unset down down' is down
XXX: FastEthernet2/0/14 not found in array
XXX: Adding FastEthernet2/0/14 to ports array
XXX: Looking at iface FastEthernet2/0/15
XXX: line 'FastEthernet2/0/15 unassigned YES unset down down' is down
XXX: FastEthernet2/0/15 not found in array
XXX: Adding FastEthernet2/0/15 to ports array
XXX: Looking at iface FastEthernet2/0/16
XXX: line 'FastEthernet2/0/16 unassigned YES unset down down' is down
XXX: FastEthernet2/0/16 not found in array
XXX: Adding FastEthernet2/0/16 to ports array
XXX: Looking at iface FastEthernet2/0/17
XXX: line 'FastEthernet2/0/17 unassigned YES unset down down' is down
XXX: FastEthernet2/0/17 not found in array
XXX: Adding FastEthernet2/0/17 to ports array
XXX: Looking at iface FastEthernet2/0/18
XXX: line 'FastEthernet2/0/18 unassigned YES unset down down' is down
XXX: FastEthernet2/0/18 not found in array
XXX: Adding FastEthernet2/0/18 to ports array
XXX: Looking at iface FastEthernet2/0/19
XXX: line 'FastEthernet2/0/19 unassigned YES unset up up' is up
XXX: FastEthernet2/0/19 not found in array
XXX: Looking at iface FastEthernet2/0/20
XXX: line 'FastEthernet2/0/20 unassigned YES unset down down' is down
XXX: FastEthernet2/0/20 not found in array
XXX: Adding FastEthernet2/0/20 to ports array
XXX: Looking at iface FastEthernet2/0/21
XXX: line 'FastEthernet2/0/21 unassigned YES unset down down' is down
XXX: FastEthernet2/0/21 not found in array
XXX: Adding FastEthernet2/0/21 to ports array
XXX: Looking at iface FastEthernet2/0/22
XXX: line 'FastEthernet2/0/22 unassigned YES unset down down' is down
XXX: FastEthernet2/0/22 not found in array
XXX: Adding FastEthernet2/0/22 to ports array
XXX: Looking at iface FastEthernet2/0/23
XXX: line 'FastEthernet2/0/23 unassigned YES unset down down' is down
XXX: FastEthernet2/0/23 not found in array
XXX: Adding FastEthernet2/0/23 to ports array
XXX: Looking at iface FastEthernet2/0/24
XXX: line 'FastEthernet2/0/24 unassigned YES unset up up' is up
XXX: FastEthernet2/0/24 not found in array
XXX: Looking at iface FastEthernet2/0/25
XXX: line 'FastEthernet2/0/25 unassigned YES unset down down' is down
XXX: FastEthernet2/0/25 not found in array
XXX: Adding FastEthernet2/0/25 to ports array
XXX: Looking at iface FastEthernet2/0/26
XXX: line 'FastEthernet2/0/26 unassigned YES unset down down' is down
XXX: FastEthernet2/0/26 not found in array
XXX: Adding FastEthernet2/0/26 to ports array
XXX: Looking at iface FastEthernet2/0/27
XXX: line 'FastEthernet2/0/27 unassigned YES unset down down' is down
XXX: FastEthernet2/0/27 not found in array
XXX: Adding FastEthernet2/0/27 to ports array
XXX: Looking at iface FastEthernet2/0/28
XXX: line 'FastEthernet2/0/28 unassigned YES unset down down' is down
XXX: FastEthernet2/0/28 not found in array
XXX: Adding FastEthernet2/0/28 to ports array
XXX: Looking at iface FastEthernet2/0/29
XXX: line 'FastEthernet2/0/29 unassigned YES unset down down' is down
XXX: FastEthernet2/0/29 not found in array
XXX: Adding FastEthernet2/0/29 to ports array
XXX: Looking at iface FastEthernet2/0/30
XXX: line 'FastEthernet2/0/30 unassigned YES unset down down' is down
XXX: FastEthernet2/0/30 not found in array
XXX: Adding FastEthernet2/0/30 to ports array
XXX: Looking at iface FastEthernet2/0/31
XXX: line 'FastEthernet2/0/31 unassigned YES unset down down' is down
XXX: FastEthernet2/0/31 not found in array
XXX: Adding FastEthernet2/0/31 to ports array
XXX: Looking at iface FastEthernet2/0/32
XXX: line 'FastEthernet2/0/32 unassigned YES unset up up' is up
XXX: FastEthernet2/0/32 not found in array
XXX: Looking at iface FastEthernet2/0/33
XXX: line 'FastEthernet2/0/33 unassigned YES unset down down' is down
XXX: FastEthernet2/0/33 not found in array
XXX: Adding FastEthernet2/0/33 to ports array
XXX: Looking at iface FastEthernet2/0/34
XXX: line 'FastEthernet2/0/34 unassigned YES unset down down' is down
XXX: FastEthernet2/0/34 not found in array
XXX: Adding FastEthernet2/0/34 to ports array
XXX: Looking at iface FastEthernet2/0/35
XXX: line 'FastEthernet2/0/35 unassigned YES unset down down' is down
XXX: FastEthernet2/0/35 not found in array
XXX: Adding FastEthernet2/0/35 to ports array
XXX: Looking at iface FastEthernet2/0/36
XXX: line 'FastEthernet2/0/36 unassigned YES unset down down' is down
XXX: FastEthernet2/0/36 not found in array
XXX: Adding FastEthernet2/0/36 to ports array
XXX: Looking at iface FastEthernet2/0/37
XXX: line 'FastEthernet2/0/37 unassigned YES unset down down' is down
XXX: FastEthernet2/0/37 not found in array
XXX: Adding FastEthernet2/0/37 to ports array
XXX: Looking at iface FastEthernet2/0/38
XXX: line 'FastEthernet2/0/38 unassigned YES unset down down' is down
XXX: FastEthernet2/0/38 not found in array
XXX: Adding FastEthernet2/0/38 to ports array
XXX: Looking at iface FastEthernet2/0/39
XXX: line 'FastEthernet2/0/39 unassigned YES unset up up' is up
XXX: FastEthernet2/0/39 not found in array
XXX: Looking at iface FastEthernet2/0/40
XXX: line 'FastEthernet2/0/40 unassigned YES unset up up' is up
XXX: FastEthernet2/0/40 not found in array
XXX: Looking at iface FastEthernet2/0/41
XXX: line 'FastEthernet2/0/41 unassigned YES unset down down' is down
XXX: FastEthernet2/0/41 not found in array
XXX: Adding FastEthernet2/0/41 to ports array
XXX: Looking at iface FastEthernet2/0/42
XXX: line 'FastEthernet2/0/42 unassigned YES unset down down' is down
XXX: FastEthernet2/0/42 not found in array
XXX: Adding FastEthernet2/0/42 to ports array
XXX: Looking at iface FastEthernet2/0/43
XXX: line 'FastEthernet2/0/43 unassigned YES unset down down' is down
XXX: FastEthernet2/0/43 not found in array
XXX: Adding FastEthernet2/0/43 to ports array
XXX: Looking at iface FastEthernet2/0/44
XXX: line 'FastEthernet2/0/44 unassigned YES unset down down' is down
XXX: FastEthernet2/0/44 not found in array
XXX: Adding FastEthernet2/0/44 to ports array
XXX: Looking at iface FastEthernet2/0/45
XXX: line 'FastEthernet2/0/45 unassigned YES unset up up' is up
XXX: FastEthernet2/0/45 not found in array
XXX: Looking at iface FastEthernet2/0/46
XXX: line 'FastEthernet2/0/46 unassigned YES unset up up' is up
XXX: FastEthernet2/0/46 not found in array
XXX: Looking at iface FastEthernet2/0/47
XXX: line 'FastEthernet2/0/47 unassigned YES unset up up' is up
XXX: FastEthernet2/0/47 not found in array
XXX: Looking at iface FastEthernet2/0/48
XXX: line 'FastEthernet2/0/48 unassigned YES unset up up' is up
XXX: FastEthernet2/0/48 not found in array
XXX: Looking at iface GigabitEthernet2/0/1
XXX: line 'GigabitEthernet2/0/1 unassigned YES unset administratively down down' is admin down
XXX: GigabitEthernet2/0/1 not found in array
XXX: Looking at iface GigabitEthernet2/0/2
XXX: line 'GigabitEthernet2/0/2 unassigned YES unset administratively down down' is admin down
XXX: GigabitEthernet2/0/2 not found in array
XXX: Looking at iface GigabitEthernet2/0/3
XXX: line 'GigabitEthernet2/0/3 unassigned YES unset administratively down down' is admin down
XXX: GigabitEthernet2/0/3 not found in array
XXX: Looking at iface GigabitEthernet2/0/4
XXX: line 'GigabitEthernet2/0/4 unassigned YES unset administratively down down' is admin down
XXX: GigabitEthernet2/0/4 not found in array
XXX: Looking at iface FastEthernet3/0/1
XXX: line 'FastEthernet3/0/1 unassigned YES unset up up' is up
XXX: FastEthernet3/0/1 not found in array
XXX: Looking at iface FastEthernet3/0/2
XXX: line 'FastEthernet3/0/2 unassigned YES unset down down' is down
XXX: FastEthernet3/0/2 not found in array
XXX: Adding FastEthernet3/0/2 to ports array
XXX: Looking at iface FastEthernet3/0/3
XXX: line 'FastEthernet3/0/3 unassigned YES unset up up' is up
XXX: FastEthernet3/0/3 not found in array
XXX: Looking at iface FastEthernet3/0/4
XXX: line 'FastEthernet3/0/4 unassigned YES unset down down' is down
XXX: FastEthernet3/0/4 not found in array
XXX: Adding FastEthernet3/0/4 to ports array
XXX: Looking at iface FastEthernet3/0/5
XXX: line 'FastEthernet3/0/5 unassigned YES unset up up' is up
XXX: FastEthernet3/0/5 not found in array
XXX: Looking at iface FastEthernet3/0/6
XXX: line 'FastEthernet3/0/6 unassigned YES unset up up' is up
XXX: FastEthernet3/0/6 not found in array
XXX: Looking at iface FastEthernet3/0/7
XXX: line 'FastEthernet3/0/7 unassigned YES unset up up' is up
XXX: FastEthernet3/0/7 not found in array
XXX: Looking at iface FastEthernet3/0/8
XXX: line 'FastEthernet3/0/8 unassigned YES unset up up' is up
XXX: FastEthernet3/0/8 not found in array
XXX: Looking at iface FastEthernet3/0/9
XXX: line 'FastEthernet3/0/9 unassigned YES unset down down' is down
XXX: FastEthernet3/0/9 not found in array
XXX: Adding FastEthernet3/0/9 to ports array
XXX: Looking at iface FastEthernet3/0/10
XXX: line 'FastEthernet3/0/10 unassigned YES unset down down' is down
XXX: FastEthernet3/0/10 not found in array
XXX: Adding FastEthernet3/0/10 to ports array
XXX: Looking at iface FastEthernet3/0/11
XXX: line 'FastEthernet3/0/11 unassigned YES unset down down' is down
XXX: FastEthernet3/0/11 not found in array
XXX: Adding FastEthernet3/0/11 to ports array
XXX: Looking at iface FastEthernet3/0/12
XXX: line 'FastEthernet3/0/12 unassigned YES unset up up' is up
XXX: FastEthernet3/0/12 not found in array
XXX: Looking at iface FastEthernet3/0/13
XXX: line 'FastEthernet3/0/13 unassigned YES unset down down' is down
XXX: FastEthernet3/0/13 not found in array
XXX: Adding FastEthernet3/0/13 to ports array
XXX: Looking at iface FastEthernet3/0/14
XXX: line 'FastEthernet3/0/14 unassigned YES unset down down' is down
XXX: FastEthernet3/0/14 not found in array
XXX: Adding FastEthernet3/0/14 to ports array
XXX: Looking at iface FastEthernet3/0/15
XXX: line 'FastEthernet3/0/15 unassigned YES unset up up' is up
XXX: FastEthernet3/0/15 not found in array
XXX: Looking at iface FastEthernet3/0/16
XXX: line 'FastEthernet3/0/16 unassigned YES unset down down' is down
XXX: FastEthernet3/0/16 not found in array
XXX: Adding FastEthernet3/0/16 to ports array
XXX: Looking at iface FastEthernet3/0/17
XXX: line 'FastEthernet3/0/17 unassigned YES unset down down' is down
XXX: FastEthernet3/0/17 not found in array
XXX: Adding FastEthernet3/0/17 to ports array
XXX: Looking at iface FastEthernet3/0/18
XXX: line 'FastEthernet3/0/18 unassigned YES unset up up' is up
XXX: FastEthernet3/0/18 not found in array
XXX: Looking at iface FastEthernet3/0/19
XXX: line 'FastEthernet3/0/19 unassigned YES unset down down' is down
XXX: FastEthernet3/0/19 not found in array
XXX: Adding FastEthernet3/0/19 to ports array
XXX: Looking at iface FastEthernet3/0/20
XXX: line 'FastEthernet3/0/20 unassigned YES unset up up' is up
XXX: FastEthernet3/0/20 not found in array
XXX: Looking at iface FastEthernet3/0/21
XXX: line 'FastEthernet3/0/21 unassigned YES unset down down' is down
XXX: FastEthernet3/0/21 not found in array
XXX: Adding FastEthernet3/0/21 to ports array
XXX: Looking at iface FastEthernet3/0/22
XXX: line 'FastEthernet3/0/22 unassigned YES unset down down' is down
XXX: FastEthernet3/0/22 not found in array
XXX: Adding FastEthernet3/0/22 to ports array
XXX: Looking at iface FastEthernet3/0/23
XXX: line 'FastEthernet3/0/23 unassigned YES unset down down' is down
XXX: FastEthernet3/0/23 not found in array
XXX: Adding FastEthernet3/0/23 to ports array
XXX: Looking at iface FastEthernet3/0/24
XXX: line 'FastEthernet3/0/24 unassigned YES unset up up' is up
XXX: FastEthernet3/0/24 not found in array
XXX: Looking at iface FastEthernet3/0/25
XXX: line 'FastEthernet3/0/25 unassigned YES unset up up' is up
XXX: FastEthernet3/0/25 not found in array
XXX: Looking at iface FastEthernet3/0/26
XXX: line 'FastEthernet3/0/26 unassigned YES unset down down' is down
XXX: FastEthernet3/0/26 not found in array
XXX: Adding FastEthernet3/0/26 to ports array
XXX: Looking at iface FastEthernet3/0/27
XXX: line 'FastEthernet3/0/27 unassigned YES unset up up' is up
XXX: FastEthernet3/0/27 not found in array
XXX: Looking at iface FastEthernet3/0/28
XXX: line 'FastEthernet3/0/28 unassigned YES unset down down' is down
XXX: FastEthernet3/0/28 not found in array
XXX: Adding FastEthernet3/0/28 to ports array
XXX: Looking at iface FastEthernet3/0/29
XXX: line 'FastEthernet3/0/29 unassigned YES unset up up' is up
XXX: FastEthernet3/0/29 not found in array
XXX: Looking at iface FastEthernet3/0/30
XXX: line 'FastEthernet3/0/30 unassigned YES unset down down' is down
XXX: FastEthernet3/0/30 not found in array
XXX: Adding FastEthernet3/0/30 to ports array
XXX: Looking at iface FastEthernet3/0/31
XXX: line 'FastEthernet3/0/31 unassigned YES unset down down' is down
XXX: FastEthernet3/0/31 not found in array
XXX: Adding FastEthernet3/0/31 to ports array
XXX: Looking at iface FastEthernet3/0/32
XXX: line 'FastEthernet3/0/32 unassigned YES unset down down' is down
XXX: FastEthernet3/0/32 not found in array
XXX: Adding FastEthernet3/0/32 to ports array
XXX: Looking at iface FastEthernet3/0/33
XXX: line 'FastEthernet3/0/33 unassigned YES unset up up' is up
XXX: FastEthernet3/0/33 not found in array
XXX: Looking at iface FastEthernet3/0/34
XXX: line 'FastEthernet3/0/34 unassigned YES unset up up' is up
XXX: FastEthernet3/0/34 not found in array
XXX: Looking at iface FastEthernet3/0/35
XXX: line 'FastEthernet3/0/35 unassigned YES unset down down' is down
XXX: FastEthernet3/0/35 not found in array
XXX: Adding FastEthernet3/0/35 to ports array
XXX: Looking at iface FastEthernet3/0/36
XXX: line 'FastEthernet3/0/36 unassigned YES unset down down' is down
XXX: FastEthernet3/0/36 not found in array
XXX: Adding FastEthernet3/0/36 to ports array
XXX: Looking at iface FastEthernet3/0/37
XXX: line 'FastEthernet3/0/37 unassigned YES unset down down' is down
XXX: FastEthernet3/0/37 not found in array
XXX: Adding FastEthernet3/0/37 to ports array
XXX: Looking at iface FastEthernet3/0/38
XXX: line 'FastEthernet3/0/38 unassigned YES unset down down' is down
XXX: FastEthernet3/0/38 not found in array
XXX: Adding FastEthernet3/0/38 to ports array
XXX: Looking at iface FastEthernet3/0/39
XXX: line 'FastEthernet3/0/39 unassigned YES unset down down' is down
XXX: FastEthernet3/0/39 not found in array
XXX: Adding FastEthernet3/0/39 to ports array
XXX: Looking at iface FastEthernet3/0/40
XXX: line 'FastEthernet3/0/40 unassigned YES unset up up' is up
XXX: FastEthernet3/0/40 not found in array
XXX: Looking at iface FastEthernet3/0/41
XXX: line 'FastEthernet3/0/41 unassigned YES unset down down' is down
XXX: FastEthernet3/0/41 not found in array
XXX: Adding FastEthernet3/0/41 to ports array
XXX: Looking at iface FastEthernet3/0/42
XXX: line 'FastEthernet3/0/42 unassigned YES unset down down' is down
XXX: FastEthernet3/0/42 not found in array
XXX: Adding FastEthernet3/0/42 to ports array
XXX: Looking at iface FastEthernet3/0/43
XXX: line 'FastEthernet3/0/43 unassigned YES unset down down' is down
XXX: FastEthernet3/0/43 not found in array
XXX: Adding FastEthernet3/0/43 to ports array
XXX: Looking at iface FastEthernet3/0/44
XXX: line 'FastEthernet3/0/44 unassigned YES unset down down' is down
XXX: FastEthernet3/0/44 not found in array
XXX: Adding FastEthernet3/0/44 to ports array
XXX: Looking at iface FastEthernet3/0/45
XXX: line 'FastEthernet3/0/45 unassigned YES unset up up' is up
XXX: FastEthernet3/0/45 not found in array
XXX: Looking at iface FastEthernet3/0/46
XXX: line 'FastEthernet3/0/46 unassigned YES unset up up' is up
XXX: FastEthernet3/0/46 not found in array
XXX: Looking at iface FastEthernet3/0/47
XXX: line 'FastEthernet3/0/47 unassigned YES unset down down' is down
XXX: FastEthernet3/0/47 not found in array
XXX: Adding FastEthernet3/0/47 to ports array
1287181296Process Forced Exit- MAXRUN timer expired.
("foreach" body line 1)
invoked from within
"foreach line [split $result "\n"] {
set line [string trim $line]
regsub -all {\s+} $line " " line
set elems [split $line]
set iface [l..."
invoked from within
"$slave eval $Contents"
(procedure "eval_script" line 7)
invoked from within
"eval_script slave $scriptname"
invoked from within
"if {$security_level == 1} { #untrusted script
interp create -safe slave
interp share {} stdin slave
interp share {} stdout slave
(file "tmpsys:/lib/tcl/base.tcl" line 50)
Tcl policy execute failed: 1287181296Process Forced Exit- MAXRUN timer expired.
LOG FILE:
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/1 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/2 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/3 unassigned YES unset down down
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/4 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/5 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/6 unassigned YES unset down down
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/7 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/8 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/9 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/10 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/11 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/12 unassigned YES unset down down
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/13 unassigned YES unset down down
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/14 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/15 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/16 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/17 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/18 unassigned YES unset up up
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/19 unassigned YES unset down down
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : OUT : FastEthernet1/0/20 unassigned YES unset down down
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : CTL : 20+ lines read from cli_read, debug output truncated.
Oct 16 08:21:37: %HA_EM-6-LOG: tm_suspend_ports2.tcl : DEBUG(cli_lib) : CTL : cli_close called.
I have a feeling its truncating the good stuff. Is there a way to make it output everything and not truncate the rest of the lines or is that what the onscreen stuff from above is? -
Using IP SLA and EEM to provide 3G backup to ADSL connection on CISCO887VAG+7-K9 router
On a Cisco887VAG+7-K9 router, I want to be able to use IP SLA and EEM to track connectivity to an external address via my ADSL line, if connectivity is UP then I want the 3G interface to be admin shutdown. If connectivity is down, then I want the 3G interface to be activated and connectivity to resume via 3G.
I have configured this and it works apart from one problem. If the config on the router is written to startup memory while the 3G interface is admin shutdown, we subsequently have a problem with the ADSL line and the router is then rebooted, then the EEM does not seem to re-activate the 3G interface so all connectivity is lost until the ADSL is returned to service. i.e. it seems to be the case that if the IP SLA starts off as "Down" then the EEM doesn't take any action. The IP SLA has to have gone into the "up" state before it starts working? Does that make sense and, if so, is there any way round it?
For info, here is my IP SLA and EEM config:
ip sla 1
icmp-echo 8.8.8.8 source-interface dialer2
timeout 60000
ip sla schedule 1 life forever start-time now
track 1 ip sla 1 reachability
ip route 0.0.0.0 0.0.0.0 Dialer2 track 1
ip route 0.0.0.0 0.0.0.0 Dialer1 20
event manager applet 3G-ACTIVATE
event track 1 state down
action 10 cli command "enable"
action 20 cli command "configure terminal"
action 30 cli command "interface Cellular0"
action 40 cli command "no shutdown"
action 50 cli command "end"
event manager applet 3G-DEACTIVATE
event track 1 state up
action 10 cli command "enable"
action 20 cli command "configure terminal"
action 30 cli command "interface Cellular0"
action 40 cli command "shutdown"
action 50 cli command "end"
Any assistance/advice on getting this to work effectively would be appreciated!
Thanks.Yes, basically, when the tracked object is not reachable on initial router boot, the router doesn’t detect a transition of the tracking object from up to down and therefore does not execute the associated EEM script.
So, in my case, if I have an ADSL fault and the 3G interface has taken over, if the router is subsequently rebooted, all connectivity will be lost because the startup config of the router has the 3G interface as admin down and the EEM script to activate it does not kick in.
I've tried using "default-state up" under the track config but this didn't seem to have any effect - the reachability of my IP SLA was still down after a router reboot with no ADSL connection.
I also tried your script but this gave the errors:
%HA_EM-3-FMPD_ACTION_NOTRACK: bump-track: unable to set state for tracking object number 1; object does not exist or is not a stub-object.
Mar 19 10:23:00.005: %HA_EM-3-FMPD_ERROR: Error executing applet bump-track statement 1.0 %HA_EM-3-FMPD_ACTION_NOTRACK: bump-track: unable to set state for tracking object number 1; object does not exist or is not a stub-object.
Mar 19 10:23:00.005: %HA_EM-3-FMPD_ERROR: Error executing applet bump-track statement 1.0
I'm not sure how to resolve that?
Any further advice would be welcome! Thanks. -
EEM interface errors not matching
I have the event applet configured below. I test by changing the controller time-slots to 1-15 instead of 1-24 in order to generate errors on my Serial0/1/0:0 interface. Errors are generated, but the eem applet does not match even though the errors are incrementing. I've turned on all suggested eem debugging and it shows 0 matches while I can see that the interface is incrementing the errors that should be triggering the actions from the eem.
configuration:
event manager applet multiple_if
event tag if_1 interface name Serial0/1/0:0 parameter input_errors_crc entry-op ge entry-val 2 entry-type increment poll-interval 60
event tag if_2 interface name Serial0/1/0:0 parameter input_errors entry-op ge entry-val 2 entry-type increment poll-interval 60
event tag if_3 interface name Serial0/1/0:0 parameter input_errors_frame entry-op ge entry-val 2 entry-type increment poll-interval 60
event tag if_4 interface name Serial0/1/0:0 parameter input_errors_overrun entry-op ge entry-val 2 entry-type increment poll-interval 60
event tag if_5 interface name Serial0/1/0:0 parameter output_errors entry-op ge entry-val 2 entry-type increment poll-interval 60
event tag if_6 interface name Serial0/1/0:0 parameter output_errors_underrun entry-op ge entry-val 2 entry-type increment poll-interval 60
trigger
action 100 cli command "enable"
action 200 cli command "config t"
action 300 cli command "int Serial0/1/0:0"
action 400 cli command "description script worked!"
action 500 syslog msg "CRC failure leased line $_interface_name"
action 600 mail server "$_mail_smtp" to "$_mail_rcpt" from "$_info_routername@$_mail_domain" subject "ALERT: Serial Interface $id shutdown due to excessive interface error rate" body "\n$_syslog_msg"
action 999 end
debug ouput:
Jun 20 14:20:48 EDT: fh_fd_syslog_event_match: num_matches = 0
Jun 20 14:20:48 EDT: fh_fd_data_syslog: num_matches = 0
Jun 20 14:20:48 EDT: fh_fd_syslog_event_match: num_matches = 0
Jun 20 14:20:48 EDT: fh_fd_data_syslog: num_matches = 0
Jun 20 14:21:00 EDT: fh_fd_timer_process_async
Jun 20 14:21:00 EDT: cron_tick: num_matches 0
Jun 20 14:21:22 EDT: %HSRP-5-STATECHANGE: FastEthernet0/0.4 Grp 4 state Standby -> Active
Jun 20 14:21:22 EDT: fh_fd_syslog_event_match: num_matches = 0
Jun 20 14:21:22 EDT: fh_fd_data_syslog: num_matches = 0
Jun 20 14:22:00 EDT: fh_fd_timer_process_async
Jun 20 14:22:00 EDT: cron_tick: num_matches 0
Jun 20 14:23:00 EDT: fh_fd_timer_process_async
Jun 20 14:23:00 EDT: cron_tick: num_matches 0
Jun 20 14:24:00 EDT: fh_fd_timer_process_async
Jun 20 14:24:00 EDT: cron_tick: num_matches 0
output showing interface errors:
csc-lab01#sh int s0/1/0:0
Serial0/1/0:0 is up, line protocol is up
Hardware is GT96K Serial
Internet address is x.x.x.x/30
MTU 1500 bytes, BW 1536 Kbit/sec, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation PPP, LCP Open
Listen: CDPCP
Open: IPCP, loopback not set
Keepalive set (10 sec)
CRC checking enabled
Last input 00:00:00, output 00:00:00, output hang never
Last clearing of "show interface" counters 02:44:23
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: Class-based queueing
Output queue: 0/1000/0 (size/max total/drops)
30 second input rate 2000 bits/sec, 3 packets/sec
30 second output rate 2000 bits/sec, 2 packets/sec
9139 packets input, 1049231 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
224 input errors, 224 CRC, 117 frame, 95 overrun, 0 ignored, 81 abort
10737 packets output, 1511507 bytes, 0 underruns
0 output errors, 0 collisions, 15 interface resets
0 unknown protocol drops
0 output buffer failures, 0 output buffers swapped out
0 carrier transitions
Timeslot(s) Used:1-24, SCC: 0, Transmitter delay is 0 flagsA few other things I noticed. Try this:
event manager applet multiple_if
event tag if_1 interface name Serial0/1/0:0 parameter input_errors_crc entry-op ge entry-val 2 entry-type increment poll-interval 60
event tag if_2 interface name Serial0/1/0:0 parameter input_errors entry-op ge entry-val 2 entry-type increment poll-interval 60
event tag if_3 interface name Serial0/1/0:0 parameter input_errors_frame entry-op ge entry-val 2 entry-type increment poll-interval 60
event tag if_4 interface name Serial0/1/0:0 parameter input_errors_overrun entry-op ge entry-val 2 entry-type increment poll-interval 60
event tag if_5 interface name Serial0/1/0:0 parameter output_errors entry-op ge entry-val 2 entry-type increment poll-interval 60
event tag if_6 interface name Serial0/1/0:0 parameter output_errors_underrun entry-op ge entry-val 2 entry-type increment poll-interval 60
trigger occurs 1
correlate event if_1 or event if_2 or event if_3 or event if_4 or event if_4 or event if_5 or event if_6
action 100 cli command "enable"
action 200 cli command "config t"
action 300 cli command "int Serial0/1/0:0"
action 400 cli command "description script worked!"
action 401 set syslog_msg "CRC failure leased line $_interface_name"
action 500 syslog msg "$syslog_msg"
action 501 info type routername
action 600 mail server "$_mail_smtp" to "$_mail_rcpt" from "$_info_routername@$_mail_domain" subject "ALERT: Serial Interface $_interface_name shutdown due to excessive interface error rate" body "\n$syslog_msg" -
Need to add some if then and set a check in EEM script
OK the below script watches errors on a path. When it crosses the thresshold it sends a trap and changed the netmask on the path to prevent the route to the far node being used. on so this network is built as two seperate networks. For this lets call them network "A" and "B". the two networks do not touch. Even the OAM network to the router is on seperate vlans. so the chalange is to add inteligence to the script to not run if the router on the "B" network with this same script has dissabled the route so we do not end up with the "A" & "B" network isolated at the same time.
Yes I can think of many other ways to do this, but this is what is in place. So how would I set a varible or some flag that I could check to make sure an event has not taken the other path down? Checking for a file or something on a remote box is my first thought. Anyway I am tossing this out to see what some fresh minds might come up with.
event manager applet SNMP_RTT_Vlan1560_High-Delay
event snmp oid "rttMonLatestJitterOperRTTSum.15600" get-type exact entry-op ge entry-val "1500" entry-type value poll-interval 5 maxrun 180
action 10.0 snmp-trap intdata1 100 intdata2 200 strdata " ***HIGH PACKET DELAY Linkset SHUTDOWN*** some route >some other route Vlan1560"
action 10.5 syslog msg "****EEM Interface SHUTDOWN-HIGH DELAY to re-enable change interface Vlan1560 ip address 10.224.159.233 255.255.255.248 **** description some route>some other route"
action 100.0 cli command "enable"
action 110.0 cli command "config terminal"
action 130.0 cli command "interface Vlan1560"
action 140.0 cli command "ip address 10.224.159.233 255.255.255.254"
action 145.0 cli command "description ****EEM Interface SHUTDOWN-HIGH DELAY to re-enable change interface Vlan1560 ip address 10.224.159.233 255.255.255.248 **** description some route > some other route"
action 180.0 cli command "no event manager applet SNMP_RTT_Vlan1560_High-Delay_Routing_Restore"
action 200.0 cli command "event manager applet SNMP_RTT_Vlan1560_High-Delay_Routing_Restore"
action 205.0 cli command "event timer countdown time 95 name Restore_timer_Vlan1560 maxrun 180"
action 210.0 cli command "action 100.0 cli command $QUOTE enable $QUOTE "
action 220.0 cli command "action 110.0 cli command $QUOTE config terminal $QUOTE "
action 230.0 cli command "action 130.0 cli command $QUOTE interface Vlan1560 $QUOTE "
action 240.0 cli command "action 140.0 cli command $QUOTE ip address 10.224.159.233 255.255.255.248 $QUOTE "
action 250.0 cli command "action 145.0 cli command $QUOTE description Some route > some other route $QUOTE "
action 260.0 cli command "action 150.0 cli command $QUOTE end $QUOTE "
action 280.0 cli command "action 170.0 snmp-trap intdata1 100 intdata2 200 strdata $QUOTE ***High packet delay Linkset RESTORED *** some route > someother route $QUOTE "
action 290.0 cli command "action 180.0 syslog msg $QUOTE ****EEM RESTORED**** interface Vlan1560 IP address 10.224.159.233 255.255.255.248 description some route>some other route $QUOTE "
action 400.0 cli command "end"
action 410.0 cli command "disable"You could have the remote box send this box a trap that another EEM applet detects then creates a local environment variable that prevents the local router from executing this SNMP policy. See https://supportforums.cisco.com/docs/DOC-11745 on how to create a customized trap. The snmp-notification event detector can be used to detect this trap.
-
Help with EEM TCL / CLI scripting for re-direction/wccp counters
Being new with EEM scripting I wanted to see if I was on the right track and get some help to finish my idea.
Our problem I am trying to fix is our remote sites utilize pairs of Cat3650's for some routing and WCCP redirection. We are encountering ACL denial issues causing slow down and access issues. The fix for the issue we remove the WCCP service groups to break peering with our wan optimizers and re-insert the configuration thus re-establishing peering and restoring service.
My idea is to use a TCL scipt on a watchdog timer to parse the "sh ip wccp | inc denied (or unassign)" output for denial and unassignable error counters. If a counter is found I wanted to create a syslog message that would then kick off a simple EEM CLI script to remove the service groups, wait 10 seconds, then re-add the service groups. Please point me in the right direction if I am off track as I am not sure if I can use the EEM CLI for all this or since I want to retreive specific info from the sh ip wccp output if I do need to utilize TCL. I am also unsure if the "total denied" ascii string pulled via the "sh ip wccp | inc denied" will cause issues when attempting to just pull the counter information.
sh ip wccp | inc Denied Red
Total Packets Denied Redirect: 0
Total Packets Denied Redirect: 0
Script thus far :
TCL
if [catch {context_retrieve "EEM_WCCP_ERROR_COUNTER" "count"} result] {
set wccpcounter 0
} else {
set wccpcounter $result
} if [catch {cli_open} result] {
error $result
} else {
array set cli $result
} if [catch {cli_exec $cli(fd) "show ip wccp | incl Denied"} result] {
error $result
} else {
set cmd_output $result
set count ""
catch [regexp {receive ([0-9]+),} $cmd_output} ignore count]
set count
set diff [expr $count - $wccpcounter]
if {$diff != 0} {
action_syslog priority emergencies msg "WCCP counters showing incremental Denied packet counts"
if [catch {cli_close $cli(fd) $cli(tty_id)} result] {
error $result
context_save EEM_WCCP_ERROR_COUNTER count
CLI
event manager applet WCCP_COUNTER_WATCH
event syslog priority emergencies pattern "WCCP counters showing incremental Denied packet counts"
action 001 cli command "enable"
action 002 cli command "config t"
action 003 cli command "no ip wccp 61"
action 004 cli command "no ip wccp 62"
action 005 wait 10
action 006 cli command "ip wccp 61"
action 007 cli command "ip wccp 62"
action 008 wait 15
action 009 cli command "clear ip wccp"
action 010 cli command "end"
Thanks for all the helpThis won't work as EEM cannot intercept its own syslog messages. However, I'm not sure why you need this form of IPC anyway. Why not just make the Tcl script perform the needed CLI commands?
And, yes, you could use all applets here. But since you've written the hard stuff in Tcl already, it might be best just to add the missing calls to reconfigure WCCP to that script. -
Can I use EEM to upload long scripts and run them?`
I asked this question here, on ServerFault, and they guided me to here.
The issue is basic. If I need to run hundreds of al/ag/ng/no commands on a Cisco ASA programmatically, I need to do it via a SSH shell, with the restriction that the ASA will not take a command size greater than 1024 bytes. I take my batch, and find the number of whole lines, as long as they are under 1,000 characters, and send commands like this-effectively "chunking" the batch into smaller pieces. This takes forever.
I am not talking about a replacement config, frequently run commands, or rebooting the AS in any way. I am just talking about making 'hot' modifications remotely via computer program.
I don't know if EEM is the way, but if it can do the following (exactly, or functionally), it is of great interest:
1. A remote client creates a batch file-nothing more than a sequence of commands for the CLI.
2. That batch file makes it's way to the ASA (any number of ways).
3. The commands in the batch are run, in order, as if typed in on the command line.
4. I imagine some sort of feedback would be nice, or even a signal that it is done, etc.
What are your thoughts?
Thank you!
P.S. I am not debating whether it is a good idea or not (unless you have a better way). I am merely asking how it can be done, and if EEM isn't the key, than what else might be?The ASA doesn't really support EEM. Yes, there is a now a feature called EEM in 9.2, but it is quite limited compared to IOS. In IOS, what you want would be possible, but on the ASA, you'll need to do all of your CLI commands off box using something like Expect. I'm not sure how you're automating this now, but perhaps you are already using Expect. That would be what I'd likely do in this situation.
-
How to scp a file in 7600 using EEM/Tcl
Hello All,
I have a Tcl file on 7600 that produces a file, and I would like to copy this file to a server using scp.
This is how the file looks like :
::cisco::eem::event_register_none maxrun 240
#::cisco::eem::event_register_timer cron cron_entry "*/5 * * * *" maxrun 240
namespace import ::cisco::eem::*
namespace import ::cisco::lib::*
array set arr_einfo [ event_reqinfo ] ;
if [ catch {cli_open} rc ] {
error $rc $errorInfo
} else {
array set clifd $rc
set filename "IOS7600.dat_12345" ;
set transfer "copy disk0:/" ; append transfer $filename ; append transfer " scp://username:password@ip:" ;
if [ catch {cli_exec $clifd(fd) $transfer} rc ] {
error $rc $errorInfo
if [ catch {cli_close $clifd(fd) $clifd(tty_id)} rc ] {
error $rc $errorInfo
The problem is that scp: hangs ! Could you please help me to work-around this ? What am I doing wrong ?
Many Thanks.
Kind Regards,
NikosAn alternative would be to write an applet, like :
event timer cron name PUSH-CoPP cron-entry "*/5 * * * *" maxrun 240
to do the following command :
set transfer "copy disk0:/" ; append transfer $filename ; append transfer " scp://username:password@ip:" ;
but how can I provide the filename, I could use a regexp like :
*IOS7600*
and then answer the related to scp dialog using action statements.
Could you please help me with this please ?
Many Thanks.
Kind Regards,
Nikos -
EEM variable for show command output and create a filename
I'm configuring EEM applet, example CPU High event. When it triggers the event, action is "show tech | redirect tftp://x.x.x.x/showtechoutput". The EEM event is working fine and triggered the show tech output into the tftp server. My question is, i'd like to add maybe date/time in the filename so it will not overwrite the file everytime there is a triggered event.
The EEM event variable i'm seeing in doc is "_event_pub_sec" but it won't work when i add after or before the filename. any idea?
thanks in advance ...Adding $_event_pub_sec to the end of the filename should work:
action 1.0 "show tech | redirect tftp://x.x.x.x/showtech.$_event_pub_sec"
That said, TFTP is very particular about how files can be created. Typically, a TFTP server will require the file to exist before a remote host can copy to it. If the filename changes each second, this will not work. Using a protocol like FTP or SCP may work better. -
EEM event_register_interface detector issue
hi,
Im working on a EEM policy for some of my routers using TCL, this policy checks for the txload value of an interface and reports the value with a syslog message, this policy is already in the eem scriptiong community so as least im sure that im in the right direction.
This is my policy right now for testing, as you can see its pretty simple:
::cisco::eem::event_register_interface name serial1/0 parameter txload poll_interval 5 entry_op ge entry_val 192 entry_val_is_increment FALSE entry_type value
action_syslog msg "event triggered"
However it doesn't works, i have tried this code on 2811 and 7200 routerswith 12.4 ios image and i cant get it working, i have been using other kind of detectors (counters, timers, cli, etc) and they are working fine.
thanks all for your replies.Thanks joseph for your reply,
I applied the policy as you said, however it didn't work, I tested the policy on a 2801 router in a lab enviroment. I have included some output from the router. I have implemented another policy with a timer detector as a workaround, meanwhile I get some other IOS image for testing and production enviroment.
R1#sh event manager policy registered
No. Class Type Event Type Trap Time Registered Name
1 script user interface Off Sun Apr 17 11:54:26 2011 ifreporter.tcl
name {serial0/2/0} parameter {txload} entry_op ge entry_val 192 entry_val_is_increment FALSE poll_interval 70.000
nice 0 queue-priority normal maxrun 20.000
R1#sh ver
Cisco IOS Software, 2801 Software (C2801-ADVIPSERVICESK9-M), Version 12.4(19), RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2008 by Cisco Systems, Inc.
Compiled Fri 29-Feb-08 20:54 by prod_rel_team
ROM: System Bootstrap, Version 12.3(8r)T9, RELEASE SOFTWARE (fc1)
R1 uptime is 48 minutes
System returned to ROM by reload at 11:48:07 cst Sun Apr 17 2011
System image file is "flash:c2801-advipservicesk9-mz.124-19.bin" -
Hello Community,
Can someone please let me know if its possible to have a EEM script activated when particular word appears in a syslog.
For the following is a syslog message:
Sep 19 09:11:33.966: %HA_EM-2-LOG: utilisationHighInterfaceUtilization.tcl: 992&You are experiencing abnormally high traffic utilization |ifu|/15
Would it be possible if have a EEM script activated when the word "high traffic utilization" from the above syslog message appears?
I have tried with the following but it won't work.
event manager applet toptalkers
event syslog pattern "high traffic utilization"
action 1.0 cli command "enable"
action 1.5 cli command "show flow monitor FlowMonitor1 cache aggregate ipv4 protocol"
action 4.0 mail server "10.44.xxx.xxx" to "[email protected]" from "[email protected]" subject "toptalkers." body "TopTalker Script $_cli_result"
Cheers
Carlton
BTW, I will respond to the other questions I have posted on this forum.Hello Community,
I figured out why it doesn't work.
Its because the event isn't, technically speaking, a syslog event. Therefore, can someone please show me how to make the script work with the event as stated above:
Sep 19 09:11:33.966: %HA_EM-2-LOG: utilisationHighInterfaceUtilization.tcl: 992&You are experiencing abnormally high traffic utilization |ifu|/15
Cheers
Carlton -
EEM problem with "event timer absolute time"
Hi
I wanted to execute a EEM script at a certain time, 2015-05-04 03:00:00 GMT+2:00. So I used the "event timer absolute time" command.
But the switch executed the script immediately. Is there something wrong with the script? Is there another way to execute a few commands at a certain time like this?
Script:
event manager applet CHANGE_TO_RAPID-PVST_v2
event timer absolute time 1430701200
action 1.0 cli command "enable"
action 1.1 cli command "config t"
action 2.0 cli command "spanning-tree mode rapid-pvst"
action 2.1 cli command "end"
action 3.0 syslog msg "Changed to Rapid-PVST by EEM script CHANGE_TO_RAPID-PVST_v2"
Switch: WS-C3560X-24T-S
IOS: 15.0(2)SE4
EEM version 3.2
#show event manager history events
No. Job Id Proc Status Time of Event Event Type Name
2 2 Actv success Thu Apr30 09:25:02 2015 timer absolute applet: CHANGE_TO_RAPID-PVST_v2
I used this link to calcute the timer value. http://www.epochconverter.com/I honestly have never seen anyone use this timer. You'd be better off using cron and removing the applet when it's done.
That said, this does look like a bug. Given the little use we've seen of this timer, it's likely a new one. I recommend opening a TAC case so it can be tracked.
Maybe you are looking for
-
Moving my itunes media folder back to my computer from external hard drive
Hope someone can help me here as I've gotten myself confused. A couple years ago I moved my Media Folder to an external hard drive. I now want to move it back but I'm doing something wrong. Here's what I did. Copied the Media Folder from external to
-
Glass of water was dumped on my iBook G4. It booted up okay, but problem seems to be that the power input won't recognize the AC adapter. Any ideas (ballpark) how much this would cost to fix? Also, when I was using it before the AC adapter started to
-
BSIS Index for G/L Accounts contains Customer items ?
Hello experts, I have some doubts about what i'm seing in database table BSIS. I always thought that this index table was containing only items with account type 'S' for GL account items. But it seems that customer items (with account type = D) can a
-
SAP BUSINESS ONE INSTALLATION ERROR
Hi Experts, I was installing SAP Business one PL5 on a client's computer. During the Server tools installation we are prompted to enter a password for B1SiteUser. It installs successfully but during the SAP Business one Sever installation I get an er
-
CPIC-CALL: 'ThSAPCMRCV' : cmRc=17 thRc=244
Hi All, I am getting the below short dump for Remote function call. I do not know the target system. I would like to know the process through which I can know the target system from the dump. I only have the short dump with me and want to know the po