Самоучитель
системного администратора

7. Мониторинг информационной системы

Чтобы работать не только по фактам инцидентов, а предупреждать возможные отказы, системный администратор существенную часть своего рабочего времени должен затрачивать на оценку состояния оборудования и программных средств, просмотр протоколов работы различных служб и т. п. Анализ получаемой информации обычно требует высокой квалификации, являясь при этом весьма рутинной операцией. Даже если администратор и не пренебрегает этой частью своих повседневных обязанностей, тем не менее, все эти усилия не могут гарантировать контроль функционирования компонентов в реальном режиме времени.

Поэтому наличие той или иной системы мониторинга системы является требованием к современной информационной системе.

Основные способы контроля

Для мониторинга системы традиционно используются:

  • анализ сообщений в журналах системы;
  • SNMP-протокол (для контроля активного оборудования);
  • имитация запросов к системе (например, тестовый запрос к базе данных);
  • специальные агенты, дополнительно устанавливаемые в системы (для расширенного мониторинга).

Журналы системы и программ

Во время работы все программы записывают в журналы основные события. Поэтому основным способом контроля работоспособности программ является анализ журналов в операционной системе.

Если говорить о Windows-системах, то это системные журналы приложений, безопасности и системы, а также журналы приложений. В Linux-компьютерах это системный журнал (syslog) и также журналы приложений (обычно создаются в папках каталога var). Журналы можно анализировать локально или же перенаправлять события на другой компьютер. В Windows в этих целях применяются возможности подписки на события журналов (доступно с выпуска Vista), для Linux можно легко установить централизованный Syslog-сервер, на который будет направлены сообщения локальных систем.

Протокол SNMP

Оборудование информационных систем обычно контролируется по протоколу SNMP (описан далее в этой главе). Кроме того, в программное обеспечение встраивается функционал отправки предупреждений о событиях на заданный адрес. Конечно, не все оборудование обладает такими возможностями. Устройства, предназначенные для небольших организаций, снабжаются только простейшими вебинтерфейсами управления, на которых только можно увидеть информацию о состоянии. В лучшем случае, можно настроить оповещения по электронной почте.

Контроль ответов служб

Если можно сгенерировать тестовый запрос к приложению и получить на него ответ, который доступен для анализа, то это будет лучшим способом контроля работоспособности службы.

По такому способу организован так называемый безагентный мониторинг. Так можно проверять сетевые службы (сервер DHCP, DNS и аналогичные), доступность веб-серверов, электронной почты и т. п. При этом при контроле работы проверяется не только сам факт ответа, но и его содержимое. Например, для веб-сервера можно проконтролировать наличие в ответе сервера определенной строки, для электронной почты — проверить в ответе имя почтового узла и т. п.

Таким же методом можно проверять и серверы баз данных — путем генерации SQL-запроса к тестовой таблице и проверке содержимого ответа.

Главное преимущество данного способа — это абсолютное невмешательство в работу контролируемой системы, проверка производится извне системы, на нее нет дополнительной нагрузки за счет работы программ контроля (количество контрольных запросов в производственной системе обычно на несколько порядков меньше числа запросов полезной нагрузки).

    Примечание

    В современных операционных системах объем информации, доступный для внешних программ без установки локального агента, существенно увеличен. Это относится к той информации, которая доступна по стандартным протоколам (WMI и аналогичным). Понятно, что при получении такой информации внешняя программа должна предъявить соответствующие полномочия.

Мониторинг с использованием агентов

Данный способ предполагает установку на контролируемую систему некоторой программы (ее принято называть агентом), который либо самостоятельно выполняет проверки по заданному графику, либо обеспечивает выполнение задания контроля, получаемого с сервера. Результаты проверки агентом возвращаются на сервер мониторинга. Преимущество данного способа контроля заключается в том, что наблюдению доступны практически любые параметры как оборудования, так и программной среды. Недостатки — необходимость предварительной установки агентов, затраты производительности на исполнение агентов (эта производительность отнимается от основных задач, для которых и установлен сервер). В зависимости от числа проверок, их частоты, производительности контролируемой системы и т. п. накладные затраты могут достигать величины 3—5% и более.

    Simple Network Management Protocol

Для сбора информации от оборудования, подключенного к сети, и управления им используется специальный протокол SNMP (Simple Network Management Protocol, простой протокол управления сетью). Устройства1, которые допускают управление по данному протоколу, могут принимать из сети команды, выполнять их и передавать информацию о параметрах своей работы. Например, после получения сообщения о прекращении поступления электроэнергии от управляемых аварийных источников программа может запросить данные об уровне зарядки аккумуляторных батарей и отложить отключение компьютеров до момента практически полной разрядки.

SNMP-протокол использует отправку сообщений по протоколу UDP (т. е. без установления соединений и контроля доставки сообщения).

    Примечание

    Существуют различные версии протокола SNMP (в настоящее время — первая, вторая и третья). Многие устройства, уже давно эксплуатируемые в сети, предполагают возможность управления только по версии 1.0. Данная версия не предусматривает никакой защиты, имена сообществ передаются по сети в открытом виде, что легко позволяет перехватить их снифферами. Поэтому обращайте внимание на то, что имена сообществ (community в терминологии протокола SNMP) ни в коем случае не должны сохранять значения по умолчанию, их следует заменить на достаточно длинные и сложные названия. А интерфейсы управления такими устройствами желательно выделить в отдельную виртуальную сеть.

В системах мониторинга SNMP-протокол используется для активного сетевого оборудования: маршрутизаторов и коммутаторов, аварийных источников питания, модемов и т. п.

Существует две возможности мониторинга по протоколу SNMP.

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

Второй вариант — настройка генерации предупреждений на самом устройстве. В этом случае сообщение о событии будет послано самим устройством. Такие сообщения в терминах SNMP принято называть трапами.

    Примечание

    В целях безопасности современное активное оборудование в настройках по умолчанию не использует протокол SNMP, его надо включить соответствующими командами управления и настроить (выбрать уровень, ввести параметры безопасности и т. п.).

SNMP-управление отличается относительной простотой реализации. Каждый настраиваемый или контролируемый параметр имеет уникальный номер. Для получения информации о состоянии устройства достаточно к нему отправить команду с указанием номера параметра, а для управления — команду установки параметра с его номером и значением (мы не рассматриваем в этом контексте вопросы аутентификации и авторизации протокола SNMP). Чтобы настроить трапы, следует указать, для каких событий они должны быть включены, и определить адреса системы, на которую будут отправляться сообщения.

Все SNMP-совместимые устройства имеют стандартизованную конфигурацию параметров. Эта конфигурация представляет собой некое дерево идентификаторов: для доступа к какому-либо значению необходимо указать полный путь к нему от самого корня. Такие идентификаторы называются OID (Object Identifier). Структура идентификаторов описывается в специальных файлах, которые называются MIB-файлами (Management Information Base). Основная часть структуры стандартизована, но отдельные параметры описываются в проприетарных MIB-файлах (доступны к загрузке с сайтов разработчика оборудования).

    Примечание

    Проприетарные (от англ. proprietary) — частные, патентованные, разработанные внутри компании для собственных целей (о программных или аппаратных средствах).

MIB-файл позволяет также вместо цифровых индексов использовать их символьные обозначения. Это может быть более удобно для администратора (запрос по цифровому идентификатору можно выполнить всегда, для использования символьного обозначения в программу должен быть импортирован соответствующий MIB-файл). Например, чтобы получить состояние порта коммутатора, надо запросить значение для идентификатора .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable. ifEntry.ifOperStatus.101. Причем обычно разрешено опускать первую часть символов, одинаковых для контролируемых параметров (.iso.org.dod.internet.mgmt.mib-2). Иными словами, при запросе административного состояния порта коммутатора было бы достаточно только указать interfaces.ifTable.ifEntry.ifOperStatus.101.

Интересующиеся читатели могут посетить страницу http://www.mibdepot.com/ index.shtml, на которой собрано большое количество MIB как стандартных, так и разработки отдельных вендоров. Также можно воспользоваться любой из доступных утилит-просмотрщиков MIB-файлов, которые позволяют легко найти нужный параметр и/или идентификатор (рис. 7.1).


Рис. 7.1.
MIB-browser.
На рисунке показан интерфейс одной из программ просмотра MIB. С помощью таких программ можно найти название и цифровой индекс того параметра, значение которого предполагается контролировать в системе мониторинга

В запросах можно использовать как символьные, так и численные наименования идентификаторов. Так, указанному ранее параметру соответствует индекс .1.3.6.1.2.1.2.2.1.8.101. Для повышения производительности системы контроля рекомендуется использовать именно численные значения, поскольку программе не приходится искать соответствие в файлах настроек. Хотя в случае символьного написания сами команды более удобочитаемы.

В большинстве случаев достаточно использовать стандартные параметры. То, какие из них соответствуют желаемой информации, легко найти в Сети по ключевым словам "mib browser". Например, на странице http://support.ipmonitor.com/ mibs_byoidtree.aspx (рис. 7.2) можно увидеть все дерево параметров и найти нужную ветвь.

Рис. 7.2.
Глобальная структура MIB.
На рисунке показана страница одного из сайтов с отображением глобальной структуры MIB. Такие источники помогают правильно выбрать контролируемые параметры


1Цена управляемых устройств выше неуправляемых конструкций, в связи с чем в малых организациях чаще используют неуправляемое оборудование.


Рейтинг@Mail.ru