< meta name="referrer" content="origin">
Home » Linux » Мониторинг web сайта в Zabbix

Мониторинг web сайта в Zabbix

Продолжаю свой цикл статей по настройке системы мониторинга на базе популярного бесплатного продукта. В этот раз мы подробно рассмотрим вопрос настройки мониторинга web сайта в подготовленном ранее zabbix сервере. В качестве примера возьмем какой-нибудь сторонний ресурс и проверим на нем предложенный стандартный функционал.

Данная статья актуальна и для версии zabbix 3.0, несмотря на то, что есть некоторые отличия в веб интерфейсе на картинках. Если вы хотите обновить версию, вот инструкция — обновление zabbix 2.4 до 3.0

Введение

Для мониторинга веб сайта мы будем использовать стандартный функционал zabbix. Вот параметры, за которыми будем наблюдать:

  • доступность сайта
  • время ответа сайта в миллисекундах
  • скорость доступа к сайту

Для этого мы выполним следующую последовательность действий:

  1. Добавим наблюдаемый сайт в систему.
  2. Настроим сценарии проверки.
  3. Создадим графики с данными.
  4. Добавим триггер на проверку доступность сайта.

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

Добавление web сайта к мониторингу

Добавление сайта принципиально не отличается от добавления любого другого хоста. Идем в Configuration -> Hosts и жмем Create host:

добавление в zabbix сайта для мониторинга

Открывается стандартная форма. Вводим название хоста. Выбираем любую группу, для удобства лучше создать отдельную для сайтов. У меня ее нет, я просто выбираю группу Templates. Для примера будем мониторить сайт yandex.ru. В поле DNS name пишем yandex.ru, все остальное оставляем как есть и жмем Add:

заполнение параметров сайта

В списке хостов появился новый с именем Yandex.ru.

Создание сценариев проверки сайта

Теперь нам необходимо настроить непосредственно сам мониторинг сайта. Для этого на той же странице со списком хостов, напротив нашего нового нажимаем на ссылку Web:

добавление сценария проверки сайта

В разделе web сценариев у нас пусто, создаем новый сценарий проверки, нажав на Create scenario:

создание сценария проверки сайта

На первой вкладке Scenario заполняем необходимые поля:

  • Имя сценария.
  • Интервал проверки.
  • Агент, от имени которого будет выполняться проверка:

настройка сценария мониторинга сайта

Переходим на вкладку Steps и нажимаем там на Add. Откроется форма, заполняем ее. Указываем:

  • Имя шага сценария.
  • Адрес страницы для проверки.
  • В строку Required string вводим какое-нибудь слово или фразу, которая присутствует на проверяемой странице. По наличию этой фразы система будет принимать решение о доступности сайта. Возьмем для примера слово Яндекс, которое присутствует в правом нижнем углу сайта.
  • Указываем необходимый код ответа сервера, который будет означать, что все в порядке — 200:

добавление шагов мониторинга сайта

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

прикрепление сценария к хосту

Теперь нужно подождать пару минут, чтобы стали поступать новые данные проверки. Посмотреть их, как обычно, можно в разделе Monitoring -> Latest data. Выбираем наш хост и проверяем данные мониторинга:

мониторинг сайта в zabbix

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

Настройка графиков мониторинга веб сайта

Тут нет ничего нового, все, как обычно. Идем снова в Configuration -> Hosts и жмем Graphs напротив нашего хоста:

добавление графика мониторинга сайта

Нажимаем на Create graph:

создание графика мониторинга сайта

И заполняем необходимые поля:

параметры графика мониторинга сайта

Нажимаем на Add и добавляем источник данных:

добавление источника данных к графику в zabbix

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

просмотр графика в zabbix

Посмотреть на график можно тут же на вкладке Prewiew. Когда закончите с настройкой, нажимаете Add.

По аналогии добавляете график скорости доступа к сайту, выбирая в качестве источника данных Download speed for scenario «yandex.ru»:

создание графика скорости доступа к сайту

Полезного тут больше нечего рисовать. Двух графиков достаточно.

Оповещение о недоступности сайта

Теперь добавим триггер, который будет срабатывать при недоступности сайта. Чтобы получать оповещения об этом событии, их необходимо настроить. Как настроить оповещения zabbix на email я рассказывал отдельно. Рекомендую ознакомиться и сделать соответствующие настройки. Эту тему я не буду сейчас поднимать, переходим сразу к реализации.

Опять идем в раздел Configuration -> Hosts и нажимаем на Triggers напротив нашего хоста. Открывается стандартная страница с пустым списком, нажимаем справа Create trigger:

добавление триггера в zabbix

Заполняем необходимые поля:

создание триггера в заббикс

И жмем напротив Expression на кнопку Add. Открывается форма для описания триггера. Заполняем, как показано на картинке:

параметры триггера в zabbix

Эти параметры означают, что если в последних трех проверках значение параметра web.test.fail не будет равно 0, что означает доступность сайта, то срабатывает триггер. Проверяем данные и жмем Add:

добавление триггера

Теперь нам нужно проверить работу триггера. Для этого надо сделать сайт yandex.ru недоступным. Я просто зайду на сервер и добавлю в файл hosts строку:

127.0.0.1 yandex.ru

Вы можете выбрать какой-то еще способ. Если это ваш сайт, можете его погасить для теста 🙂

Странно, но способ с hosts у меня не сработал. Не знаю почему, не стал долго разбираться. С консоли сервера я не мог скачать страничку яндекса, но заббикс каким-то образом это делал. Не помог даже его перезапуск. В итоге пришлось просто на время отключить dns сервер, чтобы добиться срабатывания триггера.

Ждем прохождения трех проверок и проверяем. Для этого открываем Dashboard и смотрим на статусы хостов:

предупреждение о недоступности сайта

Все в порядке, триггер сработал. Я включил обратно dns сервер, и стал ждать следующего срабатывания с информацией о восстановлении соединения. Все в порядке, триггер сработал еще раз и мне прилетело на почту об этом уведомление:

оповещение о недоступности сайта

Вот и все, мониторинг веб сайта работает, параметры доступа фиксируются, оповещение о доступности сайта настроено. Для полноты картины можно создать Screen с выводом всех необходимых параметров на один экран. Его настройки уже будут зависеть от конкретной ситуации и тех данных, которыми вы располагаете. К примеру, если у вас настроен мониторинг веб сервера, то можно разместить рядом графики его загрузки и параметры доступа к сайту. Туда же можно добавить загрузку самого сервера по процессору и памяти и вывести график использования сетевого интерфейса.

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

Заключение

Добавлю несколько слов, как можно использовать данный мониторинг web сайта. У меня было два хостинга и хотелось выбрать один более быстрый. Загрузка самого сервера по железу была настолько низка, что ее можно было вообще не брать в расчет. Более важным параметром было именно время отклика сервера и скорость доступа к нему. Я запустил сайт на обоих серверах и настроил мониторинг. По его параметрам выбрал более быстрый сервер.

Конечно, тут нужно понимать, что данные подобного мониторинга очень условны и зависят о того, где располагается сам сервер заббикса. Возможна ситуация, когда мониторинг всех сайтов будет показывать примерно одни и те же цифры из-за ограничения самого сервера мониторинга. Нужно иметь это ввиду. Еще достаточно часто при проверке времени отклика сайта появляются большие провалы по времени до 5-10-15 секунд. Это сильно влияет на среднее время доступа. Возникают эти провалы из-за временных сетевых проблем не обязательно на самом сайте. Это тоже нужно учитывать при анализе полученных данных.

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


Помогла статья? Есть возможность отблагодарить автора

Дополнительные материалы по Zabbix

Рекомендую полезные материалы по Zabbix:
Настройки системы
  • Установка 3.2 на CentOS 7
  • Обновление 3.0 -> 3.2
  • Обновление 2.4 -> 3.0
  • Установка Zabbix Proxy
  • Работа на NGINX
Видео и подробное описание установки и настройки Zabbix 3.2, а также установка агентов на linux и windows и подключение их к мониторингу.
Подробное описание обновления системы мониторинга zabbix версии 3.0 до новой версии 3.2.
Пошаговая процедура обновления сервера мониторинга zabbix 2.4 до 3.0. Подробное описание каждого шага с пояснениями и рекомендациями.
Подробное описание установки и настройки zabbix proxy для организации распределенной системы мониторинга. Все показано на примерах.
Подробное описание установки системы мониторинга Zabbix на веб сервер на базе nginx + php-fpm.
Мониторинг служб и сервисов
 
  • Температура процессора
  • Nginx и php-fpm
  • Mysql репликация
  • Службы Linux
  • Рейд mdadm
  • Транки Asterisk
  • Synology
Мониторинг температуры процессора с помощью zabbix на Windows сервере с использованием пользовательских скриптов.
Настройка полноценного мониторинга web сервера nginx и php-fpm в zabbix с помощью скриптов и пользовательских параметров.
Мониторинг репликации mysql с помощью Zabbix. Подробный разбор методики и тестирование работы.
Описание настройки мониторинга tcp служб с помощью zabbix и его инструмента простых проверок (simple checks)
Настройка мониторинга рейда mdadm с помощью zabbix. Подробное пояснение принципа работы и пошаговая инструкция.
Подробное описание мониторинга регистраций транков (trunk) в asterisk с помощью сервера мониторинга zabbix.
Подробная инструкция со скриншотами по настройке мониторинга по snmp дискового хранилища synology с помощью сервера мониторинга zabbix.
Мониторинг различных значений
  • Мониторинг сайта
  • Мониторинг бэкапов
  • Размер бэкапа
  • Делегирование домена
  • Значения из текстового файла
  • Мониторинг логов
Настройка мониторинга web сайта в zabbix. Параметры для наблюдения - доступность сайта, время отклика, скорость доступа к сайту.
Один из способов мониторинга бэкапов с помощью zabbix через проверку даты последнего изменения файла из архивной копии с помощью vfs.file.time.
Подробное описание настройки мониторинга размера бэкапов в Zabbix с помощью внешних скриптов.
Пример настройки мониторинга за временем делегирования домена с помощью Zabbix и внешнего скрипта. Все скрипты и готовый шаблон представлены.
Описание мониторинга лог файлов в zabbix на примере анализа лога программы apcupsd. Отправка оповещений по событиям из лога.

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

Ваш e-mail не будет опубликован.