Zabbix для мониторинга сайта: мощный, бесплатный и часто избыточный
7 мин чтения
Zabbix для мониторинга сайта: мощный, бесплатный и часто избыточный

Zabbix для мониторинга сайта: мощный, бесплатный и часто избыточный

Zabbix — вероятно, самая известная система мониторинга в Рунете: по данным Keys.so, запрос «zabbix» набирает порядка 56 000 показов в месяц в Яндексе. Это отличный инструмент — вопрос лишь в том, для вашей ли он задачи. Разбираем на цифрах: что нужно, чтобы Zabbix заработал, что он умеет применительно к сайтам и в каких случаях он стреляет из пушки по воробьям.

Что такое Zabbix и почему его любят

Zabbix — открытая (GPL) система инфраструктурного мониторинга, развивается с 2001 года. Её стихия — наблюдение за парком серверов изнутри: загрузка CPU и дисков, память, процессы, базы данных, сетевое оборудование по SNMP, журналы. Тысячи метрик, гибкие триггеры, карты сети, экраны для дежурной смены — в энтерпрайзе, где есть своя серверная и команда админов, Zabbix заслуженно стал стандартом. И он действительно бесплатен: никаких лицензий, плата — только своим железом и временем.

Цена «бесплатного»: что нужно, чтобы Zabbix заработал

Zabbix — не программа, а комплекс: сервер мониторинга, база данных (MySQL/PostgreSQL), веб-фронтенд на PHP, агенты на наблюдаемых машинах и, для распределённых схем, прокси. Официальная документация даёт такие ориентиры по железу:

Масштаб Наблюдаемых хостов Рекомендация по железу
Малый до 100 Виртуальная машина, MySQL
Средний до 500 2 ядра CPU, 2 ГБ RAM
Крупный более 1 000 4 ядра, 8 ГБ RAM, БД на RAID10
Очень крупный более 10 000 8 ядер, 16 ГБ RAM, быстрый RAID10

Цифры из таблицы выглядят скромно, но это только сервер. Реальная стоимость владения складывается из другого: отдельная VPS или машина под мониторинг, дисковое пространство под историю метрик (на длинной истории — десятки гигабайт), регулярные обновления сервера, базы и агентов, настройка шаблонов и триггеров под себя и — главное — человек, который всё это умеет. Для команды с админом это рутина; для интернет-магазина на shared-хостинге — отдельный проект, который сам становится системой, требующей присмотра.

Ключевое: Zabbix смотрит изнутри

Архитектурно Zabbix — мониторинг «изнутри»: он живёт в вашей инфраструктуре и рассказывает, что происходит с вашими серверами. Проверять сайты «снаружи» он тоже умеет — веб-сценарии делают HTTP-запросы и проверяют код ответа и содержимое. Но выполняются эти проверки с вашего же сервера Zabbix или его прокси, и отсюда два системных следствия.

Первое — одна точка обзора. Zabbix, стоящий в том же дата-центре, что и сайт, видит сайт по внутреннему маршруту — идеальному, который никогда не совпадает с путём реального посетителя из Екатеринбурга или Владивостока. Блокировку, сбой магистрали, проблему конкретного оператора он не увидит физически. Хотите проверки из пяти городов — нужно арендовать пять серверов и поставить пять прокси, это уже собственная сеть точек мониторинга со своим бюджетом.

Второе — общая судьба с инфраструктурой. Если авария накрывает дата-центр целиком, вместе с сайтом падает и Zabbix — и молчит. Сторож, живущий в одном доме с охраняемым объектом, не может сообщить о пожаре этого дома. Внешний мониторинг потому и называется внешним, что делит с вашей инфраструктурой ровно ничего.

Частный случай из практики

Уведомления Zabbix обычно ходят через ваш же почтовый сервер или бота. При падении сети дата-центра гибнет и канал доставки тревоги: инцидент есть, сигнала нет. У внешнего сервиса канал уведомлений живёт на чужой, независимой инфраструктуре.

Считаем время: во что обходится «бесплатно»

Деньги в Zabbix не платятся, поэтому честная единица его стоимости — часы. Ориентиры из практики выглядят примерно так (для установки «с нуля» человеком, который делает это не каждый день):

Этап Что входит Ориентир по времени
Запуск Сервер, БД, фронтенд, первые хосты и шаблоны От половины дня до пары дней
Донастройка Триггеры под себя, борьба с ложными тревогами, каналы уведомлений Растянута на первые недели
Сопровождение Обновления сервера/БД/агентов, чистка истории, бэкапы Часы каждый месяц, всегда
Сеть точек обзора Прокси в других городах: аренда серверов + настройка каждого Отдельный проект с постоянным бюджетом

Два пункта из этой таблицы недооценивают чаще всего. История метрик разрастается: при активном сборе база прибавляет гигабайты, и однажды «бесплатный» мониторинг просит новый диск и оптимизацию БД. А обновления — не только про новые функции: старые версии со временем теряют совместимость с окружением (свежими PHP и версиями баз данных), и «поставил и забыл» превращается в «через два года нужна миграция».

Zabbix против внешнего мониторинга: по задачам

Задача Zabbix Внешний облачный мониторинг
CPU, память, диски, процессы серверов Да, это его стихия Нет
SNMP, сетевое оборудование, логи Да Нет
Доступность сайта глазами посетителей из разных городов Только своими прокси в этих городах Да, готовая сеть точек
Переживёт падение вашего дата-центра Нет, если живёт в нём же Да
Блокировки РКН, DNSBL, Safe Browsing, товарные фиды Нет готовых проверок Есть у российских сервисов
Стоимость входа Сервер + часы админа на запуск и сопровождение Регистрация, первая проверка за минуты
Данные остаются только у вас Да Нет, метрики хранит сервис

Когда Zabbix — правильный выбор, а когда избыточный

Zabbix оправдан, когда у вас свой парк серверов и есть кому его сопровождать; когда политика компании требует держать данные мониторинга внутри периметра; когда нужно наблюдать за «железом» и сетью, а не только за сайтом. В этих сценариях альтернатив уровня Zabbix среди открытого ПО немного.

Zabbix избыточен, когда задача звучит как «узнавать первым, что сайт упал или затормозил». Для неё разворачивать сервер, базу и фронтенд — значит получить систему, которая сама требует мониторинга, и при этом всё равно смотреть на сайт из одной точки. Ровно этот сценарий закрывается внешним сервисом за минуты — сравнение конкретных вариантов мы делали в статье про аналоги UptimeRobot в России.

Если сомневаетесь, к какому лагерю относитесь, — быстрый тест из шести утверждений. Zabbix вам нужен, если верно хотя бы два из трёх: «у нас больше пяти своих серверов или сетевых устройств», «есть человек, для которого администрирование — работа», «данные мониторинга обязаны храниться у нас». Zabbix вам не нужен, если верно хотя бы два из трёх других: «весь наш продакшн — это сайт на хостинге или пара VPS», «админа как роли нет, есть разработчик или подрядчик», «главный вопрос к мониторингу — узнать о падении сайта раньше клиентов». Первая тройка описывает инфраструктурную задачу, вторая — задачу внешней доступности; инструменты для них разные, и это нормально.

Самая зрелая схема — не «или», а «и»: Zabbix наблюдает изнутри за серверами, внешний мониторинг — снаружи за тем, что видят посетители: доступность из городов, SSL-сертификат, домен, DNS. Два инструмента закрывают слепые зоны друг друга, и сбой любого из них не оставляет вас без глаз.

Как это устроено в Пруфене

Пруфен — внешняя половина этой связки: 18 типов проверок, включая доступность из 13 точек в России, Беларуси и Испании с интервалом от 2 минут, плюс проверки, которых нет в Zabbix из коробки, — блокировки РКН, DNSBL и товарные фиды. Ставить на сервер ничего не нужно; бесплатный план — 5 проверок без ограничения срока.

Частые вопросы

Zabbix точно бесплатный? Да, лицензия GPL, все функции без ограничений. Платите вы инфраструктурой и временем: сервер, база, обновления, настройка шаблонов и триггеров, сопровождение. Для компании с админом это нормальные операционные расходы, для малого бизнеса — часто дороже подписки на облачный сервис.

Может ли Zabbix проверять сайт снаружи? Веб-сценарии Zabbix умеют HTTP-проверки с контролем кода ответа и содержимого страницы. Но выполняются они с вашего сервера или прокси — «снаружи» они настолько, насколько снаружи стоит этот сервер. Сеть точек в разных городах придётся строить самостоятельно.

Чем Zabbix отличается от Prometheus и Grafana? Это инструменты одного класса — инфраструктурный мониторинг у себя: Prometheus собирает метрики, Grafana рисует дашборды, Zabbix — комбайн со сбором, триггерами и интерфейсом сразу. Для вопроса этой статьи разницы нет: все они смотрят на вашу систему изнутри и требуют собственного сопровождения.

У меня уже есть Zabbix. Зачем мне внешний мониторинг? Затем, что Zabbix не увидит проблему, которой не видно из его точки: блокировку, сбой оператора в другом регионе, гео-фильтр CDN. И затем, что при падении дата-центра он падает вместе с сайтом. Внешний сервис — это независимый свидетель, которому не нужно верить вашей инфраструктуре на слово.

А Uptime Kuma вместо Zabbix — не проще? Для задачи «следить за сайтами» — заметно проще: Kuma разворачивается за вечер и не требует базы данных уровня Zabbix. Но оба архитектурных ограничения self-hosted у неё те же: одна точка обзора и общая судьба с инфраструктурой, на которой она стоит. Подробнее — в сравнении сервисов мониторинга.

Сколько серверов нужно Zabbix для проверок из пяти городов? Минимум пять: по прокси в каждом городе плюс центральный сервер. Каждый — с арендой, обновлениями и присмотром. Готовая сеть точек внешнего сервиса решает ту же задачу без единого вашего сервера — в этом и есть главный практический аргумент «за облако» для мониторинга именно сайтов.

Была ли статья полезна?

Начните мониторинг прямо сейчас

Бесплатный тариф — до 5 проверок. 150 ₽ на баланс при регистрации.

Создать аккаунт