المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

معلومات أساسية

تفاصيل تطبيق IM

قوائم الوصول المستخدمة

رسوم التطبيقات الصغيرة

ملفات سجل البرنامج الصغير

تطبيقات لسيناريوهات MC/BR Combo و BR الأخرى

برنامج على وحدة التحكم في إدارة اللوحة الأساسية (MC)/مجموعة وحدات المعالجة المركزية (BR)

برنامج ل BRs أخرى

تطبيقات لسيناريو MC المخصص

اتصال البراغي

إنشاء كائنات تتبع وإنعكاسات

تعقب الكائنات

أنساق بي آر و إم سي

المقدمة

يصف هذا المستند تطبيقات مدير الحدث المضمنة (EEM) التي يتم إستخدامها في الشبكات التي يعمل فيها توجيه الأداء (PfR) على تحسين حركة مرور البيانات عبر عمليات النقل الحدودية المتعددة. كما يتم ملاحظة بعض حلقات إعادة التوجيه. يتم إستخدام التطبيقات لتجميع البيانات عندما يتم ملاحظة تكرار حلقي والتخفيف من تأثير حلقة إعادة التوجيه.

المتطلبات الأساسية

المتطلبات

لا توجد متطلبات خاصة لهذا المستند.

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى برنامج Cisco IOS®الذي يدعم الإصدار 4.0 من IM.

للتحقق من إصدار IM الذي يدعمه إصدار Cisco IOS، أستخدم هذا الأمر:

Router#sh event manager version | i Embedded

Embedded Event Manager Version 4.00

Router#

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.

معلومات أساسية

عندما تتحكم ميزة PfR في فئة حركة مرور البيانات (TC)، فإنها تقوم بإنشاء خريطة مسار ديناميكية/قائمة التحكم في الوصول (ACL) على وحدات التحكم في الوصول (BRs). خريطة المسار على BR مع نقاط الخروج المحددة إلى الخروج المحدد، بينما يشير خريطة المسار على BRs الأخرى إلى واجهة داخلية (الخطوة التالية = BR المحدد).

تحدث مشكلة عندما لا يتم مزامنة قوائم التحكم في الوصول (ACL) الديناميكية بشكل صحيح بين قوائم التحكم في الوصول (BRs) المختلفة (بسبب الأخطاء، على سبيل المثال).

في هذه الصورة، يكون التركيز على TC الذي يطابق أي حزم IP الموجهة إلى 172.16.1.0/24 مع DSCP EF. في هذا السيناريو، تتم إزالة إدخال قائمة التحكم في الوصول (ACL) ذات الصلة من BR (BR-2) المحدد، ولكن ليس من BR-1. واصطدمت حزم TC تلك ب BR-2 بإدخال البادئة التي تطابق جميع حزم IP الموجهة إلى 172.16.1.0/24. المخرج المحدد لإدخال البادئة هو exit-1، لذلك يشير مسار-map/قائمة التحكم في الوصول (ACL) ذات الصلة على BR-2 إلى BR-1.

تصل الحزم الخاصة بحلقة TC الآن بين وحدات BRs حتى مدة البقاء (TTL) إلى 0.

يوفر هذا المستند تطبيقات IM الضرورية المستخدمة من أجل:

- اكتشاف حلقة إعادة توجيه بين BRs

- جمع المعلومات ذات الصلة ومسح PFr

تعد التطبيقات المستخدمة في حالة وحدة التحكم الرئيسية (MC)/مجموعة أجهزة الكمبيوتر المكتبية (BR) أكثر سهولة (عند تشغيل وحدة التحكم الإدارية على أحد وحدات التحكم الإدارية (BR)). كما يتم تغطية السيناريو الذي يحتوي على وحدات التحكم في إدارة اللوحة (MC) المخصصة.

تفاصيل تطبيق IM

يصف هذا القسم قوائم الوصول المستخدمة لهذه العملية، بالإضافة إلى ملفات سجل التطبيقات.

قوائم الوصول المستخدمة

لاكتشاف حلقات إعادة التوجيه، يعتمد البرنامج الصغير على قائمة التحكم في الوصول (ACL) لمطابقة الحزم ذات مدة البقاء (TTL) المنخفضة.

ملاحظة: يتم دعم تطابق قائمة التحكم في الوصول (ACL) على مدة البقاء (TTL) في موجهات خدمة التجميع (ASR) 1000 Series الإصدار 3.7S (15.2(4)S) والإصدارات الأحدث.

يوصى باستخدام مطابقة ACE على قيم TTL (20 و 21) المتتالية المنخفضة نسبيا للحصول على ضرب واحد (وواحد فقط) لكل حزمة تتراكم بين BRs. يجب ألا تكون قيمة TTL المستخدمة منخفضة جدا لتجنب الهجمات المتكررة من حزم traceroute.

interface gig0/0 (internal interface)

ip access-group LOOP in

!

ip access-list extended LOOP

permit ip 10.116.48.0 0.0.31.255 any ttl range 20 21

permit ip any any

يجب وضع قائمة التحكم في الوصول (ACL) على الواجهة الداخلية التي تم الإعلام عنها في إخراج الأمر show pfr master border topology.

يجب أن يتطابق نطاق IP للمصدر (هنا 10.116.48.0/20) مع الشبكة (الشبكات) الداخلية (البادئات التي يمكن الوصول إليها عبر الواجهات الداخلية).

ملاحظة: إذا تعذر عليك تلخيص الشبكات الداخلية في إدخال قائمة وصول (ACE) واحد، فيمكنك إستخدام العديد من إدخالات التحكم في الوصول (ACE)؛ ومع ذلك، يحتاج البرنامج النصي إلى تعديل طفيف للتحقق من عدد مرات الوصول على عدة سطور.

ملاحظة: يلزم إيقاف تشغيل ميزة النفق التلقائي (لا توجد أنفاق تلقائية في وضع PfR الرئيسي). إذا لم تكن وحدات التحكم في الوصول (BRs) متصلة مباشرة، فيجب إنشاء نفق (نفق) تضمين التوجيه العام اليدوي (GRE) ووضع قائمة التحكم في الوصول على واجهة النفق.

لتحديد الموقع البعيد/TC الذي يتأثر بالحلقة، يمكنك إضافة قائمة تحكم في الوصول (ACL) ثانية صادرة على الواجهة، مع وحدات ACE أكثر تحديدا لكل موقع/TC بعيد.

interface gig0/0 (internal interface)

ip access-group LOOP-DETAIL out

!

ip access-list extended LOOP-DETAIL

permit ip 10.116.48.0 0.0.31.255 10.116.132.0 0.0.0.255 ttl range 20 21

permit ip 10.116.48.0 0.0.31.255 10.116.128.0 0.0.0.255 ttl range 20 21

.... (add here one line per remote site)

permit ip any an

يتطابق IP للوجهة مع الشبكة الفرعية في المواقع البعيدة المختلفة:

10.116.132.0/24 -> site-1

10.116.128.0/24 -> site-2

يمكنك أيضا إضافة عدة خطوط لكل موقع بعيد إذا كنت بحاجة إلى تحديد TC الذي تأثر بالحلقة.

رسوم التطبيقات الصغيرة

يتحقق التطبيق الصغير من عمليات الجرد التلقائي لمطابقة ACE على TTL في حلقة قائمة التحكم في الوصول (ACL) كل ثلاثين ثانية. استنادا إلى نتيجة هذه التحققات، قد يقوم التطبيق الصغير بتنفيذ المهام التالية:

- إذا تجاوزت عمليات العد التنازلي الحد الذي تم تكوينه (THRESHOLD_1)، يقوم البرنامج الصغير بمسح عدد قوائم التحكم بالوصول (ACL) وإعادة التحقق من عمليات الجرد المتفرعة في خمس عشرة ثانية.

- بعد ال 15 ثانية ، إذا كانت الحمولة أعلى من العتبة الثانية (عتبة_2)، قد تكون هناك حلقة. يجب تجميع مجموعة من المخرجات ومسح PfR من أجل إصلاح مشكلة التكرار.

- يتم تعريف الحدود الثانية كمتغيرات عامة، لذلك يتم ضبطها بسهولة دون إعادة تشغيل التطبيق الصغير.

- تعتمد القيمة المثلى لهذه العتبات بشكل رئيسي على متوسط معدل الحزم لكل TC.

ملفات سجل البرنامج الصغير

يحتفظ التطبيق الصغير بملف سجل يتتبع عدد العمليات غير الهامة (عندما يكون العدد أكبر من 0)، وأي عمليات تكرار مؤقتة (عندما يتم تجاوز THRESHOLD_1 ولكن ليس THRESHOLD_2) أو تكرار حقيقي (عند تجاوز THRESHOLD_1 و THRESHOLD_2).

تطبيقات لسيناريوهات MC/BR Combo و BR الأخرى

هذه هي أبسط السيناريوهات الموضحة في هذا المستند. يتم اكتشاف التكرار الحلقي ومسح PfR على نفس الجهاز، لذلك لا توجد حاجة لإدخال اتصال برنامج IM. يتم تشغيل برنامج آخر منفصل على وحدة التحكم في إدارة اللوحة الأساسية (MC)/وحدة التحكم في br Combo ووحدات BR أخرى.

برنامج على وحدة التحكم في إدارة اللوحة الأساسية (MC)/مجموعة وحدات المعالجة المركزية (BR)

يعرض هذا الإخراج معلومات مهمة للتطبيق الصغير المستخدم على MC/BR Combo. فيما يلي بعض الملاحظات المهمة لهذا الإخراج المحدد:

- القيمة المعروضة ل THRESHOLD_1 هي 1000، والقيم المعروضة ل THRESHOLD_2 هي 500. وهذا يعني ضمنا أن التطبيق الصغير يتم تشغيله إذا كان معدل TC المتأثر بالحلقة أعلى من 1000/30 ( 33 صفحة في الثانية).

- يعرف متغير القرص مكان دفع ملفات السجل والإخراج (معروض هنا على bootflash).

- يشتق الطابع الزمني للإدخالات في ملف السجل من إخراج الأمر show clock. تعتمد الحروف في المنتصف (الظاهر هنا ك "est") على المنطقة الزمنية ويجب ضبطها (راجع الإجراء 240).

- المخرجات التي يجب تجميعها في حالة التكرار يتم دفعها في ملف script-output-xxxxxx في bootflash، حيث يمثل "xxxxxx" عدد الثواني منذ عام 1970 (يستخدم لإنشاء أسماء ملفات فريدة لكل تكرار حلقي).

- يتم سرد الأوامر التي تم تجميعها في الإجراءات 330 و 340 و 350 و 360. يمكن إضافة بعض الأوامر الأخرى/المختلفة.

event manager environment THRESHOLD_1 1000

event manager environment THRESHOLD_2 500

event manager environment DISK bootflash

!

event manager applet LOOP-MON authorization bypass

event timer watchdog name LOOP time 30

action 100 cli command "enable"

action 110 cli command "show ip access-list LOOP"

action 120 set regexp_substr 0

action 130 regexp "range 20 21 \(([0-9]+) matches\)"

$_cli_result _regexp_result regexp_substr

action 140 cli command "clear ip access-list counters LOOP"

action 150 if $regexp_substr gt 0

action 200 set MATCHES $regexp_substr

action 210 file open LOGS $DISK:script-logs.txt a

action 220 cli command "enable"

action 230 cli command "show clock"

action 240 regexp "[0-9]+:[0-9]+:[0-9]+.[0-9]+ est [A-Za-z]+

[A-Za-z]+ [0-9]+ 201[0-9]" $_cli_result _regexp_result

action 250 set TIME $_regexp_result

action 260 if $MATCHES gt $THRESHOLD_1

action 270 wait 15

action 280 cli command "show ip access-list LOOP"

action 290 set regexp_substr 0

action 300 regexp "range 20 21 \(([0-9]+) matches\)"

$_cli_result _regexp_result regexp_substr

action 310 if $regexp_substr gt $THRESHOLD_2

action 320 cli command "enable"

action 330 cli command "show ip access-list LOOP-DETAIL

| tee /append $DISK:script-output-$_event_pub_sec.txt"

action 340 cli command "show pfr master traffic-class perf det

| tee /append $DISK:script-output-$_event_pub_sec.txt"

action 350 cli command "show route-map dynamic detail

| tee /append $DISK:script-output-$_event_pub_sec.txt"

action 360 cli command "show ip route

| tee /append $DISK:script-output-$_event_pub_sec.txt"

action 370 cli command "clear pfr master *"

action 380 cli command "clear ip access-list counters LOOP-DETAIL"

action 390 file puts LOGS "$TIME - LOOP DETECTED - PfR CLEARED -

matches $MATCHES > $THRESHOLD_1 and $regexp_substr

> $THRESHOLD_2 - see $DISK:script-output-$_event_pub_sec.txt"

action 400 syslog priority emergencies msg "LOOP DETECTED -

PfR CLEARED - see $DISK:script-output-$_event_pub_sec.txt !"

action 410 else

action 420 file puts LOGS "$TIME - TEMPORARY LOOP : matches

$MATCHES > $THRESHOLD_1 and $regexp_substr < or = $THRESHOLD_2"

action 430 cli command "clear ip access-list counters LOOP-DETAIL"

action 440 end

action 450 else

action 460 cli command "en"

action 470 cli command "clear ip access-list counters LOOP-DETAIL"

action 480 file puts LOGS "$TIME - number of matches =

$MATCHES < $THRESHOLD_1"

action 490 end

action 500 else

action 510 cli command "clear ip access-list counters LOOP-DETAIL"

action 520 end

برنامج ل BRs أخرى

يصف هذا القسم البرنامج الصغير المستخدم في عمليات BRs الأخرى. فيما يلي بعض الملاحظات المهمة لهذا الإخراج المحدد:

- يتم تشغيل التطبيق كل عشرين ثانية بينما يتم تشغيل البرنامج النصي الموجود على MC/BR Combo كل ثلاثين ثانية. وهذا يضمن مسح التطبيق الموجود على BR الذي يتم إطلاقه قبل مسح PfR عبر التطبيق الصغير الذي يعمل على وحدة التحكم في إدارة اللوحة (MC/BR).

- يتم إستخدام حد فريد، لذلك لا توجد حاجة لتجنب نتيجة خطأ إيجابية.

- القيمة الموضحة للعتبة هي 700، ويجب تعيينها وفقا للقيمة THRESHOLD_1 في التطبيق MC/BR.

- يتم دفع ملف سجل التطبيق الصغير في ملف script-log.txt في flash0. يمكن تغيير ذلك في الإجراء 170 ومتغير القرص.

- يشتق الطابع الزمني للإدخالات في ملف السجل من إخراج الأمر show clock. يعتمد الرمز في المنتصف (الظاهر هنا ك "est") على المنطقة الزمنية ويجب ضبطه (راجع الإجراء 190).

- المخرجات التي يجب جمعها في حالة التكرار يتم دفعها في ملف script-output-xxxxxxx، حيث يمثل "xxxxxx" عدد الثواني منذ عام 1970 (يستخدم لإنشاء أسماء ملفات فريدة لكل تكرار حلقي).

- يتم سرد الأوامر التي تم تجميعها في الإجراء 230 والإجراء 240. يمكن إضافة بعض الأوامر الأخرى/المختلفة.

event manager environment THRESHOLD 700

event manager environment DISK flash 0

!

event manager applet LOOP-BR authorization bypass

event timer watchdog name LOOP time 20

action 100 cli command "enable"

action 110 cli command "show ip access-list LOOP"

action 120 set regexp_substr 0

action 130 regexp "range 20 21 \(([0-9]+) matches\)"

$_cli_result _regexp_result regexp_substr

action 140 cli command "clear ip access-list counters LOOP"

action 150 if $regexp_substr gt 0

action 160  set MATCHES $regexp_substr

action 170  file open LOGS $DISK:script-logs.txt a

action 180  cli command "show clock"

action 190  regexp "[0-9]+:[0-9]+:[0-9]+.[0-9]+

est [A-Za-z]+ [A-Za-z]+ [0-9]+ 201[0-9]" $_cli_result _regexp_result

action 200  set TIME $_regexp_result

action 210  if $MATCHES gt $THRESHOLD

action 220   cli command "enable"

action 230   cli command "show route-map dynamic detail | tee /append

$DISK:script-output-$_event_pub_sec.txt"

action 240   cli command "show ip route | tee /append

$DISK:script-output-$_event_pub_sec.txt"

action 250   file puts LOGS "$TIME : matches = $MATCHES >

$THRESHOLD - see $DISK:script-output-$_event_pub_sec.txt"

action 260   syslog priority emergencies msg "LOOP DETECTED -

Outputs captured - see $DISK:script-output-$_event_pub_sec.txt !"

action 270  else

action 280   file puts LOGS "$TIME : matches = $MATCHES < or = $THRESHOLD"

action 290  end

action 300 end

تطبيقات لسيناريو MC المخصص

يتم إكمال اكتشاف التكرار وتجميع مسح/إحصائيات PfR على أجهزة مختلفة يجب أن تحتوي على اتصال برنامج IM الصغير بين الأجهزة. يحدث الاتصال بين الأجهزة بطرق مختلفة. يصف هذا المستند اتصال الجهاز عبر الكائنات التي تم تعقبها للتحقق من إمكانية الوصول إلى استجابات مخصصة تم الإعلان عنها في بروتوكول العبارة الداخلية. عند الكشف عن حدث، يتم إيقاف تشغيل الاسترجاع، مما يسمح بتشغيل التطبيقات على الأجهزة البعيدة عندما يكون الكائن الذي يتم تعقبه غير متصل. يمكنك إستخدام استجابات مختلفة إذا كانت هناك حاجة إلى تبادل معلومات مختلفة.

اتصال البراغي

يتم إستخدام هذه التطبيقات وطرق الاتصال:

اسم البرنامج الصغير

أين ؟

ماذا ؟

زناد ؟

الإتصالات ؟

Loop-BR

بي آر إس

تحقق من قوائم التحكم في الوصول (ACL) من أجل اكتشاف حلقات التكرار

دوري

عروة الإغلاق 100

Loop-MC

MC

- جمع معلومات PfR

- برنامج Clears PfR

حلقة إمكانية الوصول إلى المسار 100

عروة الإغلاق 200

Collect-BR

بي آر إس

تجميع المعلومات

حلقة إمكانية الوصول إلى المسار 200

none

هنا صورة توضح هذا:

هذه هي العملية التي تستخدمها التطبيقات:

1. تم اكتشاف تكرار حلقي بواسطة التطبيق Loop-BR الصغير على BRs. يفترض أن الحلقة يتم الكشف عنها على BR-2 أولا.

2. يقوم التطبيق بإيقاف تشغيل الحلقة 100 على BR-2، ويتم الإعلان عن المعلومات على بروتوكول العبارة الداخلية (IGP).

3. الكائن المتتبع ل Loop100 من BR-2 يصبح غير متصل على MC، ويبدأ تطبيق LOOP-MC. يتم تجميع النواتج الرئيسية ل PfR، ويتم إيقاف تشغيل Loopback 200 على وحدة التحكم في إدارة اللوحة الأساسية. ويتم الإعلان عن المعلومات على بروتوكول العبارة الداخلية. يبدأ موقت نوم لمدة عشر ثوان.

4. يتم قطع اتصال الكائن المتتبع ل Loop200 الموجود على MC على كل من BRs. وهذا يؤدي إلى تشغيل الأداة COLLECT-BR الصغيرة التي تجمع المعلومات الخاصة ب BR.

5. يبدأ مؤقت السكون (الخطوة 3)، وتقوم وحدة التحكم في إدارة اللوحة المسطحة (MC) بمسح PFr.

ملاحظة: إذا قام BR-1 باكتشاف التكرار الحلقي قبل مسح PfR، يتم تجاهل الكائن المتتبع الذي يتم دون اتصال على MC (يتم تشغيل التطبيق LOOP-MC مرة واحدة في الدقيقة).

إنشاء كائنات تتبع وإنعكاسات

يوضح هذا القسم كيفية إنشاء عمليات الاسترجاع (التأكد من الإعلان عن عناوين IP على بروتوكول العبارة الداخلية) وتتبع الكائنات.

تعقب الكائنات

هناك بعض النقاط المهمة التي يجب أن تبقيها في ذهنك عند إنشاء كائنات تتبع:

- يلزم وجود كائن مسار واحد على عمليات إعادة التوجيه (BRs)، والذي يتم إستخدامه لتعقب الاسترجاع 200 على وحدة التحكم في إدارة اللوحة (MC) (يؤدي هذا إلى تشغيل تجميع البيانات).

- يلزم وجود العديد من كائنات المسار على وحدة التحكم في إدارة اللوحة الأساسية (MC):

- يستخدم المساران 1 و 2 لتعقب الاسترجاع 100 على BR-1 و BR-2 على التوالي.

- يتم إستخدام المسارات 11 و 12 لتعقب الاتصال بين BR-1 و BR-2 على التوالي (يتم تجنب مسح PfR عندما تكون هناك مشاكل اتصال بين BRs).

- يتتبع المسار 20 المسار المنطقي وما بين المسارين 11 و 12. ويتم إستخدام هذا الأمر للتحقق من أن وحدة التحكم في الوصول (MC) تحصل على إمكانية الوصول إلى جميع وحدات المعالجة المركزية (BRs).

- تم تعيين قيمة مسار مؤقت ip route إلى ثانية واحدة لتسريع اكتشاف مشكلة إمكانية الوصول (القيمة الافتراضية هي 15 ثانية).

بي آر-1

interface Loopback100

ip address 10.100.100.1 255.255.255.255

!

track timer ip route 1

track 1 ip route 10.100.100.200 255.255.255.255 reachability

بي آر-2

interface Loopback100

ip address 10.100.100.2 255.255.255.255

!

track timer ip route 1

track 1 ip route 10.100.100.200 255.255.255.255 reachability

MC

interface Loopback200

ip address 10.100.100.200 255.255.255.255

!

track timer ip route 1

track 1 ip route 10.100.100.1 255.255.255.255 reachability

track 2 ip route 10.100.100.2 255.255.255.255 reachability

track 11 ip route 10.116.100.1 255.255.255.255 reachability

track 12 ip route 10.116.100.2 255.255.255.255 reachability

track 20 list boolean and

object 11

object 12

أنساق بي آر و إم سي

Loop-BR

يوضح هذا القسم كيفية إنشاء استجابات على وحدات المعالجة المركزية (BRs). في ما يلي بعض الملاحظات المهمة التي يجب وضعها في الاعتبار:

- قيمة THRESHOLD_1 هي 1000 وقيمة THRESHOLD_2 هي 500. هذا يعني ضمنا أن التطبيق الصغير يتم تشغيله إذا كان معدل TCs المتأثر بالحلقة أعلى من 1000/30 (33 نقطة في الثانية).

- يتم دفع ملف سجل التطبيق الصغير في ملف البرنامج النصي-detect-log.txt في bootflash. يتم تغيير ذلك في الإجراء 210 ومع متغير القرص.

- الطابع الزمني للإدخالات في ملف السجل مشتق من إخراج ساعة sh. تعتمد الحروف في المنتصف (تظهر على أنها 'est') على المنطقة الزمنية وتتطلب المعايرة (الإجراء 240).

- بعد إغلاق Loopback100 من أجل إعلام MC، انتظر خمس ثوان (لضمان أن IGP لديه وقت لنشر المعلومات) وأعد فتحها (الإجراء 370).

event manager environment THRESHOLD_1 100event manager environment

THRESHOLD_2 500event manager environment DISK bootflash

!event manager applet LOOP-BR authorization bypass

event timer watchdog name LOOP time 30 maxrun 27

action 100  cli command "enable"

action 110  cli command "show ip access-list LOOP"

action 120  set regexp_substr 0

action 130  regexp "range 20 21 \(([0-9]+) matches\)"

$_cli_result _regexp_result regexp_substr

action 140  cli command "clear ip access-list counters LOOP"

action 150  if $regexp_substr gt 0

action 200  set MATCHES $regexp_substr

action 210  file open LOGS $DISK:script-detect-logs.txt a

action 220  cli command "enable"

action 230  cli command "show clock"

action 240  regexp "[0-9]+:[0-9]+:[0-9]+.[0-9]+

est [A-Za-z]+ [A-Za-z]+ [0-9]+ 201[0-9]"

$_cli_result _regexp_result

action 250  set TIME $_regexp_result

action 260  if $MATCHES gt $THRESHOLD_1

action 270  wait 15

action 280  cli command "show ip access-list LOOP"

action 290  set regexp_substr 0

action 300  regexp "range 20 21 \(([0-9]+) matches\)"

$_cli_result _regexp_result regexp_substr

action 310  if $regexp_substr gt $THRESHOLD_2

action 320  cli command "enable"

action 330  cli command "conf t"

action 340  cli command "interface loop100"

action 350  cli command "shut"

action 360  file puts LOGS "$TIME - LOOP DETECTED - Message sent to MC -

matches $MATCHES > $THRESHOLD_1 and $regexp_substr > $THRESHOLD_2"

action 370  wait 5

action 375  cli command "enable"

action 380  cli command "conf t"

action 390  cli command "interface loop100"

action 400  cli command "no shut"

action 410  else

action 420  file puts LOGS "$TIME - TEMPORARY LOOP : matches $MATCHES >

$THRESHOLD_1 and $regexp_substr < or = $THRESHOLD_2"

action 430  cli command "clear ip access-list counters LOOP-DETAIL"

action 440  end

action 450  else

action 460  cli command "en"

action 470  cli command "clear ip access-list counters LOOP-DETAIL"

action 480  file puts LOGS "$TIME - number of matches =

$MATCHES < $THRESHOLD_1"

action 490  end

action 500  else

action 510  cli command "clear ip access-list counters LOOP-DETAIL"

action 520  end

Loop-MC

يوضح هذا القسم كيفية إنشاء استجابات على وحدة التحكم الإدارية. في ما يلي بعض الملاحظات المهمة التي يجب وضعها في الاعتبار:

- تعتمد قيمة الحد الأدنى للقيمة على عدد المرات التي يتم فيها تشغيل التطبيق الصغير بقيمة الحد الأدنى للقيمة 60 (يتم تشغيل البرنامج النصي مرة واحدة في الدقيقة كحد أقصى). يتم إستخدام هذا الأمر لتجنب مسح PfR مرتين عندما يتم الكشف عن نفس الحلقة بواسطة كل من BRs.

- في الإجراء 130، انتظر ثانيتين قبل التحقق من إمكانية الوصول إلى جميع BRs. هذا in order to تفاديت موجب خطأ يسببه مشاكل التوصيل بين MC و BRs.

- في الإجراء 240، انتظر عشر ثوان بعد إيقاف تشغيل Loopback200، قبل مسح PfR. وهذا للتأكد من أن وحدات الاستجابة السريعة (BR) لديها الوقت لجمع البيانات.

event manage environment DISK bootflash

event manager applet LOOP-MC authorization bypass

event syslog pattern "10.100.100.[0-9]/32 reachability Up->Dow" ratelimit 60

action 100 file open LOGS $DISK:script-logs.txt a

action 110 regexp "10.100.100.[0-9]" "$_syslog_msg" _regexp_result

action 120 set BR $_regexp_result

action 130 wait 2

action 140 track read 20

action 150 if $_track_state eq "up"

action 160  cli command "enable"

action 170  cli command "show clock"

action 180  regexp "[0-9]+:[0-9]+:[0-9]+.[0-9]+

est [A-Za-z]+ [A-Za-z]+ [0-9]+ 201[0-9]"

"$_cli_result" _regexp_result

action 190  set TIME "$_regexp_result"

action 200  cli command "show pfr master traffic-class perf det

| tee /append $DISK:script-output-$_event_pub_sec.txt"

action 210  cli command "conf t"

action 220  cli command "interface loop200"

action 230  cli command "shut"

action 240  wait 10

action 250  cli command "conf t"

action 260  cli command "interface loop200"

action 270  cli command "no shut"

action 280  cli command "end"

action 290  cli command "clear pfr master *"

action 300  file puts LOGS "$TIME - LOOP DETECTED by $BR -

PfR CLEARED - see $DISK:script-output-$_event_pub_sec.txt"

action 310  syslog priority emergencies msg "LOOP DETECTED by $BR -

PfR CLEARED - see $DISK:script-output-$_event_pub_sec.txt !"

action 320 else

action 330  file puts LOGS "$TIME - REACHABILITY LOST with

$BR - REACHABILITY TO ALL BRs NOT OK - NO ACTION"

action 340 end

Collect-BR

يوضح هذا القسم كيفية تجميع BR. يتم تشغيل التطبيق الصغير عندما تفقد وحدة المعالجة المركزية (BR) إمكانية الوصول إلى loopback200 (10.100.100.200) على وحدة التحكم MC. يتم سرد الأوامر المستخدمة للتجميع في الإجراءات 120 و130 و140.

event manager environment DISK bootflash

event manager applet COLLECT-BR authorization bypass

event syslog pattern "10.100.100.200/32 reachability Up->Dow" ratelimit 45

action 100 file open LOGS $DISK:script-collect-logs.txt a

action 110 cli command "enable"

action 120 cli command "sh ip access-list LOOP-DETAIL |

tee /append $DISK:script-output-$_event_pub_sec.txt"

action 130 cli command "show route-map dynamic detail

| tee /append $DISK:script-output-$_event_pub_sec.txt"

action 140 cli command "show ip route | tee /append

$DISK:script-output-$_event_pub_sec.txt"

action 150 cli command "show clock"

action 160 regexp "[0-9]+:[0-9]+:[0-9]+.[0-9]+ CET [A-Za-z]+ [A-Za-z]+

[0-9]+ 201[0-9]" "$_cli_result" _regexp_result

action 170 set TIME "$_regexp_result"

action 180 file puts LOGS "$TIME - OUTPUTs COLLECTED -

see $DISK:script-output-$_event_pub_sec.txt"

Syslog-MC

هنا ال syslog على MC عندما كشفت أنشوطة:

MC#

*Mar  8 08:52:12.529: %TRACKING-5-STATE: 1 ip route 10.100.100.1/32

reachability Up->Down

MC#

*Mar  8 08:52:16.683: %LINEPROTO-5-UPDOWN:

Line protocol on Interface Loopback200, changed state to down

*Mar  8 08:52:16.683: %LINK-5-CHANGED: Interface Loopback200,

changed state to administratively down

MC#

*Mar  8 08:52:19.531: %TRACKING-5-STATE: 1

ip route 10.100.100.1/32 reachability Down->Up

MC#

*Mar  8 08:52:24.727: %SYS-5-CONFIG_I: Configured from console by

on vty0 (EEM:LOOP-MC)

*Mar  8 08:52:24.744: %PFR_MC-1-ALERT: MC is inactive due to PfR

minimum requirements not met;

Less than two external interfaces are operational

MC#

*Mar  8 08:52:24.757: %HA_EM-0-LOG: LOOP-MC:

LOOP DETECTED by 10.100.100.1 - PfR CLEARED

- see unix:script-output-1362732732.txt !

MC#

*Mar  8 08:52:26.723: %LINEPROTO-5-UPDOWN:

Line protocol on Interface Loopback200, changed state to up

MC#

*Mar  8 08:52:26.723: %LINK-3-UPDOWN: Interface Loopback200,

changed state to up

MC#

*Mar  8 08:52:29.840: %PFR_MC-5-MC_STATUS_CHANGE: MC is UP

*Mar  8 08:52:30.549: %TRACKING-5-STATE: 2

ip route 10.100.100.2/32 reachability Up->Down

MC#

*Mar  8 08:52:37.549: %TRACKING-5-STATE: 2

ip route 10.100.100.2/32 reachability Down->Up

MC#

ملاحظة: يمكن إستخدام هذه التطبيقات مع ثلاثة وحدات BR أو أكثر مع بعض الضبط.