АВТОМАТИЗАЦИЯ УЧЕТА И МОНИТОРИНГА АКТИВНОГО СЕТЕВОГО ОБОРУДОВАНИЯ
АВТОМАТИЗАЦИЯ УЧЕТА И МОНИТОРИНГА АКТИВНОГО СЕТЕВОГО ОБОРУДОВАНИЯ
Аннотация
Цель данного исследования заключается в разработке автоматизированной системы учета и мониторинга активного сетевого оборудования для телекоммуникационной компании. Важность автоматизации учета и мониторинга обусловлена необходимостью контроля множества параметров устройств, которые могут исчисляться тысячами. Учет оборудования включает контроль за его наличием, состоянием и перемещением, а мониторинг предполагает систематический сбор и обработку информации о состоянии и прогнозах развития устройств.
Модуль мониторинга, разработанный в рамках исследования, выполняет задачи опроса параметров устройств с помощью протоколов ICMP и SNMP, проверяет доступность и соответствие параметров заданным нормам. При обнаружении отклонений система генерирует события и отправляет уведомления ответственным лицам через электронную почту или мессенджер Telegram. Для предотвращения потери уведомлений разработана очередь отправки.
Модуль планирования запускает функции мониторинга с заданной периодичностью, используя библиотеки Python. Интерфейс системы реализован средствами веб-технологий, что позволяет получать доступ к информации с любого устройства с веб-браузером.
Таким образом, разработанная система автоматизированного учета и мониторинга активного сетевого оборудования обеспечивает надежный контроль параметров устройств и своевременное реагирование на изменения, что значительно повышает эффективность работы телекоммуникационной компании.
1. Введение
Современную повседневную жизнь сложно представить без бесперебойного ежедневного доступа к ресурсам различного назначения, представленным в сети Интернет, таким как сайты государственных органов и муниципальных организаций, приложениям различных банков, различным развлекательным сервисам, ставших неотъемлемой частью нашего быта.
Обеспечением доступа граждан и организаций к всемирной сети Интернет занимаются телекоммуникационные компании – провайдеры связи. Инфраструктура сети передачи данных таких компаний состоит из множества устройств и компонентов различного назначения. Одним из важнейших типов таких устройств является активное сетевое оборудование (коммутаторы, маршрутизаторы, межсетевые экраны и т. д.). Количество используемого активного сетевого оборудования провайдера может достигать миллионов единиц в зависимости от территориального присутствия, количества абонентов и многих других факторов. От бесперебойности и безаварийности функционирования данного оборудования, от своевременного изменения конфигурации, расширения узких каналов, прогнозируемости роста нагрузки и других факторов, зависит качество услуг, предоставляемых абонентам, их удовлетворенность, репутация провайдера, а в конечном итоге прибыль.
Актуальность разработки отечественного программного обеспечения для учета и мониторинга сетевого оборудования подтверждается рядом публикаций. М. А. Мукашева
рассматривает методы автоматизации алгоритмов работы сетевого оборудования с применением различных инструментов и решений. А. Е. Харитонова и Е. С. Коломеева предлагают проводить анализ неполадок сетевого оборудования на основе технологии data mining и языка программирования R. Ю. А. Ушаков, А. Л. Коннов и П. Н. Полежаев разработали подход к созданию сети распределенных виртуализированных модулей сбора информации, которые поставляют все сведения в единый центр управления сетью на основе OpenFlow контроллера и соответствующих модулей. А. О. Игумнов и М. А. Сонькин в своей статье представляют подход к прогнозированию изменения динамики событий, на примере анализа трафика, с использованием статистических данных. Исследованию вопросов разработки систем мониторинга и управления телекоммуникационной сети посвящены работы В. О. Доценко, Е. И. Шевниной и В. В. Аллакина, Н. П. Будко, Н.В. Васильева .Цель исследования – разработать автоматизированную систему учета и мониторинга активного сетевого оборудования для телекоммуникационной компании.
2. Методы и принципы исследования
Целесообразность автоматизации учета и мониторинга активного сетевого оборудования обуславливается необходимостью единовременного контроля множества параметров каждого устройства из имеющегося в эксплуатации парка оборудования, который, в свою очередь, может и, как правило, содержит в себе тысячи единиц.
Учет оборудования подразумевает контроль за наличием, состоянием и движением основных средств.
В ГОСТ Р 56875-2016
понятие мониторинг определено как «систематический сбор и обработка информации по процессам и объектам внимания для оценки их состояния и прогнозов развития с целью принятия решения».В ГОСТ Р 51513-99
понятие активное сетевое оборудование определено как «оборудование, содержащее электронные схемы, получающее питание от электрической сети или других источников и выполняющее функции усиления, преобразования сигналов и иные. Это означает способность такого оборудования обрабатывать сигнал по специальным алгоритмам».Для осуществления функций мониторинга, устройство должно быть обеспечено электрическим питанием, иметь минимальную корректную конфигурацию для ответа на входящие запросы и быть доступным для управления по сети. В данном состоянии сетевой инженер может удаленно, без выезда на место установки оборудования, контролировать остальные параметры, вносить изменения в конфигурацию и т. д. В противном случае для диагностики оборудования, необходимо исключительно физическое присутствие обслуживающего персонала.
Если устройство функционирует и доступно для управления, то система мониторинга осуществляет контроль следующих параметров:
‒ уровень нагрузки на центральный процессор (ЦП). Как правило, в сетевых устройствах основные функции коммутации и маршрутизации выполняются за счет ресурсов специальных чипов. ЦП также отвечает за выполнение других ресурсоемких вычислительных задач, например шифрование. Если загрузка ЦП достигает максимальных значений, то поведение устройства становится непредсказуемым, устройство может перестать обрабатывать запросы по ресурсоемким протоколам. Например, у вендора D-Link, существует функция Safe-Guard, которая при превышении определенного уровня загрузки ЦП выключает все вторичные функции устройства, освобождая ресурсы для возможности выполнения основной функции – передачи данных;
‒ уровень занятости оперативного запоминающего устройства (ОЗУ). В ОЗУ хранятся все временные, быстро доступные данные, необходимые для эффективного функционирования устройства. При полном заполнении ОЗУ устройство не может записать в память новые значения, необходимые для работы, заменяет более ранние параметры новыми, что приводит к потребности повторного вычисления параметров с нуля;
‒ уровень заполненности постоянного запоминающего устройства (ПЗУ). Данный вид памяти отвечает за сохранение данных, вне зависимости от текущего состояния устройства. В ПЗУ, например, сохраняется конфигурация устройства, сертификаты, необходимые при условии использования шифрования, файлы обновления программного обеспечения (ПО) и многое другое. В том числе в ПЗУ существует возможность сохранения отладочной информации, необходимой для выявления и уточнения причин, приведших к выводу устройства из строя, потери связи и многих других случаев, требующих последующей диагностики;
‒ температура компонентов и окружающей среды. При перегреве основных компонентов устройства снижается их производительность, что свидетельствует о высокой нагрузке или недостаточном охлаждении. При переохлаждении ухудшаются контактные свойства физических соединений, что вызывает ряд проблем на физическом и логическом уровне;
‒ уровни утилизации физических интерфейсов. При достижении максимальной скорости порта, например 100 мегабит в секунду, пакеты данных, в зависимости от конфигурации устройства и используемого протокола передачи, могут быть потеряны;
‒ рост ошибок на физическом интерфейсе. Такая ситуация обычно возникает в случае возникновения проблем в среде передачи данных (некачественный кабель, плохое соединение, перегиб оптической линии, низкий уровень сигнала при беспроводном типе передачи данных и т.д.);
‒ переполнение таблиц коммутации, маршрутизации, ARP (Address Resolution Protocol – протокол определения адреса) и т. д. Большинство сетевых устройств имеют ограничение на количество записей в данных таблицах. В момент, когда таблица переполняется, происходит перезапись более старых записей новыми, что приводит к дополнительной нагрузке на ЦП и ОЗУ. Большое количество методов атак на сетевую инфраструктуру строится именно на переполнении таблиц, но в обычном режиме эксплуатации не стоит допускать таких явлений.
В рамках исследования под системами мониторинга будем понимать информационные системы, обеспечивающие непрерывный контроль параметров объекта наблюдения, сбор различных метрик, своевременное уведомление ответственных лиц в случае выхода наблюдаемых параметров за нормальные значения.
Рассмотрим наиболее часто используемые в системах мониторинга методы опроса и получения информации о состоянии контролируемых параметров: отправка запросов с использованием протокола ICMP; отправка запросов на веб-сервер по протоколу HTTP; получение необходимых параметров по протоколу SNMP.
3. Обсуждение
Существует ряд популярных систем мониторинга: Cacti, Nagios, Zabbix, PRTG (Paessler Router Traffic Grapher) и SCOM (System Center Operations Manager). Анализ данных систем, а также работ авторов Е. А. Верещагиной, А. К. Рудниченко
и К. С. Шардакова показал, что бесплатные решения для рассматриваемой организации не обеспечивают весь необходимый функционал, или же являются слишком ресурсо-затратными, а коммерческие решения являются дорогостоящими и не актуальными в связи с программой импортозамещения.Разрабатываемая автоматизированная система учета и мониторинга активного сетевого оборудования предназначена для телекоммуникационной компании, которая предоставляет услуги в сфере телекоммуникаций множеству физических и юридических лиц в городе Бородино Красноярского края. Сеть передачи данных компании построена на оборудовании производителей Cisco, D-Link и Mikrotik, насчитывает более тысячи активных устройств и более 3000 абонентов.
Все задачи, связанные с функционированием телекоммуникационной сети компании, возложены на специалистов технического отдела. В их обязанности входит:
‒ обслуживание существующих линий коммуникаций и введение новых;
‒ подключение новых абонентов и техническая поддержка существующих;
‒ устранение неисправностей, решение аварийных инцидентов на сети компании;
‒ контроль за состоянием имеющегося оборудования и техническое обслуживание.
Телекоммуникационная сеть компании имеет стандартную иерархическую модель, состоящую из трех уровней: уровень ядра, уровень распределения, уровень доступа. Данная модель считается надежной, масштабируемой и высокопроизводительной сетевой конструкцией.
С целью резервирования участков сети от единичных отказов, уровень доступа построен по кольцевой топологии. Стандарт Ethernet, предусматривает только древовидную топологию и не допускает кольцевых, так как это приводит к возникновению логических петель. Данная задача решается средствами протокола Spanning Tree Protocol (STP, IEEE 802.1d), который позволяет создавать кольцевые маршруты в сетях Ethernet.
4. Основные результаты
Для функциональной части автоматизированной системы учета и мониторинга активного сетевого оборудования разработаны два основных модуля: модуль мониторинга и модуль планирования.
4.1. Модуль мониторинга
Основная задача модуля мониторинга связана с опросом параметров устройств и последующей проверкой полученных значений на соответствие заданным в системе величинам или интервалам. Опрос параметров в модуле выполняется с помощью протоколов ICMP и SNMP.
Функция проверки устройства на доступность с использованием протокола ICMP отправляет запрос проверяемому устройству с заранее заданной периодичностью и ожидает ответ в течение определенного времени. При корректном ответе в базе данных (БД) для датчика устанавливается статус "up". В противном случае устанавливается статус "unstable" до тех пор, пока не завершится заданное пользователем количество попыток опроса устройства. Если устройство недоступно, то в БД устанавливается статус "down".
Функция опроса параметров устройства с использованием протокола SNMP, запрашивает текущие значения, указанные в настройках. В случае получения корректного ответа на запрос, выполняется проверка полученных значений на соответствие заданным или вхождению их в заданные пределы. Примерами таких параметров являются:
- значение, полученное в результате опроса свободной памяти (ОЗУ), должно быть не меньше значения, указанного в системе;
- значение, полученное в результате опроса занятого пространства ПЗУ, не должно превышать заданного в системе максимального значения;
- значение, полученное в результате опроса датчика температуры окружающей среды, должно находиться в определенном в системе диапазоне нормальных значений;
- получение информации о текущем оперативном статусе физического порта коммутатора, которое во включенном состоянии имеет значение "up".
Значения, полученные в результате опроса параметров, представлены как в виде абсолютных значений, так и в виде вычисляемого процентного соотношения. Максимальные значения параметров, используемые системой, могут быть указаны вручную, а также получены автоматически, при условии технической возможности получения таких параметров.
Функция опроса параметров в части реакции на несоответствие значений работает так же, как и функция проверки устройства на доступность. В БД, в зависимости от полученных значений, определенных в параметрах опроса, устанавливается один из следующих статусов – "up", "unstable", "down".
При отклонении значений от нормы и установки в БД статуса "down", вышеописанные функции генерируют соответствующее событие, записываемое в таблицу "events" БД. Сгенерированное событие содержит информацию о дате начала, о датчике, значения которого не являются нормой и об устройстве, содержащем датчик. Статус сгенерированного события устанавливается со значением «active». Это означает что событие всё еще активно, неисправность не устранена, значение датчика находится за пределами нормы. После устраненных проблем к привязанному событию добавляется дата завершения и устанавливается статус "resolved".
Также в системе разработана функция отправки уведомлений о событиях по электронной почте или сообщением в мессенджере "Telegram". Способ отправки уведомления и адрес получателя заранее устанавливаются в системе. В случае отправки сообщения в мессенджер, адресом получателя является уникальный chat-id. При возникновении события, формируется соответствующее уведомление и добавляется в очередь для отправки со статусом "inque". Система с определенной периодичностью проверяет очередь и предпринимает попытки передачи уведомлений в статусе "inque". Уведомление будет находиться в очереди отправки до тех пор, пока система не получит подтверждение передачи и не переведет статут уведомления в значение "sended". Уведомление содержит дату регистрации события, описание датчика, требующего внимания и информацию об устройстве, к которому относится данный датчик.
С целью формирования графического отображения собираемых значений на временных интервалах c периодичностью в 300 секунд предусмотрена функция, которая использует для сбора значений параметров протокол SNMP и записывает их в соответствующие БД RRD.
Таким образом, разработанный модуль мониторинга содержит весь необходимый функционал для опроса различных параметров устройств, создания событий и отправки уведомлений.
4.2. Модуль планирования
Все описанные в модуле мониторинга функции выполняют свои действия не линейно друг за другом, а с определенной периодичностью в зависимости от параметров опросов. Для этих целей разработан модуль планирования, обеспечивающий выполнение такого функционала. Модуль планирования запускает функции с заданным в настройках интервалом времени, который в системе представлен шестью вариантами: 5, 10, 15, 30 и 60 секунд для функций опроса параметров и проверки доступности, а также 300 секунд для заполнения циклических баз данных. Данный функционал реализован с помощью встроенной библиотеки schedule языка программирования Python.
Благодаря библиотеке threading языка программирования Python, все функции запускаются в отдельных потоках и работают независимо друг от друга.
Блок-схема алгоритма работы системы мониторинга представлена на рисунке 1.
Рисунок 1 - Блок-схема алгоритма работы системы мониторинга
Механизм взаимодействия пользователя с разработанной системой учета и мониторинга активного сетевого оборудования реализован средствами веб-интерфейса. Веб-интерфейс позволяет получать доступ к информации, предоставляемой системой с любого устройства, оснащенного веб-браузером и имеющего подключение к сети. При разработке веб-интерфейса пользователя использовался фреймворк Flask языка программирования Python, позволяющий создавать динамические страницы на основе шаблонов JinJa.
В верхней части на всех страницах веб-интерфейса располагается меню навигации, в котором содержатся кнопки, осуществляющие переход к основным разделам интерфейса пользователя.
На главной странице интерфейса пользователя, представленной на рисунке 2, содержится актуальная информация о состоянии системы:
– общее количество устройств в системе;
– в блоке «Датчики» отражена суммарная информация о состоянии датчиков, контролируемых системой. Общее количество, количество включенных, находящихся в статусе "up" и в статусе "down";
– в блоке «Проверка доступности» отражена суммарная информация о доступности устройств, проверяемых с использованием протокола ICMP. Отражено общее количество, количество включенных, находящихся в статусе "up" и в статусе "down".
С правой стороны представлена информация в графическом виде.
Рисунок 2 - Главная страница веб-интерфейса
Функциональная часть системы учета и мониторинга активного сетевого оборудования в совокупности с СУБД является самодостаточной системой и выполняется как отдельная программа. Вся информация, содержащаяся в системе может быть получена с помощью соответствующих запросов в БД и использована в сторонних системах, таких как сайт организации, различные технологические системы и прочее. Управлять параметрами опроса, вносить изменения в список существующего оборудования и другие записи, возможно только с помощью непосредственных запросов в БД. Так как автоматизированная система была разработана для небольшой телекоммуникационной компании, то защита информации от изменений в БД реализуется за счет паролей администраторов. Для использования системы в более крупных телекоммуникационных компаниях необходимо добавить модуль управления правами доступа.
5. Заключение
Таким образом, система автоматизированного учета и мониторинга имеет весь необходимый функционал для запуска разработанных функций с необходимой периодичностью, получения и обработки значений необходимых параметров. Разработан функционал создания событий и отправки уведомлений, на основе полученных системой данных о состоянии параметров, предназначенных для мониторинга.