Конфигурация модуля 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.