Автоматизация задач с помощью встроенного менеджера событий Cisco EEM

Автоматизация задач с помощью встроенного менеджера событий Cisco EEM

Рассмотрим, как настроить встроенный менеджер событий Cisco EEM (Embedded Event Manager) и автоматизировать выполнение разнообразных задач устройства. Программное обеспечение Cisco IOS, используя встроенные детекторы, способно распознавать определенные события. А знаете ли Вы, что устройства Cisco можно запрограммировать на различные варианты действий в ответ на эти события? Сделать это можно при помощи Embedded Event Manager (EEM). Эта часть операционной системы Cisco IOS состоит из детекторов событий, менеджера событий и механизма политик менеджера событий. EEM, в основе которого лежит язык Tcl, открывает широкие возможности по автоматизации задач и управлению типами политик.

Содержание:

  1. Топология
  2. Сценарий
  3. Задачи
    1. Выполнение базовых настроек маршрутизатора
    2. Внедрение апплета EEM для детектора системного журнала (Syslog Detector EEM Applet)
    3. Внедрение апплета EEM детектора интерфейса командной строки (CLI Detector EEM Applet)
  4. Выводы

Топология

Исследуемая топология состоит из маршрутизатора Cisco 2911 с ПО Cisco IOS версии 15. Допускается использование других маршрутизаторов и версий Cisco IOS.

Схема топологии следующая:

 


Сценарий

Cisco IOS Embedded Event Manager (EEM) — это подсистема Cisco IOS, которая позволяет создавать апплеты EEM. Аплеты EEM состоят из операторов, которые обнаруживают событие, произошедшее на устройстве IOS или в подключенной сети, и действий, которые должны выполняться при обнаружении события. В IOS доступен ряд детекторов событий, количество которых может варьироваться в зависимости от версии IOS. Действия EEM включают выполнение команд IOS, создание ловушки SNMP (SNMP trap), выполнение других политик EEM или отправку уведомления по электронной почте на адрес, указанный в политике и другие.

В первой части этой статьи будет создан апплет EEM, который будет определять, когда интерфейс становится неработоспособным (line protocol down). Когда интерфейс выходит из строя, предполагается, что в этом интерфейсе возникла проблема. Политика отключает интерфейс и активирует резервный интерфейс.

Во второй части этой статьи будет создан апплет EEM, который определяет, когда была выдана команда для сохранения текущих настроек в загрузочную конфигурацию. Перед сохранением конфигурации текущие настройки отправляются на сервер TFTP в качестве резервной копии последней конфигурации.

Задачи

  1. Выполнение базовых настроек маршрутизатора.
  2. Внедрение апплета EEM для детектора системного журнала (Syslog Detector EEM Applet).
  3. Внедрение апплета EEM детектора интерфейса командной строки (CLI Detector EEM Applet).

Часть 1. Команды базовых настроек маршрутизатора

 

Также можно настроить Tcl-скрипт для базовых настроек:

 

Для упрощения запуска скрипта настроим псевдоним (alias) в режиме глобальных настроек:

 

Запустить скрипт теперь можно в привилегированном режиме командой:

Часть 2. Внедрение апплета EEM для детектора системного журнала (Syslog Detector EEM Applet)

Было обнаружено, что интерфейс иногда становится нестабильным и выходит из строя по неизвестным причинам. Инженер исследует проблему, чтобы определить причину. Между тем, было принято решение реализовать апплет EEM, который будет обнаруживать сообщение системного журнала, которое выдается, когда интерфейс выходит из строя (line protocol down). При обнаружении этого события будет выполнена серия команд IOS, которые выключат нестабильный интерфейс и активируют резервный интерфейс. В этой статье интерфейсы loopback будут использоваться для моделирования неисправного основного интерфейса и резервного интерфейса.

 

Команды для проверки настроенного апплета:

 

Команда, имитирующая сообщение системного журнала, для проверки работы апплета:

Часть 3. Внедрение апплета EEM детектора интерфейса командной строки (CLI Detector EEM Applet)

Детектор CLI срабатывает, когда указанная команда вводится в командную строку. Подобно детектору событий системного журнала, можно указать шаблон регулярного выражения (regular expression pattern), соответствующий желаемой команде CLI. В апплете данной статьи обнаруживается команда copy running-config startup-config. Перед тем, как команде будет разрешено выполнение, текущие настройки startup-config будет скопирована во флэш-память.

 

Посмотрим настроенные переменные:

 

Снова запускаем:

 

И проверяем работу апплета.

Есть важные замечания по написанию апплетов:

  • в именах переменных нельзя использовать дефисы (TFTP-SERVER нельзя, TFTP_SERVER можно);
  • номера действий записываются в формате X.Y, при этом если Х равно, например, 10.Y или 15.Y, то такая запись будет вставляться между 1.Y и 2.Y. Чтобы избежать недоразумений, связанных с нумерацией рекомендуется число Х назначать в пределах от 1 до 9.

Выводы

Спасибо за уделенное время на прочтение статьи. Теперь вы больше знаете о том, как настроить встроенный менеджер событий Cisco EEM (Embedded Event Manager) и автоматизировать выполнение разнообразных задач маршрутизатора с Cisco IOS!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

4 комментария. Оставить новый

  • Можно код апплета внедрить с помошью tcl ?

    Ответить
  • Добрый день, Евгений! Подробно про использование tcl для создания апплетов EEM Вы можете почитать здесь: https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/eem/configuration/15-mt/eem-15-mt-book/eem-policy-tcl.html

    Ответить
  • Владислав
    21 января 2021 13:28

    Добрый день. Интересует вопрос у меня на 2 роутерах 2951 и 2921 настроено аплет на падение интерфейса, то есть когда гиг 0/0 падает должен подняться гиг 0/1. На 2951 работает, а на 2921 нет. Конфиг одинаковый, куда смотреть?
    track 1 interface GigabitEthernet0/0 line-protocol
    event manager applet Gi0/0-down
    event track 1 state down
    action 1.0 cli command «enable»
    action 2.0 cli command «config term»
    action 3.0 cli command «interface Gi0/1»
    action 4.0 cli command «no shut»
    action 5.0 cli command «end»
    action 6.0 cli command «exit»
    event manager applet Gi0/0-up
    event track 1 state up
    action 1.0 cli command «enable»
    action 2.0 cli command «config term»
    action 3.0 cli command «interface Gi0/1»
    action 4.0 cli command «shut»
    action 5.0 cli command «end»
    action 6.0 cli command «exit»

    Ответить
  • У вас включен AAA? Может event manager session cli username надо ввести.
    Попробуйте debug event manager action cli, вдруг какое-то сообщение из дибага вам поможет.

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню