
Мониторинг веб сайта и сервисов с использованием статус страницы Gatus и алертами в Телеграм
12 марта 2026
Если вы управляете веб-сайтом, API или любым другим онлайн-сервисом, то знаете, насколько важно оперативно получать уведомления о сбоях. Сегодня мы рассмотрим Gatus — мощный инструмент мониторинга с открытым исходным кодом, который позволяет настроить автоматические проверки работоспособности ваших сервисов и получать уведомления по множеству каналов.
Что такое Gatus?
Gatus — это автоматизированная платформа мониторинга состояния сервисов (health dashboard), написанная на языке Go. Проект активно развивается на GitHub и имеет тысячи звёзд от разработчиков по всему миру. Gatus позволяет в режиме реального времени отслеживать доступность ваших HTTP/HTTPS-эндпоинтов, TCP/UDP-портов, DNS-записей и ICMP (ping), а также гибко настраивать условия проверок.

Ключевые возможности Gatus
- Мониторинг HTTP/HTTPS — проверка статус-кодов, времени отклика, содержимого тела ответа и SSL-сертификатов.
- Поддержка TCP, UDP, ICMP и DNS — не только веб-сервисы, но и любые сетевые сервисы.
- Гибкая система условий — вы сами определяете, что считать успехом или провалом проверки (например, статус 200, время ответа менее 300 мс, наличие определённой строки в ответе).
- Множество каналов уведомлений — Telegram, Slack, Discord, Twilio, Microsoft Teams, email (SMTP), Opsgenie, Mattermost, Pushover и многие другие.
- Красивый веб-дашборд — встроенный интерфейс для визуального отображения статуса всех сервисов, истории проверок и времени безотказной работы (uptime).
- Поддержка badges — генерация SVG-бейджей со статусом uptime для встраивания в README или на сайт.
- Внешнее хранилище данных — поддержка SQLite и PostgreSQL для хранения истории проверок.
- Kubernetes-интеграция — автоматическое обнаружение сервисов в кластере Kubernetes.
- Простая конфигурация через YAML — вся настройка осуществляется через понятный конфигурационный файл.
Как это работает?
Gatus работает по принципу периодических проверок (polling). Вы описываете список эндпоинтов и условия их работоспособности в YAML-файле, указываете интервал проверок и каналы уведомлений. Сервис самостоятельно выполняет запросы и, в случае несоответствия условиям, мгновенно отправляет алёрт в выбранный мессенджер или систему управления инцидентами.
Пример конфигурации
endpoints:
- name: My WordPress Site
url: "https://wpcraft.ru"
interval: 10m
conditions:
- "[STATUS] == 200"
- "[RESPONSE_TIME] < 500"
- "[CERTIFICATE_EXPIRATION] > 48h"
alerts:
- type: telegram
description: "Сайт недоступен!"
send-on-resolved: true
Этот пример проверяет WordPress-сайт каждую минуту: убеждается, что он отвечает статусом 200, время ответа не превышает 500 миллисекунд, а SSL-сертификат действителен ещё как минимум 48 часов. При проблеме придёт уведомление в Telegram, а когда сервис восстановится — ещё одно сообщение.
Установка и запуск через Docker
Самый простой способ развернуть Gatus — использовать Docker:
docker run -p 8080:8080 --mount type=bind,source="$(pwd)/config",target=/config \
twinproduction/gatus
После запуска веб-интерфейс будет доступен по адресу http://localhost:8080. Также доступны готовые Helm-чарты для развёртывания в Kubernetes.
В моем случае использовался Docker Compose + Coolify:
services:
gatus:
image: ghcr.io/twin/gatus:stable # или twinproduction/gatus:stable
container_name: gatus
# ports:
# - "8080:8080"
volumes:
- type: bind
source: ./config
target: /config
is_directory: true
- type: bind
source: ./data
target: /data
is_directory: true
environment:
- GATUS_CONFIG_PATH=/config
restart: on-failure:3
version: "3.8"
Зачем Gatus владельцам WordPress и WooCommerce сайтов?
Для владельцев интернет-магазинов на WooCommerce или контентных сайтов на WordPress постоянный мониторинг критически важен. Каждая минута простоя — это потерянные клиенты и деньги. Gatus позволяет:
- Мгновенно узнавать о падении сайта, не дожидаясь жалоб от покупателей.
- Заблаговременно узнавать что заканчивается срок домена и продлевать заранее без рисков потерять критически ценный ресурс
- Контролировать время отклика и выявлять замедления до того, как они станут критичными.
- Следить за сроком действия SSL-сертификата и избежать блокировки браузерами.
- Мониторить доступность API платёжных шлюзов, служб доставки и других внешних интеграций WooCommerce.
- Публично демонстрировать uptime своего сайта клиентам через встроенный статус-дашборд.
Доступ и авторизация через OIDC WordPress
Можно быстро поднять авторизацию в Gatus, используя существующий WordPress как OIDC-сервер. Для этого подойдёт плагин OpenID Connect Server (от Automattic или его форки/обновления, например, с wpcraft).
Коротко схема:
- WordPress выдаёт токены → Gatus подключается к нему как OIDC-клиент.
- Пользователи логинятся через wp-login.php → получают доступ к дашборду Gatus.
Пример конфигурации Gatus (config.yaml)
security:
oidc:
issuer-url: "<https://your-wordpress-site/>" # обязательно с завершающим слешем
redirect-url: "<https://your-gatus-domain/authorization-code/callback>"
client-id: "gatus-client" # любое уникальное имя
client-secret: "super-long-random-secret-40-plus-chars" # генерируй сильный секрет
scopes:
- "openid" # минимум это
# - "profile" # опционально: имя, аватар
# - "email" # опционально: email в токене
# allowed-subjects: ["admin", "user1"] # если хочешь ограничить по wp-логину
session-ttl: 8h # время жизни сессии (по умолчанию 8h)
Что нужно сделать на стороне WordPress (кратко)
- Установить и активировать плагин OpenID Connect Server.
- Зарегистрировать клиента (обычно через код в functions.php или mu-plugin):
add_filter('oidc_registered_clients', function($clients) {
$clients['gatus'] = [
'client_id' => 'gatus-client',
'client_secret' => 'super-long-random-secret-40-plus-chars',
'redirect_uris' => ['<https://your-gatus-domain/authorization-code/callback>'],
'scopes' => ['openid', 'profile'],
'skip_consent' => true, // без экрана согласия
];
return $clients;
});
- Задать RSA-ключи в wp-config.php (генерируй 2048+ бит):
define('OIDC_RSA_PRIVATE_KEY', '-----BEGIN PRIVATE KEY-----...');
define('OIDC_RSA_PUBLIC_KEY', '-----BEGIN PUBLIC KEY-----...');
- Проверить discovery:
https://your-wordpress-site/.well-known/openid-configuration— должен отдавать JSON.
Готово — Gatus теперь защищён логином от WordPress.
Подробный разбор плагина и настройки (на русском): https://wpcraft.ru/blog/oidc
Итог
Gatus — это зрелый, надёжный и гибкий инструмент для мониторинга сервисов, который отлично подходит как для небольших проектов, так и для крупных сайтов.
Открытый исходный код, простая конфигурация через YAML, богатый набор интеграций и красивый дашборд делают его достойной альтернативой платным SaaS-решениям.
Если вы ещё не настроили мониторинг своего WordPress или WooCommerce сайта — Gatus станет отличной отправной точкой.

