В.В. Парменова
Система мониторинга технического состояния компьютерной сети MON используется системой телекоммуникаций "Ботик" для наблюдения за состоянием городской компьютерной сети[2]. Система способна осуществлять мониторинг около 20-ти локальных и удаленных сервисов.
Система MON является свободно-распространяемым продуктом. Ознакомиться со всеми возможностями системы, всегда найти свежую версию, а также задать интересующий вас вопрос по работе системы можно на странице в Интернет http://kernel.org/software/mon .
Мониторинг компьютерной сети в городе Переславле-Залесском системой MON осуществлялся достаточно продолжительный промежуток времени, что позволило сформулировать требования к мониторной системе, которые позволили бы сделать процесс наблюдения за работой сети более качественным и удобным. К указанным требованиям прежде всего относятся:
Компоненты и функциональность. Перед началом эксплуатации системы необходимо сформировать для нее конфигурационные файлы. В них указываются параметры проверок, а именно:
После того, как конфигурационные файлы будут написаны, можно запускать систему. Основной процесс (daemon) после запуска будет работать до тех пор, пока не будет остановлен специальной linux-командой. С интервалом, определенным в конфигурационном файле, основной процесс запускает программы-мониторы для про-работоспособности сети. Вся информация о мониторах и проверяемых компьютерах читается один раз из рационного файла и впоследствии используется демоном для запуска соответствующих мониторов. В зависимости от результата работы мониторной программы основной процесс решает, нужно ли послать сообщение о поломке или оно уже было отправлено. Демон следит за количеством сообщений - оно не должно превышать указанное в конфигурационном файле. Если сообщение должно быть послано, демон вызывает соответствующую программу оповещения, передает ей информацию о получателе и текст с описанием проблемы, полученный от монитора. Программа оповещения принимает переданные ей аргументы и рассылает сообщения. По истечении интервала времени, указанного в конфигурационном файле, основной процесс снова запускает монитор и процесс повторяется.
Результаты проверок и действия основного процесса фиксируется в журнале системы. Также в журнал за-писываются ошибки, произошедшие в процессе работы системы MON. Система реализована на языке Perl[l] и предназначена для работы в ОС Linux.
Модификация мониторов. Мониторные программы подверглись минимальным изменениям. Каждая из них выполняет отведенную ей функцию, а именно проверку конкретного сервиса, тогда как основной процесс занимается организацией всего процесса и обработкой полученных результатов. Было принято решение не увеличивать функциональность мониторных программ, но при этом изменить "восприятие" основным процессом полученных результатов.
Изменения, внесенные в основной процесс мониторной системы. Основные изменения главного процесса мониторной системы MON затронули процедуру, занимающуюся обработкой значений, полученных от мониторных программ. Именно в ней принимается решение о посылке сообщения о некотором событии в сети. Одним из недостатков оригинальной версии системы MON является то, что система не может присылать оповещение персоналу в случае восстановления части ранее недоступных компьютеров при проверке определенного сервиса.
Для того, чтобы стало возможным оповещение в случае восстановления части группы, была расширена соответствующая функция основного процесса. Сравнить два последовательных состояния сети позволяет текстовая часть возвращенного монитором значения. Именно она хранится в памяти daemon'a после каждой проверки и позволяет сравнить результаты последнего теста и предыдущего.
Значительные правки были внесены в функцию подготовки сообщения к отправке. Именно в этой функции необходимо проводить проверки, было ли послано сообщение о поломке, нужно ли послать еще одно, выдержана ли необходимая пауза между посылками и другие параметры отправки сообщений. В связи с созданием оповещением о восстановлении части группы и системой оповещения с обратной связью, увеличилось количество параметров отправки сообщения, что потребовало расширения соответствующей функции.
Небольшим добавлением в основной процесс можно считать вызов функции построения структуры данных для создания Web-сайта.
Создание нового Web-интерфейса. В оригинальной версии системы MON действия и результаты работы системы фиксировались в некотором системном файле. Однако, этого оказалось недостаточным для достижения желаемого функционирования системы MON. Было решено вести дополнительные записи для последующего их использования при построении сайта состояния сервисов и всей сети в целом. Для этого был создан новый модуль Write_Log.
Принцип работы модуля Write_Log прост: получая результат работы мониторов, он выделяет необходимую информацию и записывает эти данные в log-файл, соответствующий проверяемому сервису. В log-файле также фиксируется время проведенной проверки и название группы, которая была проверена.
Создание информативного Web-сайта для системы мониторинга позволяет постоянно следить за состояние отдельных сервисов и сети в целом. Наглядное представление удобно для восприятия и анализа. Модуль All_Stat предназначен для разбора log-файлов и формирования данных в нужном формате для последующего отображения их в Web. Вызов модуля All_Stat производится из основного процесса по окончании всех действий, необходимых для проведения проверки. Формирование новых данных происходит с некоторой периодичностью. Период определяется как минимальный интервал между проверками среди всех интервалов, заданных в конфигурационном файле. В результате модуль All_Stat создает текстовый файл определенного формата, в котором записано состояние каждого компьютера из группы по всем сервисам после всех проверок, произведенных за текущие сутки.
Затем JavaScript-программы используют эти данные для построения сайта состояния сети. Оно представлено в Web в виде таблицы. Перед таблицей указано, к какой группе и сервису она относится. В столбцах указано время проверок, в строках - названия проверяемых компьютеров. На пересечении стоки и столбца можно увидеть состояние интересующего компьютера в определенный момент времени. Состояние отображается цветом. Считается, что работоспособный сервис отображен зеленым цветом, неработоспособный - красным. Цвет клетки вычисляется специальной функцией в зависимости от степени доступности сервиса.
Создание системы оповещения с обратной связью. Для более удобного и эффективного оповещения о событии с сети было решено расширить систему оповещения, путем создания системы с обратной связью.
Система оповещения с обратной связью позволяет осуществить многоуровневую схему сообщения о проблеме. В системе MON имеется реализация отправки нескольких сообщений об одной поломке, но при этом сообщения отправляются одинаковым способом (например, по e-mail), и администратор получит ровно столько сообщений, сколько указано в конфигурационном файле. Принцип работы новой схемы можно описать следующим образом: после обнаружения поломки администратору посылается сообщение. При этом система MON, работая в обычном режиме, способна принять ответ в виде электронного письма от администратора. В случае не получения ответа по истечении определенного промежутка времени система посылает еще одно сообщение, посчитав, что человек не прочитал посланное о поломке письмо. Это может быть сообщение другого типа (например, sms), но оно будет содержать информацию о той же поломке. Если и на это сообщение ответа не будет, снова будет отправлено сообщение. Количество сообщений определяется в конфигурационном файле. В нем же можно указать тип отправляемого сообщения - например, сначала это может быть mail.alert, далее sms.alert. Если же система получила подтверждение, что о поломке известно, дальнейшего отправления сообщений не происходит. Ответ системе MON предполагается посылать с помощью e-mail или специализированного web-интерфейса, связанный с администра-тивной системой Nadmin, которая используется для взаиморасчетов с абонентами СТ "Ботик".
В результате мы имеет систему мониторинга сети, которая способна осуществлять качественную проверку |сервисов и сообщать о событии в сети, используя систему оповещения с обратной связью. Кроме этого, состояние сервисов сети за некоторый промежуток времени теперь можно наблюдать на новом достаточно информативном web-сайте. Внесенные изменения позволяют сделать работу администратора сети наиболее эффективной, легкой и удобной.
ЛИТЕРАТУРА:
1. Т. Кристиансен, Н. Торкингтон PERL: библиотека программиста. Питер
2001.
2. Абрамов С. М., Пономарев А. Ю., Шевчук, Ю. В. Широко доступный
Интернет как путь в открытое общество. Опыт Переславля-Залесского. Труды
конференции "Интернет. Общество. Личность". Спб, 1999.
3. Olaf Kirch, Terry
Dawson Linux Network Administrator's Guide, 2nd Edition
http://linuxland.itarn.nsc.ru/eng/lmuxNAG