0
0
سی پند سامانه
سی پند سامانه

Cisco EEM

Cisco Embedded Event Manager یکی از ویژه گی های بسیار جالب در IOS سیسکو می باشد که در نسخه های متفاوت سیستم عاملی مانند IOS XR , IOS XE  و NX OS وجود دارد و پشتیبانی می شود و قابلیت برنامه ریزی و به نوعی اتوماسیون سازی را در سطح دستگاه برای ما به ارمغان می آورد.

EEM به ما این اختیار را می دهد تا با ویژه گی اسکریپ نویسی و یا آستانه گزاری بتوانیم اقدامات پیشگیرانه ای را در سطح تجهیز اندیشه کرده و در نظر بگیریم.

با استفاده از EEM می توانیم مشکلات ، اشتباهات سهوی و بعضا عمدی و همینطور گذشتن از آستانه ای را از قبل پیش بینی کرده و اقداماتی به جهت رفع و رجوع و جلوگیری از مشکلات بعدی را پیاده سازی کنیم تا تجهیز به محض رو به رو شدن با هر یک از موارد ذکر شده خود به صورت خودکار در راستای بر طرف شدن رخ داد پیش آمده قدم بر دارد.

در واقع EEM یک Event Detector هوشمند می باشد که این قابلیت را دارد تا پس از تشخیص رخدادی آن را بر طرف سازد.

این بر طرف سازی نیز با طرح Configuration Policy انجام می گیرد

 

نکته :

EEM دارای نسخه هایی می باشد ، برای مثال ورژن 2.1 در اکثر تجهیزات فعالی می باشد ، همینطور در IOS 12.4(22)T ورژن 3.0 معرفی شد و در سال 2011 نیز نسخه ی 4.0 توسعه و در IOS اضافه شد.

حال اعضای تشکیل دهنده ی EEM را شناخته و آن ها را بررسی می کنیم :

EEM Detector

در واقع مغز متفکر این ویژه گی EEM Detector  می باشد و با استفاده از فیچر ها و پروتکل های مختلفی می تواند یک رخداد را شناسایی کرده و تشخیص دهد. این فیچر ها و پروتکل ها عبارتند از :

SNMP

CLI

IP SLA

NetFlow

Config Change

Application Specific Event

Timer

Interface Counter

Router

Policies

توسط این بخش از EEM می توانیم تعیین کنیم که پس از تشخیص یک رخ داد چه اقدام یا اقداماتی انجام شود

 

 

Programming Capabilities

EEM از سه روش به جهت برنامه نویسی و اسکریپت نویسی استفاده می کند .

  1. Applets

توسط این ماژول EEM می تواند هنگام پیش آمد رخ دادی دستوراتی را در CLI اجرا کند.

  1. TCL

به بیانی TCL یک زبان برنامه نویسی سطح بالا است که ما می توانیم هنگام طرح پالیسی های پیچیده و سطح بالا و حرفه ای تر از آن استفاده کنیم.

لازم به ذکر است که TCL در تجهیز F5 و در مبحث iRule نیز دیده می شود و مورد استفاده قرار می گیرد.

  1. sh

این قابیلیت نیز در IOS های امروزی پشتیبانی می شود و برای ساختن ماکرو ها استفاده می شود و سینتکسی مانند Linux bash shell دارد.

 

حال نحوه ی پیاده سازی EEM را با ذکر چند مثال بررسی می کنیم

 

مثال اول :

تصور کنید قصد داریم با استفاده از EEM سازوکاری را پیاده سازی کنیم تا اگر یک اینترفیس به هر دلیلی Shutdown شد EEM Detector آن را تشخیص دهد و سپس با استفاده از پالیسی که ما برای این رخ داد طرح کرده ایم اقدامات لازم را انجام دهد برای مثال اینترفیسی که خاموش می شود به صورت اتوماتیک بلافاصله روشن شود.

 

Router(config)# event manager applet [NAME]

با استفاده از دستور بالا یک Event  تعریف می کنیم

 

Router(config-applet)# event syslog pattern “interface GigaBitEthernet1/1/1,changed state to administratively down”

توجه بفرمایید در دستور بالا اقدام به تعریف Detector کرده ایم با استفاده از syslog بدین معنا که EEM ما با تحت نظر داشتن لاگ هایی که توسط syslog تولید میشوند می تواند رخداد مورد نظر را شناسایی کند. در دستور بالا نیز ماژول تشخیص دهنده را به یک لاگ به خصوص حساس کرده ایم .

از لاگ بالا مشخص است که Detector از لاگ حاصل از خاموش شدن اینترفیس توسط syslog رخداد را تشخیص داده و اقدامات متقابل را انجام می دهد.

 

Router(config-applet)# action 1 cli command “enable”

Router(config-applet)# action 2 cli command “configure terminal”

Router(config-applet)# action 3 cli command “interface g1/1/1”

Router(config-applet)# action 4 cli command “no shutdown”

Router(config-applet)# action 4 cli command “exit”

 

در چند دستور بالا ما پالیسی را در واکنش به خاموش شدن اینترفیس طرح کرده ایم.

اقدامات بدین شرح هستند که پس از تشخصی رخداد ابتدا دستور enable وارد شود سپس دستور 

Configure terminal وارد شود اینترفیس مورد نظر فراخوانی شده و مجدد   no sutdown  شود و سپس خارج شود.

  

مثال دوم :

حال اگر بخواهیم با پیش بینی هایی و اقدامات پیش گیرانه ای جلوی اعمال شدن دستورات مد نظر خود را بگیریم مطابق مثال زیر عمل می کنیم

 

Router(config)# event manager applet NotDeleteBGP

Router(config-applet)#event cli pattern “no router bgp 1” sync yes

Router(config-applet)# action 1 syslog priority critical msg “using of this command has been forbidden”

Router(config-applet)# action 2 putes “all of your activities are being recorded be careful”

Router(config-applet)# action 3 set _exit_status “0”

 در مثال بالا تلاش می کنیم تا جلوی حذف پروتکل BGP در روتر را با ممنوع کردن اجرای دستور no router bgp بگیریم

 Cli pattern یعنی دستوری که در حال وارد شدن است و ما آن را پیش بینی کرده ایم یا دستوری که ماژول EEM به آن حساس است

درخط سوم گفته شده که پس از تشخیص وارد کردن دستور no router  bgp ، Sylog  اقدام به تولید یک لاگ کند با میزان اهمیت critical .

در خط چهارم می توانیم یک رشته متن را در نظر گرفته تا در صورت تشخیص یک پیغام در ترمینال نیز ظاهر شود.

دستور آخر نیز استفاده و تاثیر دستور وارد شده که در این جا no router bgp 1 است را خنثی می کند یعنی دستور عملیاتی نخواهد شد.

اما در خط دوم ما با دستور sync yes مواجه هستیم این دستور بدین معنا است که ماژول  EEM ما پیش از وارد شدن دستور فعال باشد چرا که برای تشخیص دستوری که به آن حساس است باید از قبل وارد شدن دستور محیط CLI را تحت نظر داشته باشد.

 مثال های بسیار متنوغ در این زمینه وجود دارد که شما می توانید بسته به نیاز خود از این ماژول استفاده بفرمایید.

 اما چند دستور دیگر

Router#show event manager version

توسط این دستور می توانیم ورژن ماژول EEM تجهیز را مشاهده کنیم که در بخش Detection

 دستور بعدی که برای مشاهده applet های نوشته شده می باشد

 

پیام بگذارید

سبد خرید (0 مورد)

No products in the cart.