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 для проверок из пяти городов? Минимум пять: по прокси в каждом городе плюс центральный сервер. Каждый — с арендой, обновлениями и присмотром. Готовая сеть точек внешнего сервиса решает ту же задачу без единого вашего сервера — в этом и есть главный практический аргумент «за облако» для мониторинга именно сайтов.