Gatus — обзор self-hosted мониторинга и облачная альтернатива
Когда сайт или сервис должен быть доступен круглосуточно, рано или поздно встаёт вопрос: чем мониторить доступность и кому сообщать о падении. Тут возникает развилка. Можно поднять мониторинг на своём сервере — полный контроль, но и вся поддержка на вас. А можно взять облачный сервис — ничего не настраиваешь, но платишь подписку. Gatus — это про первый путь, причём в самой инженерной его форме: мониторинг описывается конфигом, как код. Разберём, что он умеет, кому реально подходит, где упирается в потолок, и честно сравним с облачным Tracker.ru.
Что такое Gatus и как он работает
Gatus — это бесплатный self-hosted дашборд здоровья сервисов и активный мониторинг доступности, написанный на Go. Автор — разработчик под ником TwiN, исходный код открыт под лицензией Apache 2.0. Вы скачиваете один статический бинарь (или Docker-образ), описываете проверки в YAML-файле и запускаете. Получаете status-страницу с графиками времени отклика, историей доступности и цветными плитками статусов.
Ключевая идея Gatus — конфигурация как код. У него нет экрана «добавить монитор кнопкой»: каждая новая проверка — это правка YAML-файла. Хотите следить за новым сервисом — дописываете блок в конфиг. Для команд, которые держат всё в Git и катят изменения через pull-request, это удобно: история проверок версионируется вместе с остальным кодом. Конфиг перечитывается на лету, перезапуск обычно не нужен.
Типы проверок и условия в Gatus
Сильная сторона Gatus — широта типов проверок. Помимо привычных HTTP и HTTPS, он умеет:
- DNS — проверка записей A, AAAA, MX, NS, TXT с разбором ответа резолвера;
- TCP, UDP, SCTP — доступность портов нестандартных сервисов (базы данных, очереди, кастомные демоны);
- ICMP (ping) — базовая доступность хоста;
- gRPC (включая gRPC health check) и WebSocket — современные протоколы;
- SSH, TLS, STARTTLS — соединения и проверка шифрования.
Всего Gatus поддерживает около десятка сетевых протоколов — заметно больше, чем типичный облачный сервис, заточенный под HTTP.
Отдельно стоит мощный язык условий. Вы не просто проверяете «вернулся ли код 200», а пишете выражения: время ответа меньше 300 мс, тело ответа в формате JSON содержит нужное значение (разбор по пути внутри JSON), нужный заголовок в ответе, сертификат не истекает раньше чем через 48 часов, домен не истекает раньше чем через месяц. Можно собирать многошаговые сценарии: залогиниться, забрать токен, подставить его в следующий запрос и проверить защищённый эндпоинт.
Из коробки Gatus отдаёт метрики в формате Prometheus, поэтому его легко встроить в дашборды Grafana. Есть встраиваемые SVG-бейджи доступности и времени отклика — их вешают в README репозитория или на сайт. Уведомлений Gatus поддерживает более сорока каналов нативно: Telegram, Slack, Discord, Microsoft Teams, PagerDuty, Opsgenie, Email, Matrix, Ntfy, Pushover, произвольный webhook и другие.
Важная деталь, о которой часто забывают: Gatus — не только бесплатный скрипт. У того же автора есть и платный облачный сервис gatus.io. То есть «облачный Gatus» существует — но это иностранный сервис: оплата в валюте, интерфейс на английском, без российских закрывающих документов. Дальше под «Gatus» мы будем иметь в виду в первую очередь бесплатную self-hosted версию, а платный вариант упомянем там, где это важно.
Кому реально подходит Gatus
Gatus честно силён в своей нише. Он хорошо ложится на несколько сценариев.
Команда с DevOps-компетенциями и GitOps-культурой. Если у вас уже есть инженер, который держит инфраструктуру в Git, катит изменения через pull-request и не боится YAML, Gatus встанет в этот процесс органично. Конфиг мониторинга живёт рядом с остальным кодом, ревьюится и версионируется.
Нужны нестандартные типы проверок. Когда задача — следить не только за веб-страницами, но и за TCP-портом базы данных, gRPC-сервисом, DNS-записями или временем жизни домена, Gatus закрывает это из коробки. Здесь он обходит большинство облачных сервисов, заточенных в основном под HTTP.
Глубокая проверка содержимого ответа. Если важно убедиться, что API вернул не просто 200, а конкретное значение в теле ответа, язык условий Gatus с разбором JSON решает это напрямую.
Метрики в свой стек наблюдаемости. Команды, которые строят дашборды в Grafana и хранят метрики в Prometheus, получают экспорт метрик Gatus без дополнительных прослоек.
Бюджет на софт — ноль. Self-hosted версия бесплатна без ограничений по числу проверок. Вы платите только за сервер, на котором она крутится.
Если вы узнали в этих пунктах себя — Gatus стоит попробовать. Это аккуратный, активно развивающийся инструмент с шестью с лишним годами истории.
Где у self-hosted Gatus потолок
Теперь честно про ограничения. Они вытекают из самой природы инструмента и для части пользователей окажутся критичными.
Нужен свой сервер и его обслуживание. Прежде чем начать мониторить, придётся поднять VPS или физический хост, установить Docker или развернуть бинарь, настроить обратный прокси с TLS-сертификатом, организовать резервное копирование базы и обновлять Gatus при выходе новых версий. Для инженера это привычная рутина, для владельца бизнеса без технической команды — отдельная задача с непрерывными затратами времени.
Только YAML, без интерфейса добавления. У Gatus нет экрана, где монитор добавляется мышкой. Любая новая проверка — это правка конфигурационного файла. Для технаря это плюс, для нетехнического пользователя — барьер.
Интерфейс только на английском. Русской локализации интерфейса нет. Документация и поддержка — тоже на английском, через issues на GitHub.
Одна точка проверки. Gatus проверяет ваш сайт из того места, где он сам запущен. Если сервер с Gatus стоит в одном дата-центре, а ваша аудитория — по разным странам, отличить локальный сетевой сбой провайдера от реальной недоступности сайта будет сложно. Проверки из нескольких географических точек придётся собирать вручную, разворачивая отдельные инстансы и сводя их данные.
Нет скриншотов страниц. Gatus не делает снимков страницы и не сравнивает их по пикселям. Если вёрстка поедет, контент подменят или вместо страницы появится заглушка хостера — по одному коду статуса вы это не всегда заметите.
Нет индекса производительности. Gatus показывает время отклика (среднее, минимум, максимум), но не считает агрегированную оценку качества опыта пользователя по времени ответа. Перцентилей (медиана, 95-й, 99-й) тоже нет.
Ограниченная глубина истории. Расчёт доступности в Gatus привязан к окну в 7 дней. Для долгого ретроспективного анализа этого мало.
Проект держится на одном человеке. Почти весь код написал один разработчик, корпоративного спонсора у проекта нет. В краткосрочной перспективе риск низкий — релизы выходят регулярно, код свежий. В долгую это стоит держать в голове.
Когда проще облачный мониторинг
Если читая список ограничений выше, вы подумали «мне бы без всего этого» — значит, вам ближе облачный путь. Не потому, что облако «лучше» в вакууме, а потому, что оно снимает с вас целый класс задач: сервер, его настройку, обновления, бэкапы, географию проверок и язык интерфейса.
Tracker.ru — облачный сервис мониторинга доступности с фокусом на российский рынок. Здесь нет своего сервера, Docker и YAML: вы регистрируетесь, добавляете URL в личном кабинете через форму — и проверки идут. Вот что это меняет на практике.
Ничего не нужно поднимать и поддерживать. Регистрация занимает пару минут, добавление первого URL — ещё минуту. Сервер, сертификаты, бэкапы, обновления — всё на стороне сервиса. Если на старте важна скорость, а не возня с инфраструктурой, это решает.
Проверки из нескольких регионов сразу. Tracker.ru проверяет URL одновременно из четырёх точек: Москва, Франкфурт, Алматы и Минск. Статус агрегируется, и недоступность фиксируется только когда падение видят несколько регионов — это отсекает ложные срабатывания из-за локального сбоя одного провайдера. Подробнее — на странице про проверки из нескольких регионов. У Gatus это одна точка, и мульти-регион собирается вручную.
Скриншоты страниц и сравнение по пикселям. Сервис снимает страницу по расписанию и автоматически при восстановлении после падения, а затем показывает визуальные отличия между версиями. Так вы быстрее понимаете причину сбоя и ловите подмену контента или сломанную вёрстку. Детали — на странице про скриншот-мониторинг. У Gatus такого нет.
Индекс производительности (Apdex). Tracker.ru считает Apdex и присылает оповещение при деградации опыта пользователя — это более информативный сигнал, чем чистое время отклика. Что это за метрика и как её читать, разобрано в статье что такое Apdex.
Русский интерфейс, поддержка и документы. Кабинет на русском (а также на английском и казахском), поддержка отвечает на русском, оплата в рублях, договор по российскому праву и закрывающие документы для юрлиц. Для бизнеса в РФ и СНГ это снимает массу вопросов, которые с иностранным платным gatus.io остаются открытыми.
Уведомления в Telegram и MAX без возни. Telegram-бот подключается коротким кодом, без ручного создания собственного бота и выяснения идентификатора чата. Поддерживаются и личные сообщения, и групповые чаты, а ещё — мессенджер MAX. При этом сам по себе Telegram не является преимуществом: он есть и у Gatus нативно. Разница в простоте подключения для нетехнического пользователя.
Мониторинг фоновых задач по токену. Для контроля cron-задач Tracker.ru даёт ссылку-пинг: ваш скрипт обращается к ней при успешном выполнении, и если пинг не пришёл в срок — приходит оповещение. Это тот же принцип «мёртвого выключателя», что и у Gatus, и подробно он описан в статье про мониторинг по принципу dead man's switch. Разница в том, что у нас не нужно заранее объявлять эндпоинт в конфиге.
Сравнение Gatus и Tracker.ru
Сводная таблица по ключевым параметрам. Где функция есть у обоих — честно отмечаем паритет, без преувеличений. Это разные инструменты для разных задач, а не «один лучше другого».
| Параметр | Gatus | Tracker.ru |
|---|---|---|
| Тип решения | Self-hosted (бинарь / Docker / Helm) + платный облачный gatus.io | Облачный сервис |
| Стоимость | 0 ₽ за софт + расходы на сервер; облако gatus.io в валюте | Free-тариф на 5 URL + платные планы в рублях |
| Время старта | Установка сервера, Docker, TLS, конфиг | 2–3 минуты (регистрация) |
| Добавление монитора | Только правка YAML-файла | В кабинете через форму |
| Обслуживание | На вашей стороне | Включено в подписку |
| Типы проверок | HTTP, DNS, TCP, UDP, SCTP, ICMP, gRPC, WebSocket, SSH, TLS, STARTTLS | HTTP / HTTPS |
| Условия по телу ответа (разбор JSON) | Есть | Нет |
| Многошаговые сценарии | Есть | Нет |
| Проверки из нескольких регионов | Нет (одна точка, мульти-регион вручную) | Есть (Москва, Франкфурт, Алматы, Минск) |
| Скриншоты страниц + сравнение по пикселям | Нет | Есть |
| Индекс производительности (Apdex) | Нет | Есть |
| Мониторинг истечения домена | Есть | Нет |
| Мониторинг SSL-сертификата | Есть | Есть |
| Telegram-уведомления | Нативные | Нативные |
| Email-уведомления | Есть (через SMTP) | Есть |
| Webhook | Есть | Есть, с подписью HMAC-SHA256 |
| Мониторинг cron по пингу (heartbeat) | Есть | Есть |
| Публичная status-страница | Есть | Есть |
| Метрики Prometheus | Есть | Нет |
| Бейджи доступности (SVG) | Есть | Нет |
| Каналов уведомлений всего | 40+ нативных | Telegram, Email, Webhook, MAX |
| Локализация интерфейса | Только английский | Русский / английский / казахский |
| Поддержка | Сообщество (GitHub, англ.) | Коммерческая, на русском |
| Оплата и документы | В валюте, без российских чеков | Рубли, чеки 54-ФЗ, договор |
Несколько важных замечаний к таблице. Telegram, Email, webhook, пинг для cron-задач и публичная status-страница есть у обоих сервисов нативно — это паритет, а не аргумент в чью-то пользу. SSL-мониторинг тоже есть у обоих. Реальные различия лежат в другом: Gatus заметно богаче по типам проверок и глубине условий, Tracker.ru — по проверкам из разных регионов, скриншотам, индексу производительности и российской локализации с рублёвой оплатой.
Если вам нужны DNS-, TCP- или gRPC-проверки и разбор тела ответа — это сильная сторона Gatus, и здесь облачный сервис общего назначения проигрывает. Если приоритет — быстрый старт без своего сервера, проверки из нескольких стран, скриншоты и русскоязычная поддержка с документами — выигрывает облако. Похожий расклад мы разбираем и в сравнении с другим популярным self-hosted инструментом — Tracker.ru против Uptime Kuma.
Как выбрать между Gatus и облаком
Сведём решение к простому вопросу: готовы ли вы держать собственную инфраструктуру.
Берите Gatus, если у вас есть инженер и GitOps-культура, нужны нестандартные типы проверок (DNS, TCP, gRPC, домены), важен разбор содержимого ответа и метрики в Prometheus, а бюджет на софт хочется свести к нулю. Вы получите гибкий, ресурсо-экономный инструмент под полным контролем — ценой времени на поддержку и английского интерфейса.
Берите Tracker.ru, если хотите начать мониторить за минуты без сервера и YAML, нужны проверки из нескольких регионов, скриншоты с попиксельным сравнением, индекс производительности, оплата в рублях с закрывающими документами и поддержка на русском. Вы платите подписку, но снимаете с себя всю инфраструктурную возню.
Оба инструмента честно решают задачу мониторинга. Разница — в том, кто отвечает за сервер: вы или сервис.
Начать с Tracker.ru бесплатно — Free-тариф на 5 URL, без карты, регистрация за пару минут.
Частые вопросы про Gatus
Что такое Gatus?
Gatus — это бесплатный self-hosted инструмент мониторинга доступности и status-страница, написанный на Go и распространяемый под лицензией Apache 2.0. Вы разворачиваете его на своём сервере, описываете проверки в YAML и получаете дашборд с историей доступности и временем отклика.
Gatus — это бесплатный мониторинг с открытым исходным кодом?
Да. Self-hosted версия Gatus — бесплатный open source без ограничений по числу проверок: вы платите только за сервер. Отдельно существует платный облачный сервис gatus.io от того же автора — он работает в валюте и без российских закрывающих документов.
Какой аналог Gatus есть с русским интерфейсом и облачным размещением?
Если вам нужен аналог Gatus, но без собственного сервера и на русском, подойдёт облачный Tracker.ru: регистрация за пару минут, проверки из четырёх регионов, скриншоты страниц, индекс Apdex, оплата в рублях и поддержка на русском. Платой за удобство будет подписка вместо self-hosted-нуля.
Gatus или Uptime Kuma — что выбрать?
Это два популярных self-hosted мониторинга. Gatus делает ставку на конфиг как код (YAML) и широкий набор протоколов проверок. Uptime Kuma — на удобный графический интерфейс, где мониторы добавляются мышкой. Если у вас GitOps-культура — ближе Gatus, если хочется кликабельный UI — Uptime Kuma. Сравнение Uptime Kuma с облаком — на странице Tracker.ru против Uptime Kuma.
Можно ли с Gatus проверять сайт из нескольких стран?
Из коробки — нет. Gatus проверяет сайт из той точки, где он запущен. Мульти-регион придётся собирать вручную, разворачивая отдельные инстансы. Облачные сервисы вроде Tracker.ru дают проверки из нескольких регионов сразу.
См. также
- Обзор Uptime Kuma и облачная альтернатива — ещё один популярный self-hosted мониторинг и его сравнение с облаком.
- Tracker.ru против Uptime Kuma — детальное сравнение соседнего self-hosted кейса с облаком.
- Мониторинг SSL-сертификатов — отслеживание срока жизни сертификата.
- Мониторинг cron и фоновых задач — пинг по токену для периодических процессов.
- Уведомления через webhook и настройка Telegram-уведомлений — как подключить оповещения.