Настройка шаблона в Zabbix 5.0 для мониторинга web сайтов
Самый простой способ подключить сайт к мониторингу - добавить его проверку на уже существующем хосте. В этом подходе есть один большой минус - если вы захотите включить этот мониторинг от другого хоста, или просто перенести на другой сервер, то делать это будет неудобно. Гораздо удобнее мониторинг сайтов и все, что с ним связано, настраивать в отдельном шаблоне. Так что идем в раздел Configuration -> Templates и создаем новый шаблон.
Открывается стандартная форма создания шаблона. Вводим название шаблона, где будут настройки мониторинга сайтов, и добавляем его в какую-нибудь группу.
Открываем этот шаблон. Переходим на вкладку Web Scenarios и добавляем новый сценарий для мониторинга сайта.
Заполняем основные параметры сценария. В качестве названия я обычно указываю адрес сайта. В моем примере это будет github.com. Тут же указываю название приложения для мониторинга сайтов для удобной сортировки итемов, относящихся к сайтам, интервал проверки и число попыток соединения.
После этого перехожу на вкладку Steps и добавляю шаг проверки.
Дальше указываю параметры шага. Для большего удобства можно все все это проделать с системным макросом {HOST.HOST} и прописать его везде вместо доменного имени, там где вписан github. Далее создаем новый Host с названием домена и добавляем к нему этот шаблон. Теперь на каждую веб проверку просто создаем новый Host и добавляем к нему шаблон.
Так же на всякий случай может пригодиться макрос заббикс "видимое имя хоста" Visible name , системный макрос {HOST.NAME}.
Поясню каждый параметр:
- Name - имя шага. В данном случае проверяться будет главная страница сайта, поэтому называю шаг index. Это не принципиально, но названия рекомендую давать осмысленные, чтобы потом было удобно оперировать названиями, к примеру, в триггерах.
- URL - адрес проверяемой страницы.
- Required string - строка на странице, которую будет искать zabbix. Я взял строку из футера сайта. Если заббикс ее найдет на странице, будет считать, что с сайтом все в порядке. Если нет - выдаст ошибку.
- Required status codes - требуемый код ответа. Указываю 200. Если заббикс получит какой-то другой код в ответ от web сервера, будет считать, что проверка закончилась неудачей.
После заполнения всех параметров жмем Add, чтобы добавить шаг и далее еще раз Add, чтобы добавить сам сценарий проверки. Должна получиться вот такая картина.
Простейшая проверка доступности сайта сделана. Дальше нам надо прикрепить этот шаблон к какому-нибудь хосту, чтобы начались реальные проверки. Я прикреплю шаблон к самому zabbix серверу. Для этого идем в Configuration -> Hosts, выбираем Zabbix Server и прикрепляем к нему созданный ранее шаблон. В случае использования макроса {HOST.HOST} нужно просто создать новый веб-узел в настройках и использовать для него созданный шаблон.
Ждем несколько минут и идем в раздел Monitoring -> Web смотреть результаты мониторинга сайта github.com.
Код ответа 200, искомая строка найдена, что подтверждает Status OK. Тут же графики скорости загрузки сайта и время отклика. Более подробную информацию о мониторинге указанного сайта можно посмотреть в Latest Data.
Значение параметра Failed step of scenario "github.com" равное 0 означает, что все шаги проверки сайта выполнены без ошибок. Если у вас несколько шагов и какой-то из них завешается ошибкой, тут будет номер этого шага. То есть в общем случае, все, что не 0, это какие-то проблемы. Позже мы это будем использовать в триггере. А пока добавим пару графиков к шаблону, которые потом можно будет использовать в дашбордах.
Настройка графиков мониторинга веб сайта
Возвращаемся в наш шаблон и переходим в раздел Graphs. Создаем новый график.
Добавим график скорости загрузки главной страницы сайта.
По аналогии можете добавить график времени отклика сайта. Я разу добавил оба эти графика в Screen. Получилось вот так.
Для более красивых визуализаций лучше использовать Дашборды.
Другими словами в шаблоне везде, где явно указан адрес сайта github.com надо написать {HOST.HOST}. Это встроенный макрос хоста zabbix, который автоматически подставляет имя хоста. Таким образом шаблон становится универсальным. Если создать новый хост с именем site.ru и прикрепить к нему шаблон с макросом, везде, где указано {HOST.HOST} будет подставлено site.ru
С одной стороны так проще настраивать типовой мониторинг сайтов, с другой разрастается список хостов на сервере. Так что надо решать по месту, как удобнее делать.
Источник:https://serveradmin.ru/monitoring-web-sayta-v-zabbix/