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