Top.Mail.Ru

Мониторинг WEB сервера c помощью Zabbix

В данном видео мы разберёмся, как мониторить WEB сервер IIS с помощью системы Zabbix, причем нам не придется создавать шаблон с нуля. Так как в Zabbix уже есть два шаблона, которые помогают нам отслеживать состояние веб-сервера IIS.

В течении данного урока мы:

  • - посмотрим макросы шаблона;
  • - разберем изменение прослушиваемого порта;
  • - просмотрим элементы хоста;
  • - переименуем триггеры;
  • - назначим шаблон хосту;
  • - разберемся с зависимостями от других триггеров;
  • - посмотрим предварительные обработки;
  • - проверим работу Zabbix шаблона.
Запись урока на YouTuBe



Запись урока во ВКонтакте

Запись урока на RuTuBe

Как мониторить WEB сервер IIS c помощью Zabbix?

Откроем конфигурирование шаблонов и отфильтруем шаблоны по слову IIS.

Откроем конфигурирование шаблонов и отфильтруем шаблоны по слову IIS.

И как мы видим, я вас не обманул в Zabbix и в правду есть два шаблона для мониторинга web сервера IIS. И разница в данных шаблонах, только в том, что один шаблон IIS by Zabbix agent использует пассивные проверки, а IIS by Zabbix agent active использует активные проверки.

Давайте откроем шаблон с пассивными проверками и посмотрим, что у него есть.

шаблон с пассивными проверками

Как мы видим у нас есть:

  • - теги
  • - макросы
  • - сопоставление значений.

Просмотр макросов шаблона

Давайте посмотрим на вкладку макросы.

И как мы можем видеть, в данном шаблоне есть 7 макросов и самый интересный макрос, который может быть вам придется когда-нибудь изменить – это прослушиваемый порт.

прослушиваемый порт

По умолчанию web сайты работают на 80 или 443 порту, но может быть ситуация, когда вам нужно на один IP адрес повесить несколько разных служб или сайтов и понятное дело на один порт вы их повесить не сможете, но без проблем сможете раскидать на разные порты.

Окей, теперь давайте посмотрим элементы данного хоста.

Просмотр элементов хоста

Как мы видим, у нас достаточно много элементов, аж целых 27 штук. Разбирать мы их не будем, но посмотрим, на те 4е элемента, которые имеют триггеры.

  • - Параметр IIS: Uptime - время безотказной работы IIS сервера.
    И как мы видим у данного элемента есть информационный триггер, который сообщает нам, что IIS сервер был перезапущен.
  • - Windows Process Activation Service (WAS) - состояние службы активации процессов Windows (WAS).
    Служба активации процессов Windows (WAS) является ключевым компонентом в IIS 7ой версии и основной задачей WAS является управление пулами приложений.
    Как мы видим данный элемент имеет триггер высокой важности, что является логичным решением.
  • - World Wide Web Publishing Service - состояние службы публикации в интернет (W3SVC) 
    Данная служба обеспечивает подключение к Интернету и администрирование веб-сайтов через оснастку IIS.

И как мы видим триггер так же имеет высокую важность.

- IIS: {$IIS.PORT} port ping - проверка пинг порта

  • - IIS: {$IIS.PORT} port ping - проверка пинг порта

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

Просмотр и переименование триггеров

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

Открываем триггер «IIS: has been restarted» и меняем на:

  • IIS: был перезапущен
  • IIS: был перезапущен (uptime < 10м)
  • Uptime составляет менее 10 минут.

IIS: has been restarted

Открываем триггер «IIS: Port {$IIS.PORT} is down» и меняем на «IIS: порт {$IIS.PORT} не доступен»

Открываем триггер «IIS: The World Wide Web Publishing Service (W3SVC) is not running» и меняем на^

  • IIS: Служба публикации в интернете (W3SVC) не запущена
  • Служба публикации в интернете (W3SVC) не находится в запущенном состоянии. IIS не может запуститься.

Открываем триггер «IIS: Windows process Activation Service (WAS) is not running» и меняем на:

  • IIS: Служба активации процессов Windows (WAS) не запущена
  • Служба активации процессов Windows (WAS) не находится в запущенном состоянии. IIS не может запуститься.

Назначение шаблона хосту

Шаблон подправили, теперь давайте назначим его нашему хосту, пусть это будет SRV-1C-01, так как на данном хосту у меня установлен сервер IIS. Назначаем, для этого переходим в конфигурирование хостов. Выбираем наш хост SRV-1C-01.

Добавляем еще один шаблон, а именно IIS by Zabbix agent и обновляем наш хост (Update)

Перезапуск кэша конфигурации

Так как наш хост управляется прокси сервером, давайте перезапустим кэш конфигурации.

zabbix_proxy -R config_cache_reload

Отлично, кэш перезагружен.

Возвращаемся в Zabbix и видим, что теперь у хоста есть еще один шаблон мониторинга веб сервера IIS.

Проверка работы Zabbix шаблона

Давайте проверим работу данного шаблона. Для этого на хосте остановим одну из важных служб IIS (SRV-1C-01  \ запускаем оснастку службы \ cmd \ services.msc \ Служба активации Windows и служба веб-публикаций \ ПКМ \ Остановить).

И как мы видим, что работы службы активации напрямую зависит от службы веб-публикаций и если остановить одну службу, то остановиться обе.

Возвращаемся в Zabbix. И переходим в мониторинг проблем.

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

Так же нам пришло уведомление о данной проблеме. И опять же, только одно уведомление о проблеме со службой активации процессов.

Вы можете спросить меня, почему? На самом деле ответ достаточно прост. И чтобы понять почему так происходит, нам нужно внимательнее посмотреть на триггер, который сообщает о проблеме со службой публикации. Давайте откроем триггер IIS: Служба публикации в интернете не запущена (W3SVC).

И как мы можем видеть, у данного триггера, есть зависимость.

Зависимости от других триггеров в Zabbix

Зависимость от другого триггера, а именно от службы активации процессов. По поводу зависимостей мы можем подробно почитать в документации Zabbix.

Тут приводиться хороший пример зависимости триггеров. Советую вам ознакомиться. Возвращаемся в Zabbix.

Как вы помните, служба активации процессов Windows, автоматом гасит службу публикации в интернете. Поэтому в данном триггере добавлена зависимость от службы активации, для того чтобы Zabbix не отправлял два уведомления. Так как логично, если не работает служба активации, то не работает и служба публикации. И в такой ситуации если обе службы не доступны, то по данному триггеру произойдет задержка и не будет отправлено уведомление, так как отправиться основное уведомление про службу активации.

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

Давайте запустим обе службы обратно (SRV-1C-01  \ запускаем оснастку службы \ cmd \ services.msc \ Служба активации Windows и служба веб-публикаций \ ПКМ \ Запустить).

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

Окей, переходим в мониторинг проблем и ждем минуту, чтобы решилась и проблема со службой публикации.

Прошло где-то 3-4 минуты и на удивление мы до сих пор видим, что у нас сохранена проблема со службой публикации и не как не решается, хотя мы точно знаем, что запустили обе службы.

На самом деле это нормально. И данная проблема решиться через 10 минут, ну уже через 5. Вы спросите почему так?

Все дело в том, что так настроен данный элемент данных. Давайте посмотрим на данную настройку. Переходим в конфигурацию шаблонов и открываем элементы данных у шаблона IIS by Zabbix agent, находим интересующий нас элемент данных.

Просмотр предварительной обработки

IIS: World Wide Web Publishing Service (W3SVC) state

И видим, что у данного элемента данных, настроена какая-то предварительная обработка. Давайте посмотрим на нее.

И как мы видим у нас настроена обработка, которая называется отбрасывать не изменившееся с периодическим контролем и установлено значение в 10 минут.

Наверное, не совсем понятно, что это такое. Чтобы разобраться в данном вопросе, нам поможет официальная документация Zabbix.

Discard a value if it has not changed within the defined time period (in seconds) - отбросить значение, если оно не изменилось в течение заданного периода (в секундах).

If a value is discarded, it is not saved in the database and - если значение отбрасывается, оно не сохраняется в базе данных и Zabbix сервер не будет знать, что это значение было получено. Выражения триггеров не будут пересчитываться, в результате не будут созданы/закрыты проблемы по связанным триггерам. Так как функции триггеров будут работать только на основе данных, которые фактически сохраняются в базе данных.

То есть теперь мы понимаем, что если в течение 10 минут значения были одинаковые, то они не записывались в базу данных, а последнее десятое значение записалось и именно в этот момент сработал триггер. И мы получили, то, что проблема стала решена.

Как вы могли видеть, мне только что пришло уведомление о решение данной проблемы.

Так же мы можем перейти в мониторинг проблем и уведет, что статус данный проблемы перешел в состояние – решено.

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

Но, если вы что-то не поняли или просто хотите развиваться в теме мониторинга, хотите научиться

  • самостоятельно разворачивать и настраивать Zabbix с нуля;
  • добавлять хосты;
  • добавлять элементы;
  • триггеры;
  • графики;
  • пороговое значения;
  • настраивать шифрование между агентами;
  • читать журналы Windows;
  • запускать все возможные скрипты на удаленных машинах с помощью Zabbix;
  • и многое – многое другое.

То приглашаю всех вас на свой курс под названием «Zabbix 6. Мониторинг IT инфраструктуры предприятия».

Где мы вместе с вами за 2 месяца шаг за шагом, от простого к сложному изучим систему мониторинга Zabbix. И после прохождения данного курса, вы с легкостью сможете развернуть Zabbix с нуля в своей компании и начать мониторинг своей сети.

У данного курса, есть бесплатный демо доступ, благодаря которому вы можете оценить подачу и ценность материла. Переходите по ссылке и начинайте учиться бесплатно уже сегодня!