Posts tagged ‘мониторинг Windows’

Centreon+Nagios: мониторинг всего

Centreon
Когда-то, целых шесть лет назад (блин, вот это я старый) я написал статью, которую назвал Сага о Nagios: Почти центурион (Centreon) в которой я рассказывал, что такое Centreon, почему он мне нравится и вообще облегчает жизнь. Три года назад я написал статью как по быстрому установить Centreon из исходников и с тех пор про Centreon ничего не писал, да и вообще не доводилось мне пересекаться с Nagios… Но вот полтора года армии закончились, и мне снова понадобился Nagios. И естественно я пошел на сайт centreon.com… Следующие две недели я спал плохо, ел мало и вообще был полностью погружен в изучение нового и прекрасного. Это уже не просто надстройка над Nagios, это самостоятельная система мониторинга вышедшая далеко за пределы Nagios, развившая его идеи в лучших традициях и к тому же абсолютно бесплатная.

Continue reading ‘Centreon+Nagios: мониторинг всего’ »

Centreon+Nagios: строим графики

centreon_graph

Сегодня мы поговорим о том, что любят все, в особенности начальники – о графиках. Среднестатистического начальника хлебом не корми, дай ему в график посмотреть, что ему собственно нужно обязательно дать, особенно если вы хотите убедить его в том, что на систему мониторинга силы и время тратить нужно и полезно. Кроме шуток, есть абсолютно реальный личный опыт, когда внедрение системы мониторинга было одбрено после того как я показал пару скриншотов с графиками из Centreon…и это была крупная компания а все туда же. В общем графики строить Centreon умеет и даже довольно неплохие, давайте я расскажу как (не обошлось без рубрики “Nagios vs Zabbix”, где я хвалю Zabbix).

Continue reading ‘Centreon+Nagios: строим графики’ »

Nagios plugins: альтернативный способ оповещения о проблемах (nagstatmon)

Задался я недавно целью прикрутить мониторинг не только production дата-центра, но и серверов локального офиса. Офис не большой, всего 30 сотрудников и примерно 6 серверов + немного железа для телефонии. Поднимать Centreon не хотелось т.к. сервисов чуть наскребалось на 30 штук, поставил чистый Nagios на наш FreeBSD`шный гейт. Сервисы и хосты вроде сконфигурировал, но вот с системой оповещений возится не хотелось, прикручивать SMS/E-Mail/Jabber оповещения желания не было. Немного пошарив в интернете нашел маленький, но гордый проект nagstatmon.

Что это?

Nagstatmon это утилита которая обращается к web интерфесу Nagios и вывод статус сервисов и хостов в трее или в плавающем окне. Еще более приятным моментом является то, что nagstatmon имеет порт как для Windows так и для Linux, пакеты .deb и .rpm и конечно исходники. Все это можно найти тут.

Как пользоватся?

Для начала нужно поставить :). На мое удивление в Debian не оказалось такого пакета(сам в шоке), поэтому придется ставить из пакетов которые есть на сайте или из исходников. Как ставить описывать не буду, перейдем сразу к настройке.

Nagstatmon-1

На первой закладке единственного окна программы можно настроит список серверов с которых будет собираться информация, и интервал обновления информации.

Nagstatmon-2

Далее вы можете настроить формат отображения информации, как и где она будет отображаться

На последней закладке вы можете настроить фильтры отображаемой информации, т.е. к примеру убрать отображение сервисов которые не работают по причине выполнения мейтененс процедур.
Ну вот мы уже все и настроили, можно нажимать “OK”. По умолчанию nagstatmon выводит всю информацию в плавающем окошке, хотя можно заставить его сидеть в трее.

nagstatmon-tray

Заключение

Ну вот, что мог то описал :). Nagstatmon отлично подходит для оповещения о проблемах в небольшой сети и при малом количестве сервисов.

P.S.

Как оказалось Nagstatmon НЕ ПОДХОДИТ для работы с крупными системами, при попытке показать статус Nagios`а на ~1600 сервисов программка зависла :(.

Сага о Nagios: чекаем в труднодоступных местах (NSClient++)

NSClient++

В прошлой статье (http://stproject.blogspot.com/2009/02/nagios-nrpe.html) я рассказывал о том как можно проверять удаленные *nix хосты с помощью NRPE. С помощью NRPE можно проверять Unix системы, но как показывает практика мир не идеален и приходиться работать еще и с Windows.
Сегодня речь пойдет о мониторинге Windows серверов с помощью Nagios, NSClient++ и команды check_nrpe.

Немного истории

Изначально для проверки Windows серверов предлагалось использовать SNMP или утилиту NSclient. Запас возможностей NS был очень мал, его приходилось “подстраивать” под каждую конкретную версию/локализацию Windows, к тому же в мире *nix программа написанная на Delphi будет использоваться с подозрениям, из религиозных соображений :). В общем проект со временем заглох и перестал развиваться (последняя версия считает Windows 2000 новинкой).

Со временем появилась альтернатива: NSClient++, он был написан на C++, обладал внушительным арсеналом встроенных проверок и возможностью создания новых, работающим с несколькими протоколами и т.д.

Общая информация

На данный момент NSClient++ поддерживаются следующие ОС:

  • NT4 (SP5?)
  • Windows 2000 W2K
  • Windows XP
  • Windows 2003
  • Windows Vista

[мной протестирован на Windows Server 2008 x86/64 в основном работает]

Поддерживаемые архитектуры:

  • Win32
  • x64 (AMT64/EMT64)
  • IA64 (Itanium)

Поддерживаемые протоколы:

  • nsclient (устаревший)
  • NRPE

Установка NSClient++

Начинаем как всегда со скачки NSClient++ с официального сайта: http://trac.nakednuns.org/nscp/downloads
Будьте внимательны, выберите последнюю версию для своей архитектуры, лучше всего выкачивать MSI архивы, т.к. в будущем можно автоматизировать процесс установки.

Устанавливаем клиент со стандартными настройками, возможно вам стоит включить NSClient++-tray, этот модуль будет показывать в трее иконку по клику на которую можно посмотреть лог работы клиента.
В процессе установки по идее не должно быть ошибок или подводных камней, поэтому перейдем к самому интересному.

Настройка NSClient++

Если вы ставили NSClient++ со стандартными параметрами, то файл конфигурации должен находиться по адресу: C:\Program Files\NSClient++\SNC.ini

Для редакторования конфига лучше всего использовать какой-нибудь текстовый редактор с подсветкой синтаксиса, т.к. от количества коментариев может конфиг становиться почти нечитабельным.
Формат файла как у типичного ini файла Windows, конфиг разбит на категории [category name], параметры описываются по правилу “varible=value”.

[modules]
В этом разделе описывается какие модули будут включены в NSC++ (по умолчанию все выключены). Включить/выключить модуль можно убрав или поставив комментарий перед названием модуля.

Я не буду описывать все возможные модули, только те которые в первую очередь необходимы.

FileLogger.dll – модуль “пишущий” лог проверок
CheckSystem.dll – модуль для проверки основных параметров системы
CheckDisk.dll – модуль для проверки дисков
NRPEListener.dll – модуль “прослушивания” порта “NRPE” (позволяет проверять с помощью команды check_nrpe)
SysTray.dll – модуль который показывает иконку в трее для управления NSClient++
CheckEventLog.dll – модуль позволяющий проверять EventLog

эти модули можно включить убрав напротив них комментарии.

[Settings]

allowed_hosts – список хостов с которых будет производиться проверка (хосты прописываются через запятую).

use_file – если равен “1”, то конфигурацию для NSClient++ нужно брать из этого ini файла, если “0” то параметры будут перенесены в реестр (поверьте удобнее 1 :)).

[NRPE]

секция отвечает за настройки модуля прослушивания NRPE
port – порт который будет слушать NSClient++ (по умолчанию 5666)
allow_arguments – если >0 значит команды проверки млгут использовать аргументы, в виде $ARAG1, $ARG2…
use_ssl – если “1” то использовать SSL если “0”, то нет (если SSL выключен, то команда check_nrpe должна выполняться с опцией “-n”)

[NRPE Handlers]

здесь можно описать команды в стиле NRPE:

check_hello=scripts\hello.bat

Папка “scripts” должна должна быть создана в папке с установкой NSCleint++ (C:\program Files\NSClient++\).

После окончания настройки перезагрузите сервис NSClient++

net stop nsclientpp
net start nsclientpp

Настройка Nagios

Конфигурирование проверок хостов с NSClient++ ничем не отличается от NRPE.

Объявление команды для Nagios (“-n при выключенном SSL”):

define command{
command_name                    check_nsc_load
command_line                    $USER1$/check_nrpe -n -H $HOSTADDRESS$ -c checkCPU -a MaxWarn=89% MaxCrit=90% time=5m ShowAll
}

Описываем сервис:

define service{
host_name                               win-2008-server
service_description             LOAD
use                             LOAD-service
check_command                   check_nsc_load
}

Все можем пользоваться.

Вот список некоторых команд с параметрами (полный список)

Max – максимум
Min – минимум
Warn – предупреждение
Crit – критический
Free – свободно
Used – импользовано
ShowAll – если есть то выводиться более подробная информация о проверке

CheckDriveSize
Проверка диска/дисков.

Аргументы:

MaxWarnFree
MaxCritFree
MinWarnFree
MinCritFree
MaxWarnUsed
MaxCritUsed
MinWarnUsed
MinCritUsed
Drive – буква диска, если опустить то проверяются все диски
FilterType – занчения, FIXED, CDROM, REMOVABLE, REMOTE (по умолчанию FIXED)
CheckAll – проверить все диски
CheckAllOthers – проверить все диски в соответствии с Filter исключая те что были прописаны в Drive.

CheckCPU
Проверка загруженности CPU.

warn – процент загруженности
crit – процент загруженности
Time – время за которое считаеться загрузка (10m, 20s, 1h)
nsclient – режим совместимости с nsclient

CheckMem
Проверка памяти.

Показатели в %:
MaxWarn
MaxCrit
MinWarn
MinCrit

ShowAll – подробный вывод
type – (page, paged, virtual, physical), page – подкачка, physical – физической.

CheckServiceState
Проверка состояния системного сервиса.

ShowFail – если есть, то выводяться только те сервисы которые “не запустились”
service=state – поле “service” имя сервиса (лучше всего брать в ординарные кавычки ” ‘ “) можно взять и Start->Run->srevices.msc

CheckAll – проверить что все сервисы у которых тип запуска “Auto start” запущены
exclude – имя сервиса исключаемого из checkAll
ShowAll – подробный режим


Проверка состояния процесса в памяти.

ShowAll – подробный режим
process=state – process – имя процесса, state – состояние (notepad.exe=started)
ignore-perf-data – не выдавать performance-date
(Max|Min)(Warn|Crit)Count – количество процессов

Полный список команд и параметров http://trac.nakednuns.org/nscp/wiki/CheckCommands