Дашборд Grafana
После включения и настройки метрик их можно визуализировать с помощью дашбордов Grafana для Tarantool. Эти дашборды доступны в составе официальных и созданных сообществом дашбордов Grafana:
Tarantool 3 | |
|---|---|
Tarantool Cartridge and Tarantool 1.10-2.x | |
Tarantool Data Grid 2 |
Дашборд Grafana для Tarantool - это готовый к импорту шаблон со стандартными панелями для мониторинга памяти, операций со спейсами и HTTP-нагрузки, основанный на функциональности пакета metrics по умолчанию.



Поскольку существуют дашборды Grafana для источников данных Prometheus и InfluxDB, можно использовать один из следующих вариантов:
-
Telegraf в качестве серверного агента для сбора метрик, InfluxDB в качестве базы данных временных рядов для хранения метрик и Grafana в качестве платформы визуализации.
-
Prometheus в качестве серверного агента для сбора метрик и базы данных временных рядов для хранения метрик, а также Grafana в качестве платформы визуализации.
При возникновении проблем с настройкой экземпляров Prometheus, Telegraf, InfluxDB или Grafana обратитесь к документации соответствующего проекта.
Для сбора метрик в Prometheus сначала настройте вывод метрик в формате prometheus. Можно использовать конфигурацию роли
roles.metrics-export или настроить
плагин Prometheus вручную.
Чтобы начать сбор метрик, добавьте
задание в
конфигурацию Prometheus, указав URI каждого экземпляра Tarantool в качестве цели и путь к метрикам, заданный на экземплярах
Tarantool:
/code_snippets/snippets/sharding/instances.enabled/sharded_cluster_crud_metrics/prometheus/prometheus.yml
Для сбора метрик в InfluxDB используйте агент Telegraf. Сначала настройте вывод метрик Tarantool в формате json с помощью
конфигурации роли roles.metrics-export или соответствующего
плагина JSON. Чтобы начать сбор метрик,
добавьте HTTP-вход в конфигурацию Telegraf,
указав URL метрик каждого экземпляра Tarantool:
[[inputs.http]]urls = ["http://example_project:8081/metrics/json","http://example_project:8082/metrics/json","http://example_project:8083/metrics/json","http://example_project:8084/metrics/json","http://example_project:8085/metrics/json"]timeout = "30s"tag_keys = ["metric_name","label_pairs_alias","label_pairs_quantile","label_pairs_path","label_pairs_method","label_pairs_status","label_pairs_operation","label_pairs_level","label_pairs_id","label_pairs_engine","label_pairs_name","label_pairs_index_name","label_pairs_delta","label_pairs_stream","label_pairs_thread","label_pairs_kind"]insecure_skip_verify = trueinterval = "10s"data_format = "json"name_prefix = "tarantool_"fieldpass = ["value"]
Обязательно укажите каждый ключ метки как label_pairs_<key>, чтобы плагин мог его извлечь. Например, если в каких-либо
сборщиках метрик используются метки { state = 'ready' }, добавьте ключ тега label_pairs_state.
Откройте меню импорта Grafana.

Чтобы импортировать конкретный дашборд, выберите один из следующих вариантов:
- Вставьте идентификатор дашборда (
21474для дашборда Prometheus,21484для дашборда InfluxDB). - Вставьте ссылку на дашборд (https://grafana.com/grafana/dashboards/21474 для дашборда Prometheus, https://grafana.com/grafana/dashboards/21484 для дашборда InfluxDB).
- Вставьте содержимое JSON-файла дашборда.
- Загрузите JSON-файл дашборда Задайте имя дашборда, папку и uid (при необходимости).

Источник данных и переменные источника данных можно выбрать после импорта.

- Если на графиках нет данных, убедитесь, что источник данных и job/measurement выбраны правильно.
- Если на графиках нет данных, убедитесь, что у вас есть группа метрик Tarantool
info(в частности,tnt_info_uptime). - Если на некоторых графиках Prometheus нет данных из-за ошибки
parse error: missing unit character in duration, убедитесь, что используется Grafana версии 7.2 или новее. - Если на некоторых графиках Prometheus отображается ошибка
parse error: bad duration syntax "1m0"или подобная, обновите версию Prometheus. Подробнее см. описание grafana/grafana#44542.