08-01-2016 12:17 AM
Hi, All
I'd like to make existing EEM applets simple by Tcl or python scripts.
To monitor nodes in an ITD service, i configure an EEM applet per a node.
But the nodes keep adding so EEM applets are also added as many as nodes.
For that reason EEM configuration get more complex so i should find out a solution.
I think It could be Tcl or Python scripts.
Could you check whether it is possible or not ?
- Monitor track or syslog pattern about ITD nodes down or up.
- When ITD nodes get down or up, the script associated with the event trigger to add or remove in a device-group.
** To reduce EEM applets i'd like to use variable to identify exact node under status change situation.
Below are current EEM configurations.
event manager applet remove_inside_node1
event track 101 state down
action 1 cli command "enable"
action 2 cli command "conf t"
action 3 cli command "itd session device-group ips_inside"
action 4 cli command "no node ip 1.1.121.1"
action 5 cli command "commit"
action 6 cli command "end"
action 7 puts "INFO:removed node 1.1.121.1"
Solved! Go to Solution.
08-01-2016 09:30 AM
Using track, it's not possible as you can't match on a track pattern. But, using track syslogs, it would be possible to consolidate these applets down to one. For example:
event manager applet add_inside_node
event syslog pattern "TRACK-6-STATE:.*-> Up"
action 1.0 regexp "STATE: ([0-9]+)" "$_syslog_msg" match track
action 2.0 cli command "enable"
action 3.0 cli command "config t"
action 4.0 cli command "itd session device-group ips_inside"
action 5.0 cli command "node ip 1.1.121.$track"
action 6.0 cli command "commit"
action 7.0 cli command "end"
action 8.0 syslog msg "INFO: inserted node 1.1.121.$track"
08-01-2016 09:30 AM
Using track, it's not possible as you can't match on a track pattern. But, using track syslogs, it would be possible to consolidate these applets down to one. For example:
event manager applet add_inside_node
event syslog pattern "TRACK-6-STATE:.*-> Up"
action 1.0 regexp "STATE: ([0-9]+)" "$_syslog_msg" match track
action 2.0 cli command "enable"
action 3.0 cli command "config t"
action 4.0 cli command "itd session device-group ips_inside"
action 5.0 cli command "node ip 1.1.121.$track"
action 6.0 cli command "commit"
action 7.0 cli command "end"
action 8.0 syslog msg "INFO: inserted node 1.1.121.$track"
08-02-2016 12:45 AM
Thank you for your response.
I could make EEM configuration based on your suggestion.
The result was perfect as i expect.
event manager applet test
event syslog pattern "OTM-5-OTM_OBJECT_STATUS: Status of tracking object .* changed to DOWN"
action 1.0 regexp "object ([0-9]+)" "$_syslog_msg" match track
action 2.0 cli command "show ip sla configuration $track | in Target"
action 3.0 regexp "Target address/Source address: ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)" "$_cli_result" match node
action 4.0 puts "Node will be down No $node"
action 5.0 cli command "enable"
action 6.0 cli command "config t"
action 7.0 cli command "interface loopback $track"
action 8.0 cli command "no sh"
action 9.0 puts "Node will be forced to up"
Below are outputs of EEM working
N7K_VDC_1(config-if)# 2016 Aug 2 07:07:57 N7K_VDC_1 %ETHPORT-5-IF_DOWN_ADMIN_DOWN: Interface loopback101 is down (Administratively down)
2016 Aug 2 07:08:01 N7K_VDC_1 %OTM-5-OTM_OBJECT_STATUS: Status of tracking object 101 changed to DOWN
2016 Aug 2 07:08:03 N7K_VDC_1 eem_policy_dir: %eem_policy_dir-2-LOG: test: "Node will be down No 1.1.121.1"
2016 Aug 2 07:08:04 N7K_VDC_1 %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by admin on slot-9@pts/19
2016 Aug 2 07:08:04 N7K_VDC_1 eem_policy_dir: %eem_policy_dir-6-LOG: add_inside_node: INFO: inserted node object 101
2016 Aug 2 07:08:05 N7K_VDC_1 %ETHPORT-5-IF_UP: Interface loopback101 is up
2016 Aug 2 07:08:05 N7K_VDC_1 eem_policy_dir: %eem_policy_dir-2-LOG: test: "Node will be forced to up"
2016 Aug 2 07:08:08 N7K_VDC_1 %OTM-5-OTM_OBJECT_STATUS: Status of tracking object 101 changed to UP
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: