TDG Documentation portal logo
Помощь
Обновлена 22 июня 2026 г. в 15:31

Метрики Tarantool

В системе TDG доступны метрики для мониторинга работы экземпляров Tarantool.

Общая статистика

Общая информация о различных параметрах экземпляров Tarantool. Тип метрик - gauge.

  • tnt_cfg_current_time - системное время экземпляра в формате unix timestamp;
  • tnt_info_uptime - время с момента запуска экземпляра в секундах;
  • tnt_read_only - принимает значение [1]{.title-ref}, если экземпляр находится в режиме read-only, иначе - [0]{.title-ref}.

Общая статистика использования памяти

Тип метрик - gauge.

  • tnt_info_memory_cache - объем памяти в байтах, используемый для кэширования данных. Актуально для движка базы данных vinyl;
  • tnt_info_memory_data - объем памяти в байтах, используемый для хранения данных (кортежей);
  • tnt_info_memory_index - объем памяти в байтах, используемый для индексирования данных;
  • tnt_info_memory_lua - объем памяти в байтах, используемый средой выполнения Lua-кода;
  • tnt_info_memory_net - объем памяти в байтах, используемый для буферов сетевого ввода/вывода;
  • tnt_info_memory_tx - объем памяти в байтах, используемый активными транзакциями.

Статистика использования памяти для распределения slab

Распределение slab - это основное распределение, используемое для хранения кортежей. Метрики помогают отслеживать:

  • суммарное использование памяти;
  • фрагментацию памяти.

Тип метрик - gauge.

Чтобы узнать больше о вариантах использования распределения slab, обратитесь к документации модуля box.slab.

Доступная память (в байтах)

  • tnt_slab_quota_size - максимальный объем памяти в байтах, который механизм распределения slab может использовать как для кортежей, так и для индексов. Значение по умолчанию в параметре memtx_memory: 2^28 байт = 268 435 456 байт;
  • tnt_slab_arena_size - общий объем памяти в байтах, используемый для кортежей и индексов. Включает в себя выделенные распределения slab, свободные в текущий момент;
  • tnt_slab_items_size - общий объем памяти в байтах, используемый только для кортежей. Включает в себя выделенные распределения slab, свободные в текущий момент. Не используется для индексов.

Использование памяти (в байтах)

  • tnt_slab_quota_used - объем памяти в байтах, уже выделенный для распределения slab;
  • tnt_slab_arena_used - эффективный объем памяти в байтах, используемый для кортежей и индексов. Не включает в себя выделенные распределения slab, свободные в текущий момент;
  • tnt_slab_items_used - эффективный объем памяти в байтах, используемый только для кортежей. Не включает в себя выделенные распределения slab, свободные в текущий момент. Не используется для индексов.

Потребление памяти (в процентах)

  • tnt_slab_quota_used_ratio - соотношение quota_used / quota_size;
  • tnt_slab_arena_used_ratio - соотношение arena_used / arena_size;
  • tnt_slab_items_used_ratio - соотношение items_used / slab_count * slab_size. Это распределения slab, которые используются только для кортежей, не для индексов.

Статистика использования памяти в конкретных спейсах

Все метрики, за исключением tnt_space_index_bsize, имеют два тега:

  • name - имя спейса;
  • engine - движок базы данных, используемый для этого спейса.

Тип метрик - gauge.

Доступные метрики

  • tnt_space_len{name,engine} - количество кортежей в спейсе;
  • tnt_space_bsize{name,engine} - количество байтов, которые занимает спейс (количество байтов во всех кортежах, включая ключи индекса);
  • tnt_space_index_bsize{name,index_name} - количество байтов, занятых под индексы. Метрика также имеет тег index_name - название индекса.
  • tnt_space_total_bsize{name,engine} - суммарное количество байтов space_bsize + space_index_bsize;
  • tnt_vinyl_tuples{name,engine} - суммарное количество кортежей для движка vinyl.

Статистика сетевой активности

Мониторинг нагрузки сети, пиков использования и падения трафика. Начиная с версии Tarantool 2.10, метрики имеют тег thread, который отображает сетевую статистику для каждого потока.

Трафик

Тип метрик - counter.

  • tnt_net_sent_total - исходящий трафик в байтах;
  • tnt_net_received_total - входящий трафик в байтах.

Сетевые соединения

  • tnt_net_connections_total - общее количество входящих сетевых соединений с момента запуска экземпляра. Тип метрики: counter;
  • tnt_net_connections_current - текущее количество входящих сетевых соединений. Тип метрики: gauge.

Сетевые запросы

  • tnt_net_requests_total - общее количество входящих сетевых запросов с момента запуска экземпляра. Тип метрики: counter;
  • tnt_net_requests_current - текущее количество входящих сетевых запросов в обработке. Может быть ограничено параметром конфигурации базы данных net_msg_max. Тип метрики: gauge;
  • tnt_net_requests_in_progress_total - общее количество сетевых запросов, обработанных потоком процессора транзакций (TX thread). Тип метрики: counter;
  • tnt_net_requests_in_progress_current - количество сетевых запросов, которые обрабатывает поток процессора транзакций (TX thread) в текущий момент. Тип метрики: gauge;
  • tnt_net_requests_in_stream_queue_total - общее количество сетевых запросов, помещенных в очереди стримов за все время потоком процессора транзакций (TX thread). Тип метрики: counter;
  • tnt_net_requests_in_stream_queue_current - количество сетевых запросов, ожидающих обработки в очередях стримов в текущий момент. Тип метрики: gauge.

Информация о файберах

Статистика по файберам. Тип метрик - gauge.

  • tnt_fiber_amount - общее количество файберов;
  • tnt_fiber_csw - количество переключений контекста для всех файберов;
  • tnt_fiber_memalloc - общий объем памяти в байтах, выделенный под файберы;
  • tnt_fiber_memused - объем памяти в байтах, используемый файберами.

Статистика входящих запросов (по типу запросов)

Тип метрики - gauge.

  • tnt_stats_op_total{operation} - общее количество запросов данного типа с момента запуска экземпляра.

Метрика имеет тег operation - тип входящего запроса, приходящего по бинарному протоколу. Возможные типы запроса:

  • auth - запросы на аутентификацию;
  • call - запросы на выполнение хранимой процедуры;
  • delete - запросы на удаление;
  • error - запросы, завершившиеся с ошибкой;
  • eval - запросы на выполнение Lua-кода;
  • execute - выполнение SQL-запросов;
  • insert - запросы на вставку;
  • prepare - запросы SQL prepare;
  • replace - запросы на замену;
  • select - запросы на поиск;
  • update - запросы на обновление;
  • upsert - запрос на обновление или вставку.

Информация о репликации

Текущий статус репликации. Тип метрик - gauge.

  • tnt_info_lsn - LSN (log sequence number, регистрационный номер в журнале) данного экземпляра;
  • tnt_info_vclock{id} - значение LSN из пары id: lsn в векторных часах, где id - идентификатор экземпляра в наборе реплик, lsn
    • регистрационный номер в журнале. Метрика имеет тег id - идентификатор экземпляра в наборе реплик.
  • tnt_replication_lsn{id,type} - LSN экземпляра Tarantool. Метрика имеет теги:
    • id - идентификатор экземпляра в наборе реплик;
    • type - тип. Возможные значения: master, replica;
  • tnt_replication_lag{id,stream} - значение лага репликации в секундах. Метрика имеет теги:
    • id - идентификатор экземпляра в наборе реплик;
    • stream - тип. Возможные значения: downstream, upstream.
  • tnt_replication_status{id,stream} - принимает значение [1]{.title-ref} при статусе репликации follow, иначе - [0]{.title-ref}. Метрика имеет теги:
    • id - идентификатор экземпляра в наборе реплик;
    • stream - тип. Возможные значения: downstream, upstream.

Информация о синхронной репликации

Текущее состояние синхронной репликации. Тип метрик - gauge.

  • tnt_synchro_queue_owner - ID экземпляра, который является лидером синхронной репликации в текущий момент;
  • tnt_synchro_queue_term - текущий терм очереди;
  • tnt_synchro_queue_len - количество транзакций, собирающих подтверждения в текущий момент;
  • tnt_synchro_queue_busy - значение [1]{.title-ref}, если очередь обрабатывает системный запрос (CONFIRM/ROLLBACK/PROMOTE/DEMOTE), иначе
    • [0]{.title-ref}.

Метрики работы экземпляров Tarantool в кластере

Тип метрик - gauge.

  • tnt_cartridge_issues{level} - количество ошибок в работе экземпляра. Метрика имеет тег level - это уровень критичности ошибки:
    • critical - критические ошибки в работе экземпляра. Пример: используется более 90% памяти;
    • warning - другие ошибки в работе кластера. Пример: ошибки репликации на экземпляре;
  • tnt_cartridge_cluster_issues - суммарное количество ошибок в работе экземпляра в кластере;
  • tnt_clock_delta{delta} - рассинхронизация часов в кластере в секундах (разница во времени между локальными часами и часами другого экземпляра). Положительное значение указывает на то, что часы другого экземпляра опережают локальные. Отрицательное значение –- на то, что часы другого экземпляра отстают от локальных. Метрика имеет тег delta. Возможные значения тега:
    • max - разница с абсолютным максимальным значением часов (всегда положительная);
    • min - разница с абсолютным минимальным значением часов (всегда отрицательная);
  • tnt_cartridge_failover_trigger_total - количество триггеров аварийного переключения в кластере.

Информация о выборах лидера

Текущее состояние узла в наборе реплик относительно выборов лидера. Тип метрик - gauge.

  • tnt_election_state - состояние узла во время выборов лидера. Когда выборы включены, узел доступен для записи только в состоянии лидера. Возможные значения:
    • [0]{.title-ref} (follower) - все узлы, не являющиеся лидерами (реплики);
    • [1]{.title-ref} (candidate) - узлы, начавшие новый раунд выборов (кандидаты);
    • [2]{.title-ref} (leader) - узел, набравший необходимый кворум голосов (лидер);
  • tnt_election_vote - ID узла, за который голосует текущий узел. Принимает значение [0]{.title-ref}, если узел еще не проголосовал в текущем терме;
  • tnt_election_leader - ID узла, который является лидером в текущем терме. Принимает значение [0]{.title-ref}, если узлу недоступна информация о лидере в текущем терме.
  • tnt_election_term - текущий терм выборов.

Статистика использования памяти для среды выполнения Lua-кода

Тип метрик - gauge.

  • tnt_runtime_lua - объем динамической памяти сборщика мусора в Lua в байтах;
  • tnt_runtime_used - объем памяти в байтах, используемый Lua в данный момент;
  • tnt_runtime_tuple - объем памяти в байтах, используемый для кортежей (кроме кортежей memtx и vinyl).

Метрики LuaJIT

Общая статистика JIT, работа сборщика мусора Lua и статистика выделения (аллокации) памяти. Метрики доступны, начиная с версии Tarantool 2.6.

Общие метрики JIT

  • lj_jit_snap_restore_total - общее количество восстановлений стека при выходе с трассы. Тип метрики: counter;
  • lj_jit_trace_num - количество скомпилированных трасс. Тип метрики: gauge;
  • lj_jit_trace_abort_total - общее количество прерванных компиляций. Тип метрики: counter;
  • lj_jit_mcode_size - общий объем выделенного машинного кода в байтах. Тип метрики: gauge.

JIT-строки

  • lj_strhash_hit_total - количество интернированных строк. Тип метрики: counter;
  • lj_strhash_miss_total - общее количество выделенных строк. Тип метрики: counter.

Шаги сборщика мусора

  • lj_gc_steps_atomic_total - количество шагов инкрементального сборщика мусора (фаза atomic). Тип метрики: counter;
  • lj_gc_steps_sweepstring_total - количество шагов инкрементального сборщика мусора (фаза sweep для строк). Тип метрики: counter;
  • lj_gc_steps_finalize_total - количество шагов инкрементального сборщика мусора (фаза finalize). Тип метрики: counter;
  • lj_gc_steps_sweep_total - количество шагов инкрементального сборщика мусора (фаза sweep). Тип метрики: counter;
  • lj_gc_steps_propagate_total - количество шагов инкрементального сборщика мусора (фаза propagate). Тип метрики: counter;
  • lj_gc_steps_pause_total - количество шагов инкрементального сборщика мусора (фаза pause). Тип метрики: counter.

Выделение памяти

  • lj_gc_strnum - количество выделенных объектов string. Тип метрики: gauge;
  • lj_gc_tabnum - количество выделенных объектов table. Тип метрики: gauge;
  • lj_gc_cdatanum - количество выделенных объектов cdata. Тип метрики: gauge;
  • lj_gc_udatanum - количество выделенных объектов udata. Тип метрики: gauge;
  • lj_gc_freed_total - объем освобожденной памяти в байтах. Тип метрики: counter;
  • lj_gc_memory - текущий объем выделенной Lua-памяти в байтах. Тип метрики: gauge;
  • lj_gc_allocated_total - объем выделенной памяти в байтах. Тип метрики: counter.

Статистика CPU

Информация об использовании процессора. Метрики доступны только для Linux. Тип метрик - gauge.

  • tnt_cpu_number - общее количество процессоров, сконфигурированных операционной системой;
  • tnt_cpu_time - процессорное время хоста в секундах;
  • tnt_cpu_thread{kind,thread_name,thread_pid,file_name} - процессорное время потока Tarantool. Метрика имеет теги:
    • kind - вид. Возможные значения: user, system;
    • thread_name - имя потока. Возможные значения: tarantool, wal, iproto, coio;
    • thread_pid - PID (process ID), идентификатор потока;
    • file_name - имя файла точки входа, например, init.lua;
  • tnt_cpu_user_time - использованное пользовательское время процессора в секундах;
  • tnt_cpu_system_time - использованное системное время процессора в секундах.

Статистика работы движка vinyl

Информация о работе движка vinyl. Тип метрик - gauge.

Disk

Дисковые метрики используются для мониторинга общего объема данных на диске.

  • tnt_vinyl_disk_data_size - количество данных в байтах, которое хранится в файлах .run. Файлы .run расположены в директории vinyl_dir;
  • tnt_vinyl_disk_index_size - количество данных в байтах, которое хранится в файлах .index. Файлы .index расположены в директории vinyl_dir.

Regulator

Регулятор движка vinyl определяет, когда начинать действия по дисковому IO, и группирует их в пакеты.

  • tnt_vinyl_regulator_dump_bandwidth - пропускная способность дампа, байты в секунду;
  • tnt_vinyl_regulator_write_rate - фактическая средняя скорость выполнения операций записи, байты в секунду;
  • tnt_vinyl_regulator_rate_limit - ограничение скорости записи, байты в секунду;
  • tnt_vinyl_regulator_dump_watermark - максимальный объем памяти в байтах, используемый для in-memory хранения LSM-дерева движка vinyl.
  • tnt_vinyl_regulator_blocked_writers - количество файберов, заблокированных в ожидании квоты памяти движка vinyl для "Уровня 0" (L0).

Transactional activity

Работа с транзакциями.

  • tnt_vinyl_tx_commit - счетчик коммитов (успешных завершений транзакций). Включает в себя неявные коммиты. Например, операция на вставку вызывает неявный коммит, если только операция не находится в блоке begin-commit;
  • tnt_vinyl_tx_rollback - счетчик откатов (неудачных завершений транзакций). Включает в себя:
    • явные запросы на rollback;
    • запросы, завершившиеся с ошибкой;
  • tnt_vinyl_tx_conflict - счетчик конфликтов, которые привели к откату транзакций;
  • tnt_vinyl_tx_read_views - текущее количество транзакций, которые перешли в состояние read-only, чтобы временно избежать конфликта.

Memory

Области памяти, используемые движком vinyl для кэша и буферов записи.

  • tnt_vinyl_memory_tuple_cache - объем памяти в байтах, используемый в настоящее время для хранения кортежей (данных);
  • tnt_vinyl_memory_level0 - область памяти "Уровень 0" (L0) в байтах;
  • tnt_vinyl_memory_page_index - объем памяти в байтах, используемый в настоящее время для хранения индексов;
  • tnt_vinyl_memory_bloom_filter - объем памяти в байтах, используемый фильтрами bloom.

Scheduler

Планировщик движка vinyl, который раз в секунду вызывает регулятор и обновляет связанные с ним переменные.

  • tnt_vinyl_scheduler_tasks{status} - количество задач планировщика на дамп / сжатие. Метрика имеет тег status. Возможные значения тега:
    • inprogress - для задач, запущенных в данный момент;
    • completed - для успешно завершенных задач;
    • failed - для задач, прерванных из-за ошибок;
  • tnt_vinyl_scheduler_dump_time - общее время в секундах, затраченное всеми рабочими потоками на выполнение дампов;
  • tnt_vinyl_scheduler_dump_count - счетчик выполненных дампов.

Статистика цикла событий

Информация о потоке транзакций цикла событий. Тип метрик - gauge.

  • tnt_ev_loop_time - время цикла событий в миллисекундах;
  • tnt_ev_loop_prolog_time - время пролога цикла событий в миллисекундах;
  • tnt_ev_loop_epilog_time - время эпилога цикла событий в миллисекундах.