Наверное, любому сетевому администратору знакома ситуация, когда задачи идут одна за другой, а на их решение не выделяется никаких других ресурсов, кроме уже доступных. И чаще всего в небольшой организации эти самые ресурсы — сам администратор и его рабочее время. Таким образом, очень часто случается ситуация вроде той, когда излишняя нагрузка со стороны одного из отделов приводит к перегрузке корпоративного почтового сервера. Администратор может узнать про все последним, после нескольких дней бездействия ресурса, когда разбирательства уже идут на уровне шефа организации.
Как избежать подобной ситуации?
Конечно, можно приходить утром и, как один мой старый знакомый, проверять доступность веб-сервера своей организации, смотреть на остаток места на разделе диска, в котором хранится почтовая база его организации, смотреть, не попал ли IP-адрес этого самого гейта в CBL-лист и ему подобные системы для борьбы со спамом. Конечно, приведенный список задач далеко не полный. У каждого системного администратора их намного больше. И если учесть, что информационные структуры некоторых коммерческих организаций имеют тенденцию к росту, то даже непосвященному сразу станет понятно, как важна нормально работающая система раннего оповещения для административного персонала ИТ-отдела. Согласитесь, ведь гораздо приятнее иметь возможность получения сообщений, например, на ваш мобильный телефон вместо ручного мониторинга множества сервисов. Разноликость системы, способность к масштабированию
Nagios позволяет отследить разнообразные отказы сетевых сервисов, будь то отсутствие активности вашего SMTP- или POP-сервера, отказы веб-сервера или неполадки на какой-либо из рабочих станций в вашей сети. С помощью механизмов удаленного запуска тестовых процедур вы можете контролировать свободное место и другие критичные для работоспособности параметры вверенных вам вычислительных ресурсов. Возможности этой системы расширяемы и достаточно масштабируемы. Ее можно применять как для мониторинга одного сервера, выпускающего сеть небольшой организации, состоящую всего из трех компьютеров, в Интернет, так и для контроля нескольких десятков компьютеров, выполняющих различные задачи. Для этого изначально в системе введены уровни абстрагирования от отдельных вычислительных ресурсов и пользователей. К примеру, списки хостов и контактов объединены в группы. Это позволяет с помощью минимального количества изменений в конфигурации изменять получателей определенных типов сообщений о недоступности сервисов, что весьма удобно при постоянной ротации административного персонала вашей системы и при учете изменений продолжительности рабочего дня отдельных администраторов. Сложность настройки системы — очевидная плата за ее возможности
Со всеми описанными задачами отлично справляется система контроля доступности сетевых сервисов Nagios. Конечно, не следует ожидать от небольшой статьи подробного руководства по системе, которую сами разработчики не рекомендуют к использованию нетерпеливыми и некомпетентными, предлагая им, впрочем, обратиться за помощью к квалифицированным подрядчикам. Сложность настройки состоит в отсутствии готовых рецептов именно под вашу систему. И следует быть готовым к тому, что, скорее всего, первоначальный запуск системы выдаст вам множество ошибок и предупреждений. Однако правильно настроенная система мониторинга на основе Nagios позволит раз и навсегда держать руку на пульсе ситуации в подконтрольном вам сегменте сети или отделе организации. Таким образом, можно сказать, что все сложности по настройке системы сторицей окупятся при ее эксплуатации. Возможности Nagios
Итак, что же представляет собой эта система? Начнем с краткого перечисления ее возможностей. Nagios позволяет:
- контролировать доступность хостов, сервисов и служб как в Интернете, так и в локальной сети;
- организовывать группировку вычислительных и сетевых устройств по функциональному, географическому и другим признакам;
- создавать уникальные средства опознавания доступности нужного вам параметра операционной системы или устройства (в том числе и на удаленном компьютере или в сети);
- организовывать обработку, анализ и доставку сообщений о критических событиях для определенных типов получателей;
- указывать промежутки времени активности административного персонала, ответственного за получение отчетов о критических событиях в системе;
- проводить анализ сбоев в работе с помощью множества отчетов, предлагаемых веб-интерфейсом системы.
Вначале, конечно же, надо установить Nagios на вашу операционную систему. В отличие от множества поставляемых в рабочем виде пакетов систему мониторинга Nagios надежнее установить с нуля. Дело даже не в том, что такие задачи, как обеспечение бесперебойности, приоритетны и находятся в прямой зависимости от благополучия вашей организации или бизнеса. Планирование и разработка систем обнаружения ошибок — достаточно дорогостоящие мероприятия, и в случае с описываемой системой ничего не значит, что она распространяется на основе GNU/GPL. Да, вы получите готовое решение, которое можно достаточно быстро установить. Но настройка и обкатка этого комплекса неизбежно приведут к затратам вашего времени и средств, что в конечном случае и определит стоимость запуска системы. Конечно, если вы решите связаться с Nagios, то получите большой бонус в том, что называется практически абсолютной переносимостью системы. Иначе говоря, один раз настроив эту систему или, как вариант, разобравшись с ее настройкой с помощью сторонней организации, можно не беспокоиться, что приложенные вами усилия пропадут при очередном обновлении оборудования сервера. Вам необходимо просто еще раз установить систему и перенести несколько текстовых конфигурационных файлов.
Систему можно скачать на официальном веб-сайте проекта Nagios. На момент написания статьи последней версией системы был релиз 1.3.
Установка системы заключается в конфигурировании и компилировании ее исходных текстов. Это выполняется для UNIX командами configure (выполнит настройку файла Makefile для построителя приложений make) и make all. Последняя команда также установит скрипты и веб-файлы приложения в каталог /usr/local/nagios/. После того как файлы будут скопированы, вам необходимо будет прописать Alias в конфигурации вашего веб-сервера, а также указать каталог с исполняемыми скриптами (cgi-bin) с помощью директивы ScriptAlias файла httpd.conf. Тонкостью установки каталога веб-скриптов в Apache является необходимость размещения директивы ScriptAlias вне логического блока <if module Alias>. Это обязательно следует учесть при настройке рабочей конфигурации, иначе веб-панель системы Nagios попросту не будет работать. Пример измененной части конфигурационного файла httpd.conf прилагается на следующем рисунке.
Настройка httpd.conf под Nagios |
Важной частью настройки системы является ограничение доступа к каталогу системы cgi-bin и веб-директории. Один параметр настроечного файла системы (по умолчанию это файл /usr/local/nagios/etc/nagios.conf) позволяет отключить проверку аутентичности пользователя, но этой возможностью настоятельно не рекомендуется пользоваться. Авторизация использует стандартный механизм htpasswd веб-сервера Apache. Таким образом, вам необходимо указать в директивах ScriptAlias и Alias (для Nagios) вашего веб-сервера на возможность разрешить конфигурирование системы доступа с помощью файла .htaccess, располагаемого в директории с веб-панелью Nagios. Каким образом это сделать, вы увидите на прилагаемом скриншоте. После этого вам следует в файл, который является хранилищем аутентификационной информации, добавить пользователей с помощью команды htpasswd.
Указание аутентификации для веб-каталога в .htaccess |
Что если у вас не Apache?
В своей статье я предполагаю, что у вас установлен веб-сервер Apache. Для настройки Nagios для работы с другим веб-сервером рекомендуется внимательно изучить его документацию на предмет определения способа монтирования веб-папки к локальному каталогу веб-сервера либо попросту разместить его веб-файлы в коренном каталоге этого сервера, хоть это и не лучшее с точки зрения безопасности решение. Также необходимо будет выяснить способ указания каталога cgi-bin. Минимальная конфигурация
К сожалению, система имеет достаточно большую (особенно для новичка) сложность настройки. Все сервисные возможности Nagios настраиваются с помощью текстовых конфигурационных файлов. Конфигурирование системы осуществляется с помощью настройки большого количества параметров. Конечно, все они указаны в достаточно подробной документации по системе. Для тестирования минимальной функциональности в дистрибутиве системы идет специальный конфигурационный файл minimal.cfg. Однако, несмотря на это, более рациональным является сразу начинать настройку системы для нормальной работы, нежели проверять ее минимальные возможности. Фактически эта проверка желательна только для первоначального запуска системы в изолированной от сети среде. Настройка Nagios
Итак, в каком порядке следует настраивать отдельные параметры этой системы? Чтобы ориентироваться в процессе конфигурирования Nagios, приведу краткий перечень файлов конфигурации Nagios с описанием их содержимого:
-
nagios.conf — основной конфигурационный файл системы, содержит глобальные настроечные директивы;
-
cgi.conf — в этом файле содержатся настройки веб-интерфейса программы, в том числе указываются необходимость аутентификации при работе с веб-скриптами и права доступа, которые выделены пользователям системы мониторинга;
-
checkcommand.conf — конфигурация сервисных команд, которые являются связующим звеном между ядром системы и внешними сигналами. По умолчанию в этом файле есть команды для проверки большого количества сетевых сервисов, например http- и ftp-серверов, почтовых систем;
-
contactgroups.cfg и contacts.cfg — эти два файла указывают группы получателей сообщений системы мониторинга и отдельных пользователей этой системы соответственно;
-
dependencies.cfg — описание зависимостей возможностей функционирования одного сервиса от активности другого;
-
escalation.cfg — в этой части конфигурации указываются ограничения на получения извещений администраторами системы. Как известно, большое количество сообщений тяжело воспринимается и часто игнорируется. Чтобы такого не случилось, Nagios позволяет ограничить количество извещений про однотипные события. Это позволяет более точно анализировать разнообразные сетевые инциденты;
-
hosts.cfg и hostgroups.cfg — в этих файлах указываются параметры отдельных сетевых устройств и компьютеров, которые необходимо контролировать;
-
resource.cfg — в этом файле можно определить макросы для часто встречающихся характеристик объектов конфигурации, например, здесь можно указать IP-адреса устройств, которые постоянно меняются, для упрощения и автоматизации процесса их мониторинга;
-
timeperiods.cfg — указание временных периодов, в течение которых отсылаются сообщения;
-
services.cfg — в этом файле указывают параметры, которые следует наблюдать, и методы их проверки.
Наиболее важные параметры конфигурации находятся в файле /usr/local/nagios/etc/nagios.cfg. Именно в этом файле и перечислены все остальные имена конфигурационных файлов. Поэтому вы можете легко поменять одно из заданных по умолчанию имен файлов, которые были только что перечислены. Конечно, можно изменить и местоположение этих файлов, но это следует делать, только если все уже настроено. Эта операция, конечно, повысит общий уровень безопасности вашей системы, поскольку взломщику придется искать, где же находятся параметры системы мониторинга, либо позволить быть замеченным.
Поскольку все настройки системы выполняются путем редактирования текстовых конфигурационных файлов, разработчики предусмотрели ряд приемов, с помощью которых можно упростить весь этот процесс. Как уже отмечалось, файл конфигурации можно разделить на отдельные части путем использования директив подключения (ими включены файл hosts.cfg и остальные). Дополнительные же файлы можно разместить в произвольном месте вашей файловой системы. Например, список административного персонала можно вынести в раздел, физически располагающийся на удаленном хранилище данных. Таким образом, можно корректировать некоторые параметры настройки с помощью внешних приложений и еще более увеличить сложность компрометации вашей системы.
Следующей особенностью подсистемы настройки программы является возможность описания сложных параметров с помощью шаблонного механизма. То есть, если в группе параметров необходимо указать определенное значение, его следует вынести в шаблон. При этом вы экономите кучу времени на редактировании конфигурационных файлов и установке множества однотипных параметров. Настройка и проверка конфигурации
После внесения изменений в конфигурационные файлы их следует проверить на предмет ошибок и опечаток. Это следует сделать, поскольку запустить демон сервиса Nagios вы сможете только в том случае, если конфигурационные файлы не содержат ошибок. Процесс проверки выполняется с помощью команды /usr/local/nagios/bin/nagios -c местоположение_nagios.cfg. Ее вывод достаточно красноречиво отображает неправильно установленные или настроенные параметры конфигурационного файла. Для начальной настройки рекомендуется занести в конфигурационные файлы список ваших сетевых устройств и компьютеров, адреса и имена получателей информации, отнести те или иные устройства и пользователей к группам. После этого следует решить, каким образом и в течение какого времени вы будете получать извещения.
Один из отчетов системы Nagios |
В пределах такого небольшого изложения тяжело проанализировать все аспекты применения такой масштабной системы, как Nagios. Да и, как отмечают ее создатели, сложность настройки ее достаточно высока для принятия решения о привлечении к этому процессу внешнего специалиста. Однако все же полезно быть в курсе возможностей системы и иметь общее представление про ее настройку. Единственное, что можно порекомендовать: если вы решились самостоятельно начать настройку системы, наверное, стоит запастись терпением. Конечно, немаловажно подробно документировать все шаги по настройке системы. Также постоянно проверяйте работоспособность конфигурации, желательно после каждого ее изменения. Этот процесс можно значительно упростить с помощью написания простейшего shell-скрипта, запускающего Nagios в режиме тестирования конфигурации. При интенсивной настройке также поможет постоянное архивирование параметров конфигурации системы. Это, по крайней мере, сохранит вашу работу от случайных изменений.
Конечно, в пределах такой небольшой публикации сложно отметить все нюансы настройки такой сложной системы. Следует только отметить, что система Nagios очень гибкая. Вы можете настроить ее именно под свою систему и именно под свои нужды, а это гораздо лучше, чем подстраивать свою работу под чью-то программу.
Ссылки по теме
Статья получена: hostinfo.ru