Глава 7
define service{
use local-service
host_name localhost
service_description Current Users
check_command
check_local_users!20!50
}
# Сервис, проверяющий кол-во запущенных процессов в текущий момент.
# Обычное предупреждение — если больше 250 процессов, критическое —
# если больше 400
define service{
use local-service
host_name localhost
service_description Total Processes
check_command
check_local_procs!250!400!RSZDT
}
# Проверяем загрузку локальной машины
define service{
use local-service
host_name localhost
service_description Current Load
check_command
check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}
# Проверяем использование свопа на локальной машине
# Обычное предупреждение — если осталось менее 20% свободного свопа
# Критическое — если меньше 10%
define service{
use local-service
host_name localhost
service_description Swap Usage
check_command
check_local_swap!20!10
}
# Проверяем доступность SSH-сервиса на локальной машине
# Уведомления по умолчанию отключены, поскольку не всегда
# сервис SSH запущен
define service{
use local-service
host_name localhost
service_description SSH
check_command
check_ssh
notifications_enabled 0
}
Мониторинг информационной системы
315
# Проверяем доступность HTTP-сервиса на локальной машине
# Уведомления по умолчанию отключены, поскольку не всегда
# сервис HTTP запущен
define service{
use local-service
host_name localhost
service_description HTTP
check_command
check_http
notifications_enabled 0
}
Дополнительные примеры вы найдете в файле
objects/templates.cfg-sample
. Теорети-
чески все объекты сети можно описать в одном конфигурационном файле, который
потом нужно прописать в файле
nagios.cfg
, но такая практика не очень удобна.
Гораздо удобнее для каждого объекта создать отдельный файл.
Вот, собственно, и все. Осталось только запустить Nagios:
# /usr/local/etc/rc.d/nagios start
Мониторинг в Nagios серверов Windows
Для мониторинга в Nagios систем на основе Windows разработано несколько раз-
личных агентов (плагинов). Наиболее часто используемыми из них являются
NSClient++ (
http://www.nsclient.org/
), NC_NET (
http://sourceforge.net/projects/
nc-net
) и OpMonAgent (
http://www.opservices.com/download/
). Функционал этих
агентов практически идентичен, поэтому мы рассмотрим использование агента
NSClient++, являющегося, на взгляд авторов, наиболее популярным из упомянутых.
Агент NSClient++ можно загрузить как в виде архива (
*.zip
), так и установочным
файлом (
*.msi
), причем для 32- и 64-битных платформ следует использовать соот-
ветствующие версии агента. Если вы загрузили архив, то его необходимо распако-
вать в желаемую папку и установить службу Windows командой:
NSClient++ -install
Удобнее воспользоваться MSI-файлом, поскольку в этом случае мастер установки
сразу внесет в конфигурацию агента часть настроек по результатам ваших ответов
(рис. 7.7).
После установки необходимо разрешить взаимодействие службы с рабочим столом,
для чего следует открыть свойства службы:
Панель управления | Администриро-
вание | Службы
, найти службу
NSClientpp...
(полное название зависит от версии),
открыть ее свойства и включить опцию
Разрешить взаимодействие с рабочим
столом
.
Перед запуском службы следует
обязательно
проверить параметры ее работы. Для
этого откройте файл
nsc.ini
(в папке установки агента) и снимите комментарий с тех
316
Глава 7
строк, которые соответствуют модулям программы, предполагаемым к использова-
нию для мониторинга системы. Достаточно подробные описания параметров кон-
фигурации приведены в документации плагина по адресу:
https://docs.nsclient.org/
.
При настройке конфигурации следует исходить из принципа, что не следует вклю-
чать больше опций, чем это необходимо в текущий момент. Например, если вы
не планируете получать информацию посредством WMI-запросов, то и не стоит
загружать модуль
CheckWMI.dll
(работа с этим модулем описана чуть далее).
Рис. 7.7.
Настройка параметров программы NSClient++. Настройки пользователя,
введенные на этапе установки, будут сохранены программой в файле конфигурации
Обратите внимание на возможность запуска агента в
диагностическом режиме
.
При этом вы сможете как увидеть потенциальные ошибки в конфигурационном
файле, так и отладить собственные запросы. Для запуска NSClient++ в диагности-
ческом режиме достаточно в командной строке набрать:
NSClient++ /test
В окне
NSClient++
вы сможете, во-первых, увидеть результаты загрузки всех мо-
дулей, а во-вторых, вводить собственные команды и видеть результаты выполнения
как запросов со стороны сервера Nagios, так и локальных команд. На рис. 7.8 пока-
зано окно отладки плагина, в котором введена команда
CheckDriveSize ShowAll
MinWarnFree=20% MinCritFree=10% Drive=D:\
и виден ответ системы.
Плагин NSClient++ позволяет контролировать параметры, приведенные в табл. 7.1.
Подробности его использования детально описаны в технической документации
(см. ранее приведенную ссылку) и по имеющимся там примерам легко составить
собственные команды контроля состояния Windows.
Мониторинг информационной системы
317
Рис. 7.8.
Окно программы NSClient++ в диагностическом режиме
Таблица 7.1.
Параметры Windows, контролируемые NSClient++
Параметр Описание
CheckFileSize
Контролирует размер файла или папки
CheckDriveSize
Контролирует размер свободного или использованного простран-
ства жестких или сменных дисков (тип диска можно выбирать
в команде)
CheckFile
Контролирует файлы по критериям даты их создания, времени
последнего доступа, записи в файл или по размеру файла
CheckEventLog
Ищет сообщения об ошибках в файле журнала. Поскольку таких
сообщений обычно много, использование этого вида контроля
сильно загружает систему
CheckCPU
Контролирует загрузку процессора в течение задаваемого перио-
да времени
CheckUpTime
Контролирует время работы системы
CheckServiceState
Контролирует состояние службы Windows (критическое сообще-
ние формируется в случае несоответствия фактического состоя-
ния службы заданному в качестве параметра в команде). Можно
контролировать все службы одновременно с заданием исключе-
ния. В качестве названия службы надо указывать то, которое
отображается в свойствах службы
CheckProcState
Контролирует состояние процессов Windows. Фактически позво-
ляет наблюдать за состоянием процесса, найденного по имени
исполняемого файла. Можно контролировать также по числу
одновременно запущенных процессов
CheckMem
Контролирует состояние виртуальной и физической памяти;
доступен параметр количества записанных страниц памяти
(commited pages)
318
Do'stlaringiz bilan baham: |