Конфигурация модуля metrics | Tdb
Руководство администратора Мониторинг Конфигурация модуля metrics

Конфигурация модуля metrics

Настроить модуль метрик можно в YAML-конфигурации кластера. По умолчанию для каждого из экземпляров кластера значения метрик доступны по адресу http://<IP_адрес_экземпляра>/metrics. В конфигурации системы для сбора метрик (например в Prometheus) необходимо подать на вход адреса для сбора метрик со всех экземпляров кластера.

Настройка предоставления метрик

В Tarantool DB для предоставления метрик в форматах Prometheus или JSON используется технологическая роль roles.metrics-export.

Если в конфигурации требуется технологическая роль roles.httpd, во избежание возможных ошибок применяйте ее перед ролью roles.metrics-export. Для этого в конфигурации в секции roles укажите эти роли в следующем порядке:

#...
groups:
  routers:
    #...
    roles: [ roles.httpd, roles.metrics-export ]

В примере конфигурации ниже задаются настройки роли roles.metrics-export для экспорта метрик по HTTP в формате Prometheus. Метрики кластера предоставляются по адресу обработчика запроса /metrics:

roles_cfg:
  roles.metrics-export:
    http:
      - endpoints:
        - path: /metrics
          format: prometheus

В настройках этой технологической роли (секция roles_cfg в конфигурации) задаются:

  • endpoints.path – адрес обработчика запроса (endpoint);

  • endpoints.format – формат, в котором предоставляются метрики. Возможные значения: prometheus, json.

Роль roles.metrics-export может использовать общий HTTP-сервер, настроенный через roles.httpd. Чтобы использовать общий HTTP-сервер, не указывайте параметр listen в конфигурации roles.metrics-export. В этом случае адреса обработчиков запросов для метрик будут обслуживаться тем же HTTP-сервером, который определён в секции default роли roles.httpd, с учётом его настроек (включая параметр log_requests и порт).

Если же в конфигурации roles.metrics-export задать параметр listen, будет запущен отдельный HTTP-сервер, который не унаследует настройки log_requests из roles.httpd и будет использовать уровень логирования по умолчанию (info).

В настройках технологической роли roles.httpd можно задать:

  • listen – адрес и порт, на которых будет работать HTTP-сервер;

  • log_requests – уровень детализации логов для событий запроса метрик. Возможные значения: info, warn, error, verbose, debug.

Пример настройки сервера по умолчанию:

roles_cfg:
  roles.httpd:
    default:
      listen: 8081
      log_requests: verbose

Также можно определить именованный HTTP-сервер:

roles_cfg:
  roles.httpd:
    default:
      listen: 8082
    additional:
      listen: 8081
      log_requests: verbose

Использовать именованный сервер в roles.metrics-export можно с помощью параметра server:

roles_cfg:
  roles.metrics-export:
    http:
      - server: additional
        endpoints:
          - path: /metrics
            format: prometheus

В этом случае метрики будут доступны на порту 8081, а логирование запросов к адресу обработчика запроса /metrics будет выполняться с уровнем детализации verbose, как указано в конфигурации сервера additional.

Получение метрик кластера

Для получения метрик кластера Tarantool DB используются GET-запросы на адрес обработчика запроса /metrics:

curl http://localhost:8081/metrics

Кроме того, просматривать показания метрик для подключенных кластеров в реальном времени можно в веб-интерфейсе TCM. Для этого в TCM откройте вкладку Cluster > Cluster metrics, а затем введите или выберите нужную метрику в строке поиска. Выбрать нужный способ отображения – в виде диаграммы (Chart) или таблицы (Table) – можно с помощью соответствующего переключателя справа от строки поиска. Подробная информация о просмотре метрик кластера через TCM приведена в документации Tarantool.

Смотрите также: Дашборд Grafana.

Нашли ответ на свой вопрос?
Обратная связь