Как добавить Windows Host на сервер мониторинга Nagios?

Мониторинг

В этой статье описывается, как контролировать «частные» сервисы Windows, такие как загрузка процессора, использование диска, использование памяти, службы и т.д. Для этого нам потребуется установить аддон NSClient ++ на машине Windows. Аддон настраивает прокси-сервер между машиной Windows и Nagios и контролирует фактически службы, обмениваясь данными с плагином check_nt.

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

 

Для мониторинга Windows-машин вам необходимо выполнить несколько шагов:

  • Установите аддон NSClient ++ на машину Windows.
  • Настройте сервер Nagios для мониторинга Windows Machine.
  • Добавьте новые определения host и service для мониторинга машин Windows.
  • Перезапустите службу Nagios.

 

Чтобы сделать это руководство еще более простым, несколько настроек, уже заранее сделаны вместо вас в Nagios:

  • Определение команды check_nt уже добавлено в файл command.cfg. Эта команда определения используется плагином check_nt для мониторинга служб Windows.
  • Шаблон хоста Windows-сервера уже создан в файле templates.cfg. Этот шаблон позволяет добавлять новые определения хостов Windows.

 

Вышеупомянутые два файла «command.cfg» и «templates.cfg» можно найти в каталоге /usr/local/nagios/etc/objects/. Вы можете изменить и добавить свои собственные определения, которые соответствуют вашим требованиям. Но я бы рекомендовал вам следовать инструкциям, описанным в этой статье, именно в таком случае вы будете успешно контролировать свой Windows-хост уже менее чем через 20 минут!

 

Шаг 1. Установка агента NSClient++ на компьютере с Windows

Пожалуйста, используйте приведенные ниже инструкции для установки агента NSClient++ на удаленном хосте Windows. Сначала загрузите последние стабильные версии файлов addon для NSClient++ 0.3.1, которые можно найти по этой ссылке:

http://sourceforge.net/projects/nscplus/

 

Загрузив последнюю стабильную версию, распакуйте файлы NSClient++ в новый каталог C:\NSClient++.

Теперь откройте командную строку MS-DOS с экрана «Пуск» -> «Выполнить» -> «cmd» и нажмите «Ввод» и перейдите в каталог C:\NSClient++.

C:\NSClient++

 

Затем зарегистрируйте службу NSClient++ в системе с помощью следующей команды.

nsclient++ /install

 

Наконец, установите NSClient++ systray с помощью следующей команды:

nsclient++ SysTray

 

Откройте Диспетчер служб Windows и щелкните правой кнопкой мыши на NSClient, перейдите в раздел «Свойства», а затем «Войти» и установите флажок «Разрешить службе взаимодействовать с рабочим столом»:

Install-NSClient++

 

 

Откройте файл NSC.INI, расположенный в каталоге C:\NSClient++, и раскомментируйте все модули, определенные в разделе «modules», за исключением CheckWMI.dll и RemoteConfiguration.dll.

[modules]
;# NSCLIENT++ MODULES
;# A list with DLLs to load at startup.
; You will need to enable some of these for NSClient++ to work.
; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
; * *
; * N O T I C E ! ! ! - Y O U H A V E T O E D I T T H I S *
; * *
; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
FileLogger.dll
CheckSystem.dll
CheckDisk.dll
NSClientListener.dll
NRPEListener.dll
SysTray.dll
CheckEventLog.dll
CheckHelpers.dll
;CheckWMI.dll
;
; RemoteConfiguration IS AN EXTREM EARLY IDEA SO DONT USE FOR PRODUCTION ENVIROMNEMTS!
;RemoteConfiguration.dll
; NSCA Agent is a new beta module use with care!
;NSCAAgent.dll
; LUA script module used to write your own "check deamon" (sort of) early beta.
;LUAScript.dll
; Script to check external scripts and/or internal aliases, early beta.
;CheckExternalScripts.dll
; Check other hosts through NRPE extreme beta and probably a bit dangerous! :)
;NRPEClient.dll

 

Раскомментируйте «allowed_hosts» в разделе «Настройки» и определите IP-адрес своего сервера мониторинга Nagios или оставьте его пустым, чтобы просто разрешить хостам подключаться.

[Settings]
;# ALLOWED HOST ADDRESSES
; This is a comma-delimited list of IP address of hosts that are allowed to talk to the all daemons.
; If leave this blank anyone can access the deamon remotly (NSClient still requires a valid password).
; The syntax is host or ip/mask so 192.168.0.0/24 will allow anyone on that subnet access
allowed_hosts=172.16.27.41

 

Раскомментируйте «port» в разделе «NSClient» и установите порт по умолчанию «12489».

 

Не забудьте разрешить порт «12489» в брандмауэре Windows!

 

[NSClient]
;# NSCLIENT PORT NUMBER
; This is the port the NSClientListener.dll will listen to.
port=12489

 

Наконец, запустите службу NSClient++ с помощью следующей команды:

nsclient++ /start

 

Если вы правильно произвели установку и настройку, вы увидите новый значок на панели задач — желтый круг с черным «М» внутри.

 

 

Шаг 2. Настройка сервера Nagios и добавление хостов Windows

Теперь войдите в Nagios Server и добавьте некоторые определения объектов в конфигурационные файлы Nagios для мониторинга новой машины Windows. Откройте файл windows.cfg для редактирования с помощью редактора Vi:

[[email protected]]# vi /usr/local/nagios/etc/objects/windows.cfg

 

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

###############################################################################
###############################################################################
#
# HOST DEFINITIONS
#
###############################################################################
###############################################################################

# Define a host for the Windows machine we'll be monitoring
# Change the host_name, alias, and address to fit your situation

define host{
use windows-server ; Inherit default values from a template
host_name winserver ; The name we're giving to this host
alias My Windows Server ; A longer name associated with the host
address 172.31.41.53 ; IP address of the host
}

 

 

Следующие сервисы уже добавлены и включены в файл windows.cfg. Если вы хотите добавить еще несколько других определений служб, которые необходимо отслеживать, вы можете просто добавить эти определения в этот же файл конфигурации. Обязательно измените имя хоста для всех этих служб с именем хоста, определенным на предыдущем шаге.

define service{
use generic-service
host_name winserver
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}

Add the following service definition to monitor the uptime of the Windows server.

define service{
use generic-service
host_name winserver
service_description Uptime
check_command check_nt!UPTIME
}

Add the following service definition to monitor the CPU utilization on the Windows server and generate a CRITICAL alert if the 5-minute CPU load is 90% or more or a WARNING alert if the 5-minute load is 80% or greater.

define service{
use generic-service
host_name winserver
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}

Add the following service definition to monitor memory usage on the Windows server and generate a CRITICAL alert if memory usage is 90% or more or a WARNING alert if memory usage is 80% or greater.

define service{
use generic-service
host_name winserver
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}

Add the following service definition to monitor usage of the C:\ drive on the Windows server and generate a CRITICAL alert if disk usage is 90% or more or a WARNING alert if disk usage is 80% or greater.

define service{
use generic-service
host_name winserver
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}

Add the following service definition to monitor the W3SVC service state on the Windows machine and generate a CRITICAL alert if the service is stopped.

define service{
use generic-service
host_name winserver
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}

Add the following service definition to monitor the Explorer.exe process on the Windows machine and generate a CRITICAL alert if the process is not running.

define service{
use generic-service
host_name winserver
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}

 

 

Наконец, раскомментируйте файл windows.cfg в /usr/local/nagios/etc/nagios.cfg.

[[email protected]]# vi /usr/local/nagios/etc/nagios.cfg

 

# Definitions for monitoring a Windows machine
cfg_file=/usr/local/nagios/etc/objects/windows.cfg

 

Теперь, проверьте конфигурационные файлы Nagios на наличие ошибок.

[[email protected]]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

 

Total Warnings: 0
Total Errors: 0

Things look okay - No serious problems were detected during the pre-flight check

 

 

Если процесс проверки выдает сообщения об ошибках, исправьте эти ошибки чтобы процесс проверки завершился без сообщений об ошибках. Как только вы исправите все ошибки, перезапустите службу Nagios.

[[email protected]]# service nagios restart

Running configuration check...done.
Stopping nagios: done.
Starting nagios: done.

 

 

Вот и всё. Теперь перейдите в веб-интерфейс Nagios Monitoring через «http://Your-server-IP-address/nagios» или «http://FQDN/nagios», укажите имя пользователя «nagiosadmin» и пароль. Убедитесь, что удаленный узел Windows добавлен и вы можете за ним наблюдать.

Nagios-Monitor-Windows-Host

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Мониторинг

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Most Viewed Posts
20-Command-Line-Tools-to-Monitor-Linux-Performance

20 инструментов командной строки для мониторинга производительности Linux

1,945
5 комментариев
Действительно трудной задачей для каждого администратора является ежедневное отслеживание и отладка проблем производительности системы Linux. Будучи администратором Linux более 5 лет…
Меню