Welcome to the Cisco Networking Professionals Ask the Expert conversation. This is an opportunity to get an update for deploying IOS embedded management technologies with Cisco expert Joe Clarke. Joe has been with Cisco since 1998, working on the network management Technical Assistance Center (TAC) team in North Carolina. As technical lead, Joe handles world-wide network management escalations particularly those pertaining to CiscoWorks, Tcl scripting, and embedded management technologies. He is CCIE certified (#5384), a certified Java programmer, Solaris system administration, Solaris network administration, and Solaris security administration.
Remember to use the rating system to let Joe know if you have received an adequate response.
Joe might not be able to answer each question due to the volume expected during this event. Our moderators will post many of the unanswered questions in other discussion forums shortly after the event. This event lasts through October 3, 2008. Visit this forum often to view responses to your questions and the questions of other community members.
I want to know what kind of management technologies can I use for MPLS and MPLS VPN using IOS tools, including Accounting also?
This session is focused on discussing the embedded management tools in IOS such as the Embedded Event Manager, Embedded Syslog Manager, Embedded Resource Manager, Embedded Menu Manager, and the Tcl shell. While some of these tools can be used to facilitate some aspects of MPLS management, I do not think that is information you're seeking.
You might be better off starting a new thread in the Network Management forum, Service Provider Forum, or VPN forum.
I am really a big fan of yours on this forum (specially networj management), and am very delightful to have answering our questions..
Although i am new to EEM and TCL etc, but i would really appreciate if you could just skim through highlighting the topics you listed in your post above. Also, i want to know if in order to enable TCL scripting on a router, does one need to have a prior knowledge of any Scripting language?
Is TCL shell common on all IOS ver, or does every IOS a different flavour?
The Embedded Event Manager (EEM) allows one to perform tasks (called actions) when certain events occur on the device. The actions and events vary depending on the IOS version. However, as an example, one can bring up a redundant interface if an IP SLA collector times out. For on EEM can be found at http://www.cisco.com/go/eem/ . Knowledge of Tcl is not necessarily required to use EEM.
The Embedded Syslog Manager (ESM) sits in the device's logging path, and allows one to intercept, change, drop, and/or reformat syslog messages as they are generated. For example, you can use ESM to escalate the severity of a message, drop specific unwanted messages, turn a message into an email directly, etc. More on ESM can be found at http://www.cisco.com/en/US/docs/ios/netmgmt/configuration/guide/nm_esm_syslog.html . Using ESM requires a knowledge of Tcl.
The Embedded Menu Manager (EMM) allows one to build custom menu interfaces to IOS backed by the power of Tcl. EMM menus are built using an XML syntax, and are very extensible. More on EMM can be found at http://www.cisco.com/en/US/docs/ios/netmgmt/configuration/guide/nm_emm.html. Use of EEM requires a knowledge of XML and of Tcl (though a very simple menu could be built without Tcl).
The Embedded Resource Manager (ERM) gives one control over the resource thresholds in IOS. One can create thresholds for CPU, memory, buffer, etc. usage. ERM can also be used to unwedge interfaces as of 12.4(6)T. More on ERM can be found at http://www.cisco.com/en/US/docs/ios/netmgmt/configuration/guide/nm_erm_resource.html . ERM does not use Tcl, and all of its configuration happens within the running config of an IOS device.
The Tcl shell is a fully-functional Tcl 8.3.4 interpreter embedded in IOS. Using tclsh, one can create custom commands, simplify complex configuration workflows, etc. More information about Tcl programming in IOS can be found at http://www.cisco.com/en/US/docs/ios/netmgmt/configuration/guide/nm_script_tcl.html .
Example EEM and tclsh scripts can be found at http://www.cisco.com/go/ciscobeyond/ .
In order to use tclsh, one definitely needs to know how to program in Tcl. The Tcl language guide can be found at http://www.tcl.tk/man/tcl8.3/ .
Tclsh was first introduces in 12.3(2)T, and is now found in quite a few platforms including the desktop switches, 6500s, and 7600s.
I am having a cisco aironet 1200 AP.By mistake I deleted the flash memory.And when I tried to upgrade the IOS using a tftp server its saying "no such file or directory".can u please help me out in this?IOS is there in the root directory of tftp server and path name is also correct.The command sees like this.
ap: tar -xtract tftp://10.0.0.2/image/c1200-k9w7-tar.default flash:
ap: tar -xtract tftp://10.0.0.2/image/c1200-k9w7-tar.default flash:
This thread is dealing with IOS embedded management technologies. Please ask this question on one of the wireless forums.
In most cases a negligible impact. EEM event detector processes run at a medium priority, so they have the potential of affected process like IP SNMP. However, most EEM policies are short (i.e. run in less than 20 seconds), and only execute periodically. For example, a typical policies may only execute when a specific syslog message is generated, or when a specific CLI command is run. Other policies may require periodic polling (i.e. an SNMP policy), but still the object check is quick, and does not typically impact operations.
Cisco Beyond is our open repository for both Cisco and customer written EEM policies. I have also posted some tclsh examples there.
I want to do a reset on an interface at a Specific time using EEM, I use NTP will the script still work if the NTP server is unreachable
Yes, provided the clock is still accurate. The script will run when the clock tells it to. If the NTP server hasn't been offline too long, and the router's clock is mostly in sync, then the script will run at about the correct time. If, however, the router reloads, and cannot sync its time, the script may not run, or it may run at the wrong time. For example, if the date is Dcember 31 at 00:00 after a router reloads, the script will not run at the correct time.
can I use a TCL script to automate a config change across multiple devices. For instance, if I wanted to set a new NTP server IP address across 40 routers over a MPLS WAN, could I use a TCL script on a single router, that would then cause the TCL router to log in via telnet to all the other devices, and make the config change?
Actually, this is possible, and actually doable in a number of different ways depending on IOS versions. If your devices are all running 12.4(20)T (or you have desktop switches running 12.2(40)SE or higher), you can set up an EEM RPC policy which accepts a remote XML request to make the config changes. I wrote a Perl API for EEM RPC that you can find at http://forums.cisco.com/eforum/servlet/EEM?page=eem&fn=script&scriptId=1183 which can help with this approach.
Also, with the same versions of code, you have access to the SNMP Proxy event detector. With this ED, you can have one device send an SNMP trap to another device which triggers and EEM policy. More on this feature can be found at http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6555/ps6815/whitepaper_c11-492226.html .
Finally, the way to do this with a starting device running at least 12.4 is to write a Tcl policy that uses interactive CLI commands to actually do the telnet to the other devices, and interact. Attached is a Tcl policy I wrote to backup a CUE module via a session command. You could adapt this script for telnet very easily (i.e. replace the session command with a telnet). This should give you a good start.