TDB Documentation portal logo
Помощь
Обновлена 30 июля 2026 г. в 16:49

Проверка работоспособности кластера

Доступно с версии 3.1.0.

В Tarantool DataBase работоспособность (здоровье) узлов кластера и репликации можно контролировать с помощью встроенного модуля healthcheck. Модуль позволяет:

  • получать текущее состояние здоровья экземпляра;
  • устанавливать оповещения (alerts) в кластере при проблемах с работоспособностью узла;
  • настраивать запуск дополнительных проверок;
  • задавать свой формат ответа;
  • создавать пользовательские проверки здоровья в коде миграции или роли, например, чтобы отслеживать размер спейса.

Встроенные проверки модуля отслеживают:

  • текущее состояние экземпляра (значение box.info.status);
  • наличие директории для снимков данных snapshot.dir;
  • наличие директории журнала упреждающей записи wal.dir;
  • наличие upstream-узла, с которого принимаются данные репликации;
  • репликационный статус текущего экземпляра (значение box.info.replication[{n}].upstream.status).

Для проверки здоровья узлов используется отдельная технологическая роль roles.healthcheck. Роль задается на экземплярах кластера и позволяет настроить HTTP-адрес обработчика запросов для отправки GET-запросов. Чтобы задать HTTP-сервер для запросов, используется модуль roles.httpd.

Настроить модуль можно в YAML-конфигурации кластера, указав роли roles.healthcheck и roles.httpd в секции roles, а также настройки этих ролей в roles_cfg:

roles_cfg:  roles.healthcheck:    http:      - endpoints:        - path: /healthcheck    set_alerts: true    checks:      include: [all]      exclude: ['replication.upstream_absent', 'replication.state_bad']   groups:  routers:    roles: [roles.httpd, roles.healthcheck]    replicasets:      router-msk:        leader: router-msk        instances:          router-msk:            roles_cfg:              roles.httpd:                default:                  listen: tarantool-router-msk:8181                  #...

Здесь:

  • roles.healthcheck.http.endpoints.path — адрес обработчика запросов на работоспособность;
  • healthcheck.http.set_alerts — включить оповещения в кластере при проблемах со здоровьем узла;
  • healthcheck.http.checks.include и exclude — список запускаемых и отключенных проверок соответственно. В примере запускаются все проверки, кроме проверок репликации;
  • roles.httpd.default.listen — адрес и порт, на которых запущен HTTP-сервер.

Полный список опций конфигурации для роли roles.healthcheck можно найти в Справочнике по конфигурации.