EEM scripting generating commands

Hello,
I am trying to generate an EEM script that will send some message to all terminal lines, but I am having the next problem: I cannot get the script to use the action "send *" and to write something in the box, then to simulate the CTRL+Z keywords in order to confirm + exit.
Could someone please help me out ?
Thanks !

Hey Joseph,
I am not familliar with TCL scripting so I was just trying to make a small applet, I see the guys there are using TCL scripts for this...
You think that what I am trying to make is not possible using applets ?
Thanks !

Similar Messages

  • EEM Script Excluding Commands

    Hello Community,
    The following script will only provide the output 'show ip traffic' in an email when it is invoked.
    Can someone please show me how to modify the script so that all commands are sent to email, ie 'show process cpu sorted 5min', 'show process cpu sorted 1min'.
    event manager applet High_CPU_SNMP
    event none
    action 0.0 syslog msg "High CPU DETECTED. Please wait - logging Information to disk0:high_cpu.txt"
    action 0.1 cli command "enable"
    action 0.2 cli command "term exec prompt timestamp"
    action 0.3 cli command "term len 0"
    action 1.2 cli command "show process cpu sorted 5min"
    action 1.2 cli command "show process cpu sorted 1min"
    action 1.6 cli command "show ip traffic"
    action 1.7 mail server "150.50.5.2" to "[email protected]" from "[email protected]" subject "CPU Alert 5min" body "$_cli_result"
    Cheers
    Carlton

    Redirect the output of each command to a file on flash, then "more" the file:
    action 1.2 cli command "show proc cpu sort 5min | redirect flash:tmp"
    action 1.3 cli command "show process cpu sort 1min | append flash:tmp"
    action 1.6 cli command "more flash:tmp"
    action 1.7 mail server ... body "$_cli_result"

  • Cisco 1841/871 crash EEM scripting 15.1(1)T

    We have been testing 15.1.1T on a couple of lab Cisco 1841 and Cisco 871 devices.
    On the devices we are using EEM to automate the failover/failback process for a cellular modem attached to f3 on the 871 or f0/1 on the 1841. One of the EEM applets we use fires from a cron timer event that occurs every 10 minutes on the router.
    IOS revision 12.4(22)T we had no problems with using the cron-timer triggered applet (every 10 minutes between 7am to 10pm), except for the fact that every command issued by EEM required AAA authentication. The EEM applet is causing our routers to saturate our Cisco ACS servers (we use 700+ routers in the field, all exectuing this EEM script) with single-connect requests. We will refer to the cron-timer executed applet as 'Maintenance' from here on out.
    As of 15.1(1)T the addition to bypass the AAA authentication process became available. This was a huge speed increase to our EEM applets, specifically the Maintenance applet. I will include the applet for clairity.
    event manager applet Maintenance authorization bypass
    event timer cron name 10min cron-entry "*/10 7-21 * * *" maxrun 30
    action 001 cli command "en"
    action 002 cli command "show ip route | section B\*[ ]+0\.0\.0\.0"
    action 003 regexp "^B\*.([ ]+)(0\.)+0" "$_cli_result"
    action 004 set bgpstate "$_regexp_result"
    action 005 cli command "show ip route | section S[ ]+208\.38\.154\.8"
    action 006 regexp "^S([ ]+)208\.38\.154\.8" "$_cli_result"
    action 007 set wireless "$_regexp_result"
    action 008 track read 1
    action 009 set track1 "$_track_state"
    action 010 if $wireless eq 0
    action 011       if $bgpstate eq 0
    action 012             cli command "conf t"
    action 013             cli command "int fa0/1"
    action 014             cli command "no shut"
    action 015             cli command "int tun201"
    action 016             cli command "no shut"
    action 017             cli command "int lo201"
    action 018             cli command "no shut"
    action 019             if $track1 eq up
    action 020                   exit
    action 021                   else
    action 022                   cli command "conf t"
    action 023                   cli command "int s0/0/0"
    action 024                   cli command "no shut"
    action 025             end
    action 026             cli command "end"
    action 027             cli command "exit"
    action 028       else
    action 029             exit
    action 030            end
    action 031 else
    action 032       if $bgpstate eq 1
    action 033             cli command "conf t"
    action 034             cli command "int fa0/1"
    action 035             cli command "shut"
    action 036             cli command "int tun201"
    action 037             cli command "shut"
    action 038             cli command "int lo201"
    action 039             cli command "shut"
    action 040             cli command "end"
    action 041             cli command "exit"
    action 042      else
    action 043             if $track1 eq up
    action 044                   exit
    action 045             else
    action 046                   cli command "conf t"
    action 047                   cli command "int s0/0/0"
    action 048                   cli command "no shut"
    action 049             end
    action 050             cli command "end"
    action 051             cli command "exit"
    action 052             exit
    action 053       end
    action 054 end
    This script is designed to look for a couple of routes in the IP routing table, and populate two variables (bgpstate and wireless) with the regular expression matching result of the show ip route commands. It uses track 1 to determine the up/down status of Serial0/0/0 which is the primary T1 interface for WAN services on the router. The wireless is "up/1" if the static route to 208.38.154.8 is present in the show ip route output (only when f0/1 is up in this case). The T1 is "up/1" if the default route passed to the IP routing table is present in the show ip route output.
    Before the upgrade to 15.1(1)T these scripts ran without issue, and we had no errors. Now after the upgrade, anytime this script fires and the show ip route match for the wireless variable is 1 instead of zero, it begins to run through the else condition starting at action 031, and during the second execution of the script every 10 minutes (I still have not figured out how to force the cron-timer to fire only ONCE per minute, instead of at the beginning and end of the minute), the router will generate spurious memory errors, and sometimes crash or reboot.
    This all began with 15.1(1)T, and I have not seen any caveats or other entries that could possibly point to the cause of this problem. Any ideas?
    I am also attaching a crash file from one of the routers like this one so you can see what I mean.
    All of these devices are running the advipservices k9 version of this IOS.
    Thanks for your time.

    The problem with cron events running twice in the same minute is bug CSCsz12460 which will be fixed in EEM 3.2 in 15.1(3)T.
    The crash you're seeing doesn't appear to be related to EEM at all.  It looks like a problem with single-connection TACACS+.  The bug appears to be CSCtg40901 which has not yet been fixed in 15.1T.
    A workaround was suggested to use multiple-connection TACACS+.

  • Two problems with EEM script

    I have an EEM script (below) and I have two problems.
    1) Line action 4.5 gets a "%Error opening bootdisk:blackhole (File or Directory already in use)"
    2) Line 5.0 - 5.5 get "Line has invalid autocommand "sh mls cef hardware module 4 | append sup-bootdisk:blackhole"
    Any ideas to get me on my way?
    thanks!
    jim

    I'm guessing you'd get the same errors if you ran these commands manually in this order one after other (i.e., you pasted them into the CLI).  This might just be a limitation of the file system.  What you might do is conver this to Tcl so you don't need to use the CLI to store the output (or at least open the file once).
    You can use the tool at http://www.marcuscom.com/convert_applet/ to convert your applet to Tcl.  A simple modification would then be to remove the append bits, and store the $_cli_result into an accumulator buffer.  At the end, do the email of that buffer.

  • Monitoring dual core (Supervisor Engine 7-E) through EEM Script.

    Hi,
    I have a Cisco Catalyst 4500E Supervisor Engine 7-E and configured an EEM Script to monitor the dual core CPU Utilization through PRTG Network Monitor.
    event manager applet dualcore authorization bypass
    event timer cron cron-entry "* * * * 0-6"
    action 100 cli command "en"
    action 120 cli command "show process cpu | include five"
    action 220 regexp "Core 0: CPU utilization for five seconds: ([^%]+)%; one minute: ([^%]+)%; five minutes: ([^%]+)%.*" $_cli_result result c0cpu5sec c0cpu1min c0cpu5min
    action 240 if $_regexp_result eq 1
    action 260 end
    action 320 regexp "Core 1: CPU utilization for five seconds: ([^%]+)%; one minute: ([^%]+)%; five minutes: ([^%]+)%.*" $_cli_result result c1cpu5sec c1cpu1min c1cpu5min
    action 340 if $_regexp_result eq 1
    action 360 end
    action 440 cli command "config t"
    action 441 cli command "snmp mib expression owner cisco name c0cpu5sec"
    action 442 cli command "expression $c0cpu5sec"
    action 443 cli command "snmp mib expression owner cisco name c0cpu1min"
    action 444 cli command "expression $c0cpu1min"
    action 445 cli command "snmp mib expression owner cisco name c0cpu5min"
    action 446 cli command "expression $c0cpu5min"
    action 550 cli command "config t"
    action 551 cli command "snmp mib expression owner cisco name c1cpu5sec"
    action 552 cli command "expression $c1cpu5sec"
    action 553 cli command "snmp mib expression owner cisco name c1cpu1min"
    action 554 cli command "expression $c1cpu1min"
    action 555 cli command "snmp mib expression owner cisco name c1cpu5min"
    action 556 cli command "expression $c1cpu5min"
    action 600 cli command "end"
    end
    It works fine but on the logging buffer there are a lot of %SYS-5-CONFIG_I: Configured from console by  on vty0 (EEM:moncores) messages   -one per minute-   here an example:
    Oct 29 17:54:01: %SYS-5-CONFIG_I: Configured from console by  on vty0 (EEM:dualcore)
    Oct 29 17:55:01: %SYS-5-CONFIG_I: Configured from console by  on vty0 (EEM:dualcore)
    Oct 29 17:56:01: %SYS-5-CONFIG_I: Configured from console by  on vty0 (EEM:dualcore)
    Oct 29 17:57:01: %SYS-5-CONFIG_I: Configured from console by  on vty0 (EEM:dualcore)
    I considered to use the logging suppress duplicates command to prevent the consecutive logging of more than one copy of the same system logging (syslog) message but it is only available to the Cisco IOS XR.
    Someone could help me to determine if it is possible to avoid this messages through Embedded Syslog Manager, I tried to do that but
    I was not successful.
    Regards,
    ~Sergio

    Hi,
    I did transitioned CLI actions to the EXPRESSION-MIB SNMP but I could not receive anything information about the dualcore utilization on the PRTG Network Monitor and received a lot of  %HA_EM-7-FMFD_SNMP_ERRCODE: fh_fd_snmp_errcode: Error status: 6 NO_ACCESS_ERROR: 1. messages on the WS-C4507.
    Considering the initial EEM script, could ypu help me to avoid the  %SYS-5-CONFIG_I: Configured from console by  on vty0 (EEM:moncores)
    messages using Embedded Syslog Manager.
    Here some snmpwalk to validate that I could not get the OIDs to monitor both cores.
    STEP 1     Only one value is given because there is only one physical cpu.
    cpmCPUTotalPhysicalIndex
    1.3.6.1.4.1.9.9.109.1.1.1.1.2
    C:\usr>snmpwalk -v 2c -c m4nc4rc0 10.20.91.2 1.3.6.1.4.1.9.9.109.1.1.1.1.2
    SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.2.4000 = INTEGER: 4000
    STEP 2
    entPhysicalName
    1.3.6.1.2.1.47.1.1.1.1.7
    C:\usr>
    C:\usr>snmpwalk -v 2c -c m4nc4rc0 10.20.91.2 1.3.6.1.2.1.47.1.1.1.1.7.4000
    SNMPv2-SMI::mib-2.47.1.1.1.1.7.4000 = STRING: "Linecard(slot 4)"
    #sh mod
    Chassis Type : WS-C4507R+E
    Power consumed by backplane : 40 Watts
    Mod Ports Card Type                              Model              Serial No.
    ---+-----+--------------------------------------+------------------+-----------
    1    18  10GE (X2), 1000BaseX (SFP)             WS-X4606-X2-E      JAE151904JC
    2    24  1000BaseX (SFP)                        WS-X4624-SFP-E     JAE152001AE
    4     4  Sup 7-E 10GE (SFP+), 1000BaseX (SFP)   WS-X45-SUP7-E      CAT1522L0G1
    5    48  10/100/1000BaseT (RJ45)V, Cisco/IEEE   WS-X4548-GB-RJ45V  JAE12067N8K
    M MAC addresses                    Hw  Fw           Sw               Status
    --+--------------------------------+---+------------+----------------+---------
    1 e8b7.4880.e5db to e8b7.4880.e5ec 1.2                               Ok      
    2 e8b7.48cc.6167 to e8b7.48cc.617e 1.2                               Ok      
    4 4055.39d7.76c4 to 4055.39d7.76c7 1.0 15.0(1r)SG2  03.01.01.SG      Ok      
    5 001e.f7da.d290 to 001e.f7da.d2bf 4.1                               Ok      
    Mod  Redundancy role     Operating mode      Redundancy status
    ----+-------------------+-------------------+----------------------------------
    4   Active Supervisor   SSO                 Active                           
    STEP 3
    cpmCPUTotal1minRev
    1.3.6.1.4.1.9.9.109.1.1.1.1.7
    C:\usr>snmpwalk -v 2c -c m4nc4rc0 10.20.91.2 1.3.6.1.4.1.9.9.109.1.1.1.1.7
    SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.7.4000 = Gauge32: 9
    C:\usr>
    ADDITIONAL INFORMATION
    C:\usr>
    C:\usr>snmpwalk -v 2c -c m4nc4rc0 10.20.91.2 1.3.6.1.2.1.90
    SNMPv2-SMI::mib-2.90.1.1.1.0 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.1.2.0 = Gauge32: 0
    SNMPv2-SMI::mib-2.90.1.1.3.0 = Gauge32: 0
    SNMPv2-SMI::mib-2.90.1.1.4.0 = Gauge32: 0
    SNMPv2-SMI::mib-2.90.1.1.5.0 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.3.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = STRING: "9"
    SNMPv2-SMI::mib-2.90.1.2.1.1.3.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = STRING: "11"
    SNMPv2-SMI::mib-2.90.1.2.1.1.3.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = STRING: "8"
    SNMPv2-SMI::mib-2.90.1.2.1.1.3.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = STRING: "13"
    SNMPv2-SMI::mib-2.90.1.2.1.1.3.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = STRING: "13"
    SNMPv2-SMI::mib-2.90.1.2.1.1.3.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = STRING: "11"
    SNMPv2-SMI::mib-2.90.1.2.1.1.4.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.2.1.1.4.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.2.1.1.4.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.2.1.1.4.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.2.1.1.4.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.2.1.1.4.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.2.1.1.5.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = ""
    SNMPv2-SMI::mib-2.90.1.2.1.1.5.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = ""
    SNMPv2-SMI::mib-2.90.1.2.1.1.5.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = ""
    SNMPv2-SMI::mib-2.90.1.2.1.1.5.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = ""
    SNMPv2-SMI::mib-2.90.1.2.1.1.5.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = ""
    SNMPv2-SMI::mib-2.90.1.2.1.1.5.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = ""
    SNMPv2-SMI::mib-2.90.1.2.1.1.6.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = INTEGER: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.6.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = INTEGER: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.6.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = INTEGER: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.6.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = INTEGER: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.6.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = INTEGER: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.6.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = INTEGER: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.7.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = OID: SNMPv2-SMI::zeroDotZero
    SNMPv2-SMI::mib-2.90.1.2.1.1.7.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = OID: SNMPv2-SMI::zeroDotZero
    SNMPv2-SMI::mib-2.90.1.2.1.1.7.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = OID: SNMPv2-SMI::zeroDotZero
    SNMPv2-SMI::mib-2.90.1.2.1.1.7.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = OID: SNMPv2-SMI::zeroDotZero
    SNMPv2-SMI::mib-2.90.1.2.1.1.7.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = OID: SNMPv2-SMI::zeroDotZero
    SNMPv2-SMI::mib-2.90.1.2.1.1.7.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = OID: SNMPv2-SMI::zeroDotZero
    SNMPv2-SMI::mib-2.90.1.2.1.1.8.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.8.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.8.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.8.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.8.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.8.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.9.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = INTEGER: 2
    SNMPv2-SMI::mib-2.90.1.2.1.1.9.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = INTEGER: 2
    SNMPv2-SMI::mib-2.90.1.2.1.1.9.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = INTEGER: 2
    SNMPv2-SMI::mib-2.90.1.2.1.1.9.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = INTEGER: 2
    SNMPv2-SMI::mib-2.90.1.2.1.1.9.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = INTEGER: 2
    SNMPv2-SMI::mib-2.90.1.2.1.1.9.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = INTEGER: 2
    C:\usr>
    C:\usr>snmpwalk -v 2c -c m4nc4rc0 10.20.91.2 1.3.6.1.2.1.47.1.1.1.1.2
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1 = STRING: "Cisco Systems, Inc. WS-C4507R+E 7 sl
    ot switch "
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.3 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.4 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.6 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.7 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.8 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.9 = STRING: " WS-C4507R+E 7 slot switch backplane
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.10 = STRING: "Container of Fan Tray"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.11 = STRING: "FanTray"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.12 = STRING: "Container of Container of Power Sup
    ply"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.13 = STRING: "Container of Power Supply"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.14 = STRING: "Power Supply ( AC 2800W )"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.15 = STRING: "Power Supply Fan Sensor"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.16 = STRING: "Container of Power Supply"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.19 = STRING: "Clock Module"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.20 = STRING: "Mux Buffers for Redundancy Logic"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.21 = STRING: "Mux Buffers for Redundancy Logic"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.22 = STRING: "Mux Buffers for Redundancy Logic"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.23 = STRING: "Mux Buffers for Redundancy Logic"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.24 = STRING: "Mux Buffers for Redundancy Logic"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1000 = STRING: "10GE (X2), 1000BaseX (SFP) with 6
    10GE X2 ports"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1001 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1002 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1003 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1004 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1005 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1006 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2000 = STRING: "1000BaseX (SFP) with 24 SFP Ports
    Jumbo Frame Support"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2001 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2002 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2003 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2004 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2005 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2006 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2007 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2008 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2009 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2010 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2011 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2012 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2013 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2014 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2015 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2016 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2017 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2018 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2019 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2020 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2021 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2022 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2023 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2024 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2047 = STRING: "1000BaseSX"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2048 = STRING: "1000BaseSX"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.4000 = STRING: "Sup 7-E 10GE (SFP+), 1000BaseX (S
    FP) with 4 SFP+ Ports"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.4001 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.4002 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.4003 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.4004 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5000 = STRING: "10/100/1000BaseT (RJ45)V with 48
    10/100/1000 baseT voice power ports (Cisco/IEEE)"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5001 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5002 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5003 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5004 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5005 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5006 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5007 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5008 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5009 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5010 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5011 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5012 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5013 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5014 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5015 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5016 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5017 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5018 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5019 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5020 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5021 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5022 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5023 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5024 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5025 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5026 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5027 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5028 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5029 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5030 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5031 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5032 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5033 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5034 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5035 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5036 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5037 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5038 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5039 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5040 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5041 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5042 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5043 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5044 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5045 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5046 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5047 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5048 = STRING: "Gigabit Ethernet Port"
    C:\usr>

  • Auto Email on event - EEM script for NxOS

    I generated EEM script for Duplicate IP address detection, but i do not know how to trigger email in NxOS.
    event manager environment emailto "[email protected]"
    event manager applet Duplicate_IP
      description "Detect Duplicate IP and Send Trap"
      event syslog pattern "%ARP-2-DUP_SRC_IP"
      action 1.0 snmp-trap strdata "Duplicate IP Detected on Host $hostname"
      action 2.0 cli sh logg last 100
      action 3.0 event-default
    Somebody know how to trigger email. There is no good document on EEM email triggering mechanism.

    Not sure if this would work in NxOS but I think it would go something like this;
    Specify the action of sending a short e-mail when the EEM applet is triggered via the event syslog pattern you already have defined:
         Router(config-applet)#  action label mail server server-address to to-address from from-address subject subject body body-text
    Remember to define the EEM environment variables first when setting up the applet as follows:
       event manager environment  _email_server
       event manager environment  _email_to
       event manager environment  _email_from

  • EEM Script to use in an triple play network

    Hi,
    I have a customer which have a tripe play network. I attach the following drawing so you can have a better idea how the network looks like.
    IPTV, Internet and IP telephony is getting in in our customer network at both PE some you can see in the drawing.
    Basicaly our customer deliver the network infrastructure while ISP1, ISP2 and ISP3 deliver the content (IPTV, Internet and IP telephony).
    The two PEs which are getting the content in the network from the 3 ISPs are running the following hardware and IOS:
    cisco CISCO7606 with WS-SUP720 MSFC3 Daughterboard Rev. 3.2.
    IOS version: c7600s72033-advipservicesk9-mz.122-33.SRC5.bin
    BGP is used between the PEs and the ISPs router.
    The PEs are redundant for each other.
    Our issue is when one of the ISP is having some maintenance on their routers one the PEs goes really high on CPU until reaching 100%.
    I don't know why that is happening that is why I want to use EEM to dig deeper into it.
    So What I want to do is an EEM script that could do the following:
    1) The script should be triggered when CPU Threshold is reached (lets say 85 %).
    3) Run a show tech and save the output in flash.
    2) Then the script should run do the following commando and save the outputs to flash:
            - sh ip bgp vpnv4 vrf VRF10102 neighbors
            - sh bgp vpnv4 unicast vrf VRF10102 summary
            - sh ip  bgp vpnv4 vrf VRF10102 neighbors x.x.x.x advertised-routes
            - sh ip  bgp vpnv4 vrf VRF10102 neighbors x.x.x.x received-routes
            - sh isis neighbors detail
    3) Run "sh log" and save the output into flash.
    Anyone has an idea how I could made this script with EEM?
    Thanks in advance for your help.
    Best regards,
    Laurent

    I don't think you need a script for this.  An applet should work just fine.  This kind of thing is commonly done by TAC to aid in data collection for transient problems.  This policy should work provided the CPU instance is correct.  A 7600 will have at least two CPUs.  This applet assumes CPU instance 1 is the desired CPU, but it may be CPU instance 2 you need to monitor.
    event manager applet watch-cpu event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.11.1 get-type exact entry-op ge entry-val 90 exit-op lt exit-val 90 poll-interval 60 maxrun 300 action 1.0 cli command "enable" action 1.1 cli command "term exec promp time" action 2.0 cli command "show tech | append disk0:/high_cpu.txt" action 3.0 cli command "sh ip bgp vpnv4 vrf VRF10102 neighbors | append disk0:/high_cpu.txt" action 4.0 cli command "sh bgp vpnv4 unicast vrf VRF10102 summary | append disk0:/high_cpu.txt" action 5.0 cli command "sh ip  bgp vpnv4 vrf VRF10102 neighbors x.x.x.x advertised-routes | append disk0:/high_cpu.txt" action 6.0 cli command "sh ip  bgp vpnv4 vrf VRF10102 neighbors x.x.x.x received-routes | append disk0:/high_cpu.txt" action 7.0 cli command "sh isis neighbors detail | append disk0:/high_cpu.txt" action 8.0 cli command "show logg | append disk0:/high_cpu.txt"

  • Error in EEM script mail

    Hi,
    I'm trying to email an alert by eem script when a catalyst 6807 rises a syslog message for an environment alarm (ex: power down). I use the attached script but when i want to add the syslog message in body email (line 83) something is wrong and i can't fixed the error : catalyst try to execute the syslog message (see email).
    Same error for a catalyst 4507 4506 Sup 6L-E 10GE IOS 15.2(1)E but the same script works for a catalyst 4506 Sup 6L-E 10GE IOS 15.0(2)SG.
    Any ideas ?
    Thanks

    Hi,
    I found my mystake. In the script, I commented the command "enable" and thus show commands were not recognized by cli. The script has always worked well, "Invalid input" was the result of show command. For ios 15.2, i need to gain enable level.
    So I suspect a different behavior between versions 15.0 and 15.2 for running level of tcl script.

  • Cannot save script generated web page

    I found that safari cannot save a script generated page by (File -> Save as). I've written a simple test page as follow:
    <html>
    <body>
    <script>
    function OpenPopUpWin()
    var generator=window.open('','save_win', 'width=645,height=600,resizable=yes,menubar=yes,toolbar=no,directories=no,locat ion=no,scrollbars=yes,status=yes');
    generator.document.write('testing');
    generator.document.close();
    </script>
    test (<-this link call the OpenPopUpWin() function)<br>
    </body>
    </html>
    Does anyone have similar problem before? Is it a bug in safari? Are there any workarounds if I want to save the page?

    I guess I'm still not understanding your problem. I took your original script, made the one change as mentioned in my earlier post, and it worked.
    It's quite likely/possible that Apple filter javascript embedded in posts - all sorts of nasty things could happen if they didn't, but you're not using Safaro to create your pages, are you?
    Just as an example, this seems to do what you describe - copy and paste it into a new text document and see what happens:
    <pre class=command><html>
    <body>
    <script>
    function OpenPopUpWin()
    var generator=window.open('','save_win', 'width=645,height=600,resizable=yes,menubar=yes,toolbar=no,directories=no,locat ion=no,scrollbars=yes,status=yes');
    generator.document.write('testing');
    generator.document.close();
    </script>
    <a href="#" OnClick="OpenPopUpWin()'>test</a> (<-this link call the OpenPopUpWin() function)
    </body>
    </html>
    </pre>

  • Nexus 7k EEM Script

    I had plans to configure a EEM script to send a email when an OSPF adjacency drops. I have an odd spanning-tree issue that I believe the drops are related to and I want to see if my suspicions are correct. This doesn't happen very often, and it's normaly late at night.
    I originally planned something like this:
    event manager environment _email_server 192.168.x.x
    event manager environment _email_to [email protected]
    event manager environment _email_from [email protected]
    event manager session cli username "user"
    event manager applet OSPF
    event syslog pattern "%OSPF-"
    action 1.0 cli command "enable"
    action 1.1 cli command "show spanning-tree vlan 192"
    action 1.2 cli command "show spanning-tree vlan 192 detail"
    action 1.3 wait 10
    action 1.4 cli command "show spanning-tree vlan 192"
    action 1.5 cli command "show spanning-tree vlan 192 detail"
    action 1.6 wait 20
    action 1.7 cli command "show spanning-tree vlan 192"
    action 1.8 cli command "show spanning-tree vlan 192 detail"
    action 1.9 mail server "$_email_server" to "$_email_to" from "$_email_from" subject "Spanning-tree results" body "$_cli_result"
    After trying this, it doesn't seem that NXOS support the email function.
    My questions:
    1. What alternative do I have? Is there a way to send the CLI output via SNMP or syslog?
    2. Will this even run EVERY time the syslog pattern matches? Meaning if I get four %OSPF syslog messages, it will run four times repeatedly? \
    Thank you,

    Hello Arie,
    Thank you for answering my questions.
    This is what I've got now. I think it will work well.
    event manager applet OSPF
    event syslog pattern "%OSPF-4-NEIGH_ERR"
    action 1.0 cli command "enable"
    action 1.1 cli command "show clock >> bootflash:ospf"
    action 1.2 cli command "show spanning-tree vlan 192 >> bootflash:ospf"
    action 1.3 cli command "show spanning-tree vlan 192 detail >> bootflash:ospf"
    action 1.4 wait 10
    action 1.5 cli command "show clock >> bootflash:ospf"
    action 1.6 cli command "show spanning-tree vlan 192 >> bootflash:ospf"
    action 1.7 cli command "show spanning-tree vlan 192 detail >> bootflash:ospf"
    action 1.8 wait 10
    action 1.9 cli command "show clock >> bootflash:ospf"
    action 2.0 cli command "show spanning-tree vlan 192 >> bootflash:ospf"
    action 2.1 cli command "show spanning-tree vlan 192 detail >> bootflash:ospf"
    action 2.2 cli command "end"
    action 2.3 cli command "exit"
    --- Turns out "wait" isn't a option in NXOS either. I just put "show logging info" in its place, and didn't append it to the output file. That command takes about 10-15 seconds to run for some reason, so it should give me the pause I want.

  • EEM script not running in WS-C4900M switch

    Hello,
    I am having  two WS-C4900M switches which were giving high cpu spikes hence we have configured EEM script in it to capture switch behaviour during cpu spikes.when  CPU goes high script do get hit but the commands under script doesn't run and we are not able fecth command outputs during high cpu.
    Pleas find script uploaded and show version of switch attached.

    I don't think you need a script for this.  An applet should work just fine.  This kind of thing is commonly done by TAC to aid in data collection for transient problems.  This policy should work provided the CPU instance is correct.  A 7600 will have at least two CPUs.  This applet assumes CPU instance 1 is the desired CPU, but it may be CPU instance 2 you need to monitor.
    event manager applet watch-cpu event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.11.1 get-type exact entry-op ge entry-val 90 exit-op lt exit-val 90 poll-interval 60 maxrun 300 action 1.0 cli command "enable" action 1.1 cli command "term exec promp time" action 2.0 cli command "show tech | append disk0:/high_cpu.txt" action 3.0 cli command "sh ip bgp vpnv4 vrf VRF10102 neighbors | append disk0:/high_cpu.txt" action 4.0 cli command "sh bgp vpnv4 unicast vrf VRF10102 summary | append disk0:/high_cpu.txt" action 5.0 cli command "sh ip  bgp vpnv4 vrf VRF10102 neighbors x.x.x.x advertised-routes | append disk0:/high_cpu.txt" action 6.0 cli command "sh ip  bgp vpnv4 vrf VRF10102 neighbors x.x.x.x received-routes | append disk0:/high_cpu.txt" action 7.0 cli command "sh isis neighbors detail | append disk0:/high_cpu.txt" action 8.0 cli command "show logg | append disk0:/high_cpu.txt"

  • Most Basic EEM Script to Send E-mails

    I have read through various blogs and Cisco posts and still cannot seem to get this to work.  I am simply trying to get the router to send the "show ip int br" info via e-mail from a G-Mail account to a G-Mail account.  I am wondering if this is unsupported because G-mail uses TLS/SSL and different ports and I can't seem to defined this anywhere.  Can anyone confirm?
    I manually run the EEM script via "event manager run IPAddressNotify".  I have made sure that the router can ping "smtp.gmail.com" (IE IP reachability and name-lookups are successful). 
    event manager environment _email_to [email protected]
    event manager environment _email_server gmailusername:[email protected]
    event manager environment _email_from [email protected]
    event manager applet IPAddressNotify
    event none
    action 1.0 info type routername
    action 1.5 cli command "enable"
    action 2.0 cli command "show ip int br"
    action 8.0 mail server "$_email_server" to "$_email_to" from "$_email_from" subject "Router reload - IP Address info for $_info_routername" body "$_cli_result"
    action 9.0 syslog msg "E-mail was sent"

    Joseph,
    Thanks for the info!  This is perfect.  Can you verify that my logic is clear, just so I know I am interpreting this correctly.
    Right now, my IOS version does NOT support the "secure" and "port" parameters for EEM.  Since G-Mail does NOT support unencrypted SMTP (verified), there is no way that I can use EEM or TCL to e-mail myself messages.  Correct?
    When you state that my username cannot have an '@' in it, is this referring to the 'from' field which would be "[email protected]"? Or, is this referring to the 'server' field which would be "gmailusername:[email protected]".  Luckily, Google lets me authenticate by specifying 'gmailusername', rather than '[email protected]'.  This should work then correct?

  • NX-OS EEM script for SVI

    Hello, 
    I'm looking for a simple eem script for enabling an SVI if its goes down. we have some issue is NX-OS running 6.0.2.(1) where we occure a SVI down for itself.
    Regard
    Adil

    Unfortunately, this is not possible on NX-OS.  EEM on NX-OS is EEM by name only.  The feature is very different than it is on IOS.  What you could do is use an IOS box as a proxy.  That is, send a trap using EEM from your NX-OS box, then have IOS do the telnet to the other NX-OS box to perform the necessary commands.

  • Simple EEM script that references SLA but is inconsistent?

    Hi,
         Just a little confused here.....  I can do the exact commands in the EEM script directly and it does what I need it to do.  However, the script, when triggered, with the "EXACT" same commands sometimes works / sometimes not.  Arrrgghhh!  So, here is the script:
    event manager applet Virtual-PPP1_Ping
     event syslog pattern "TRACKING-5-STATE: 1 ip sla 1 reachability Up->Down"
     action 010 cli command "enable"
     action 011 cli command "clear vpdn tunnel l2tp all" pattern "[confirm]"
     action 012 cli command "confirm"
     action 020 cli command "conf t"
     action 030 cli command "int Virtual-PPP1"
     action 040 cli command "shut"
     action 045 wait 3
     action 050 cli command "no shut"
     action 060 cli command "end"
    Basically what happens is that the Virtual-PPP1 interface sometimes loses it's ip address through IPCP.  So, the L2TP tunnel is still up, BUT, the Virtual-PPP1 interface loses it's assigned IP when I check the interface as it shows "unassigned".
    Ideas?
    Thanks for the help.
    Jason

    Try this instead:
    event manager applet Virtual-PPP1_Ping
     event syslog pattern "TRACKING-5-STATE: 1 ip sla 1 reachability Up->Down" maxrun 30
     action 010 cli command "enable"
     action 011 cli command "clear vpdn tunnel l2tp all" pattern "confirm"
     action 012 cli command "confirm"
     action 020 cli command "conf t"
     action 030 cli command "int Virtual-PPP1"
     action 040 cli command "shut"
     action 045 wait 3
     action 050 cli command "no shut"
     action 060 cli command "end"

  • First EEM script

                       Hi-  Please help out this newbie...
    I am looking for an example EEM script/applet that would cause my router to change a path selection, based on a triggered event.  I usually employ Policy Based Routing on my networks which makes next hop decisions based on the source IP.  I want to do something similar with EEM, but rather than a simple source address based decision, I want a next hop selection to be based on an event.  (for the example, it could be anything...bandwidth threshold, or at a certain time of day, or whatever).  First I want to know if this can be done, and second I would appreciate it if someone could share a simple example configuration with me.   -it's the best way I learn it.
    Also, in the example, how is the applet or script applied to the router?
    Thanks!     

    You can adjust routes or add class-maps based on EEM events.  However, you can't match on something that can be controlled by an EEM event (i.e., match within a route-map).  However, you can create a route-map on the fly when an event occurs.  That is, when your event occurs, you can define a route-map to match on the interesting traffic and adjust the IP next-hop.  Bottom line is if you can do something manually on the CLI, you can automate it with EEM.
    Without knowing more specifics, I'll provide an example that will allow you to run CLI at a specific time (at midnight).  You can adapt this to meet your specific needs.  This applet can be copy and pasted directly into config t mode:
    event manager applet timed-cli
    event timer cron cron-entry "0 0 * * *"
    action 1.0 cli command "enable"
    action 2.0 cli command "config t"
    action 3.0 cli command "route-map TEST"
    action 4.0 cli command "match interface gi0/0"
    action 5.0 cli command "set ip next-hop 10.1.1.1"
    action 6.0 cli command "end"

Maybe you are looking for