Monitoring & CI/CD

Что такое Health check (проверка здоровья)

Что это

Регулярная автоматическая проверка «сервис жив и отвечает»: не просто процесс запущен, а база читается и страница открывается. По ней контейнер перезапускается, а администратору приходит сообщение.

Как используем

В «Переговорке» чат отвечает на /healthz с чтением и записью базы, а сторож перезапускает залипший контейнер не чаще трёх раз в час. Финансовый ассистент каждые 5 минут проверяется снаружи: контейнеры, база, отметка «бот жив» и адрес дашборда.

Где это нужно бизнесу

  • Бот «вроде работает», но не отвечает, и узнаёте вы об этом от клиентов.
  • Сервис завис ночью, а перезапустить его некому.
  • Одна часть проекта стартовала раньше базы и упала.

Как мы это используем

  • «Переговорка»: контейнеры отвечают на проверку здоровья, чат — на /healthz с чтением и записью в базу. Сторож перезапускает залипший контейнер в течение минуты, но не чаще трёх раз в час.
  • Финансовый ассистент: каждые 5 минут внешняя проверка смотрит контейнеры, базу, отметку «бот жив» (бот ставит её раз в минуту) и адрес дашборда. При сбое — сообщение в Telegram.
  • Тикет-система: Docker Compose запускает бота только после того, как MariaDB и Redis прошли проверку здоровья.
  • Tech Poly VPN: мониторинг проверяет TCP-порт узла каждые 5 минут и тревожит администратора только после нескольких неудач подряд.

Типичные проблемы

  • Проверка «процесс жив». Процесс может работать, а база — нет. Проверка должна делать то же, что делает пользователь.
  • Ложные тревоги. Одиночный сбой сети не должен будить человека ночью — поэтому сигнал после нескольких неудач подряд.
  • Бесконечный перезапуск. Ограничение «не чаще трёх раз в час» не даёт сломанному сервису перезапускаться по кругу.

Когда это не нужно

Статической странице проверка здоровья почти не нужна: ей хватает проверки срока сертификата.

← Все термины

Нужен сайт, бот или автоматизация?

Термины объяснили — теперь давайте к делу: расскажите о задаче, а мы переведём её на понятный план работ.