VK WorkSpace On-Premise logo
Помощь
Обновлена 20 октября 2026 г. в 14:33

Tarantool

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

Общая информация об инстансе:

Метрика

Описание

tnt_cfg_current_time

Системное время инстанса в формате Unix timestamp.

tnt_info_uptime

Время в секундах с момента запуска инстанса.

tnt_read_only

Указывает, находится ли инстанс в режиме "только для чтения" (1 если да, 0 если нет).

Память (общая)

Следующие метрики дают картину использования памяти процессом Tarantool.

Метрика

Описание

tnt_info_memory_cache

Количество байт в кэше, используемом для хранения кортежей движка vinyl.

tnt_info_memory_data

Количество байт, используемых для хранения пользовательских данных (кортежей) в движке memtx и на уровне 0 движка vinyl, без учета фрагментации памяти.

tnt_info_memory_index

Количество байт, используемых для индексации пользовательских данных. Включает деревья памяти memtx и vinyl, страничный индекс vinyl и фильтры Блума vinyl.

tnt_info_memory_lua

Количество байт, используемых средой выполнения Lua. Мониторинг этой метрики может предотвратить переполнение памяти.

tnt_info_memory_net

Количество байт, используемых для буферов сетевого ввода/вывода.

tnt_info_memory_tx

Количество байт, используемых активными транзакциями. Для движка vinyl это общий размер всех выделенных объектов (struct txv, struct vy_tx, struct vy_read_interval) и закрепленных за ними кортежей.

Выделение памяти (Slab allocator)

Отчет об использовании памяти слэб-аллокатором. Слэб-аллокатор является основным для хранения кортежей. Доступная память, байты:

Метрика

Описание

tnt_slab_quota_size

Объем памяти, доступный для хранения кортежей и индексов. Равен параметру memtx_memory.

tnt_slab_arena_size

Общий объем памяти, доступный для хранения как кортежей, так и индексов. Включает выделенные, но свободные в данный момент слэбы.

tnt_slab_items_size

Общий объем памяти, доступный для хранения только кортежей (не индексов). Включает выделенные, но свободные в данный момент слэбы.

Использование памяти, байты:

Метрика

Описание

tnt_slab_quota_used

Объем памяти, уже зарезервированный слэб-аллокатором.

tnt_slab_arena_used

Эффективно используемая память для хранения как кортежей, так и индексов. Без учета выделенных, но свободных слэбов.

tnt_slab_items_used

Эффективно используемая память для хранения только кортежей (не индексов). Без учета выделенных, но свободных слэбов.

Использование памяти, %:

Метрика

Описание

tnt_slab_quota_used_ratio

tnt_slab_quota_used / tnt_slab_quota_size

tnt_slab_arena_used_ratio

tnt_slab_arena_used / tnt_slab_arena_size

tnt_slab_items_used_ratio

tnt_slab_items_used / tnt_slab_items_size

Спейсы (Spaces)

Следующие метрики предоставляют информацию о каждом отдельном спейсе в инстансе Tarantool.

Метрика

Описание

tnt_space_len

Количество записей в спейсе. Всегда имеет метки: {name="test", engine="memtx"}, где name — имя спейса, engine — его движок.

tnt_space_bsize

Общее количество байт во всех кортежах спейса. Всегда имеет метки: {name="test", engine="memtx"}.

tnt_space_index_bsize

Общее количество байт, занимаемых индексом. Всегда имеет метки: {name="test", index_name="pk"}, где name — имя спейса, index_name — имя индекса.

tnt_space_total_bsize

Общий размер кортежей и всех индексов в спейсе. Всегда имеет метки: {name="test", engine="memtx"}.

tnt_vinyl_tuples

Общее количество кортежей для vinyl. Всегда имеет метки: {name="test", engine="vinyl"}. По умолчанию эта метрика отключена и может быть включена только глобальной переменной: rawset(_G, 'include_vinyl_count', true).

Сеть (Network)

Статистика сетевой активности. Метрики для мониторинга сетевой нагрузки, пиков использования и потерь трафика.

Метрика

Описание

tnt_net_sent_total

Байт, отправленных из инстанса по сети с момента его запуска.

tnt_net_received_total

Байт, полученных инстансом с момента запуска.

tnt_net_connections_total

Количество входящих сетевых соединений с момента запуска инстанса.

tnt_net_connections_current

Количество активных сетевых соединений.

tnt_net_requests_total

Количество сетевых запросов, обработанных инстансом с момента запуска.

tnt_net_requests_current

Количество ожидающих обработки сетевых запросов.

tnt_net_requests_in_progress_total

Общее количество запросов, обработанных потоком tx (транзакций).

tnt_net_requests_in_progress_current

Количество запросов, обрабатываемых в данный момент в потоке tx.

tnt_net_requests_in_stream_total

Общее количество запросов, помещенных в очереди потоков (стримов) за все время.

tnt_net_requests_in_stream_current

Количество запросов, ожидающих в очередях потоков в данный момент.

Начиная с Tarantool 2.10, каждая сетевая метрика имеет метку thread, показывающую статистику по потокам.

Файберы (Fibers)

Статистика по файберам. Если ваше приложение создает много файберов, вы можете использовать эти метрики для мониторинга их количества и использования памяти.

Метрика

Описание

tnt_fiber_amount

Количество файберов.

tnt_fiber_csw

Общее количество переключений контекста файберов.

tnt_fiber_memalloc

Объем памяти, зарезервированной для файберов.

tnt_fiber_memused

Объем памяти, используемой файберами.

Операции (Operations)

Вы можете собирать данные об iproto-запросах, обработанных инстансом, и агрегировать их по типу запроса. Это поможет узнать, какие операции ваши клиенты выполняют чаще всего.

Метрика

Описание

tnt_stats_op_total

Общее количество вызовов с момента запуска сервера.

Для различия между типами запросов эта метрика имеет метку operation. Например: {operation="select"}.

Возможные типы операций (operation):

Метка

Описание

auth

Запросы аутентификации.

call

Запросы на выполнение хранимых процедур.

delete

Запросы на удаление.

error

Запросы, завершившиеся ошибкой.

eval

Вызовы для выполнения кода Lua.

execute

Запросы на выполнение SQL.

insert

Запросы на вставку.

prepare

Запросы на подготовку SQL.

replace

Запросы на замену.

select

Запросы на выборку.

update

Запросы на обновление.

upsert

Запросы на вставку или обновление.

Репликация (Replication)

Предоставляет текущий статус репликации.

Метрика

Описание

tnt_info_lsn

LSN (Log Sequence Number) инстанса.

tnt_info_vclock

Номер LSN в векторных часах (vclock). Всегда имеет метку {id="id"}, где id — номер инстанса в наборе реплик.

tnt_replication_lsn

LSN инстанса Tarantool. Всегда имеет метки {id="id", type="type"}, где id — номер инстанса, type — master или replica.

tnt_replication_lag

Значение лага репликации в секундах. Всегда имеет метки {id="id", stream="stream"}, где id — номер инстанса, stream — downstream или upstream.

tnt_replication_status

Эта метрика равна 1, когда статус репликации — «follow», и 0 в противном случае. Всегда имеет метки {id="id", stream="stream"}.

Среда выполнения (Runtime)

Метрика

Описание

tnt_runtime_lua

Размер сборщика мусора Lua в байтах.

tnt_runtime_used

Количество байт, используемых средой выполнения Lua.

tnt_runtime_tuple

Количество байт, используемых кортежами (кроме кортежей, принадлежащих memtx и vinyl).

Метрики LuaJIT

Метрики LuaJIT дают представление о работе сборщика мусора Lua. Доступны в Tarantool 2.6 и новее.

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

Метрика

Описание

lj_jit_snap_restore_total

Общее количество восстановлений снэпшотов.

lj_jit_trace_num

Количество JIT-трейсов.

lj_jit_trace_abort_total

Общее количество прерванных трейсов.

lj_jit_mcode_size

Общий размер выделенных областей машинного кода.

Строки JIT:

Метрика

Описание

lj_strhash_hit_total

Количество интернированных строк.

lj_strhash_miss_total

Общее количество выделений строк.

Шаги GC:

Метрика

Описание

lj_gc_steps_atomic_total

Количество инкрементальных шагов GC (состояние atomic).

lj_gc_steps_sweepstring_total

Количество инкрементальных шагов GC (состояние sweepstring).

lj_gc_steps_finalize_total

Количество инкрементальных шагов GC (состояние finalize).

lj_gc_steps_sweep_total

Количество инкрементальных шагов GC (состояние sweep).

lj_gc_steps_propagate_total

Количество инкрементальных шагов GC (состояние propagate).

lj_gc_steps_pause_total

Количество инкрементальных шагов GC (состояние pause).

Выделения (Allocations):

Метрика

Описание

lj_gc_strnum

Количество выделенных строковых объектов.

lj_gc_tabnum

Количество выделенных табличных объектов.

lj_gc_cdatanum

Количество выделенных cdata-объектов.

lj_gc_udatanum

Количество выделенных udata-объектов.

lj_gc_freed_total

Общий объем освобожденной памяти.

lj_gc_memory

Текущая выделенная память Lua.

lj_gc_allocated_total

Общий объем выделенной памяти.

Метрики CPU

Следующие метрики предоставляют статистику использования CPU. Доступны только на Linux.

Метрика

Описание

tnt_cpu_number

Общее количество процессоров, сконфигурированных операционной системой.

tnt_cpu_time

Процессорное время хоста.

tnt_cpu_thread

Процессорное время потока Tarantool. Всегда имеет метки: {kind="user", thread_name="tarantool", thread_pid="pid", file_name="init.lua"}, где kind может быть user или system, thread_name — tarantool, wal, iproto или coio, file_name — имя входного файла.

Существуют также две кроссплатформенные метрики, которые можно получить с помощью вызова getrusage():

Метрика

Описание

tnt_cpu_user_time

Процессорное время пользователя Tarantool.

tnt_cpu_system_time

Системное процессорное время Tarantool.

Vinyl

Метрики Vinyl предоставляют статистику движка vinyl.

Диск (Disk)

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

Метрика

Описание

tnt_vinyl_disk_data_size

Объем данных в байтах, хранящихся в файлах .run, расположенных в vinyl_dir.

tnt_vinyl_disk_index_size

Объем данных в байтах, хранящихся в файлах .index, расположенных в vinyl_dir.

Регулятор (Regulator)

Регулятор vinyl решает, когда начинать действия ввода-вывода на диск. Он группирует действия в пакеты для повышения эффективности.

Метрика

Описание

tnt_vinyl_regulator_dump_bandwidth

Расчетная средняя скорость дампа, байт в секунду. Начальное значение — 10485760 (10 МБ/с). Пересчитывается в зависимости от фактической скорости. Для оценки используются только значимые дампы размером более 1 МБ.

tnt_vinyl_regulator_write_rate

Фактическая средняя скорость выполнения операций записи, байт в секунду. Рассчитывается как скользящее среднее за 5 секунд. Если значение метрики постепенно снижается, это может указывать на проблемы с диском.

tnt_vinyl_regulator_rate_limit

Ограничение скорости записи, байт в секунду. Регулятор накладывает ограничение на транзакции на основе наблюдаемой производительности дампа/компактации. Если значение метрики падает примерно до 10^5, это указывает на проблемы с диском или планировщиком.

tnt_vinyl_regulator_dump_watermark

Максимальный объем памяти в байтах, используемый для хранения LSM-дерева vinyl в памяти. При достижении этого максимума должен произойти дамп. Значение немного меньше объема памяти, выделенного для деревьев vinyl, который отражается в параметре vinyl_memory.

tnt_vinyl_regulator_blocked_writers

Количество файберов, заблокированных в ожидании квоты памяти уровня 0 vinyl.

Транзакционная активность (Transactional activity)

Метрика

Описание

tnt_vinyl_tx_commit

Счетчик коммитов (успешных завершений транзакций). Включает неявные коммиты (например, любая операция вставки вызывает коммит, если она не внутри блока box.begin()–box.commit()).

tnt_vinyl_tx_rollback

Счетчик откатов (неуспешных завершений транзакций). Это не просто количество явных box.rollback(), но и запросы, завершившиеся ошибками.

tnt_vinyl_tx_conflict

Счетчик конфликтов, вызвавших откат транзакций. Если отношение tnt_vinyl_tx_conflict / tnt_vinyl_tx_commit выше 5%, это указывает на нездоровое состояние vinyl.

tnt_vinyl_tx_read_views

Текущее количество read view (представлений чтения) — транзакций, которые временно перешли в состояние "только чтение" для избежания конфликта. Обычно значение равно 0. Если оно долго остается ненулевым, это указывает на утечку памяти.

Память (Memory)

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

Метрика

Описание

tnt_vinyl_memory_tuple_cache

Объем памяти в байтах, используемый для хранения кортежей (данных) в кэше.

tnt_vinyl_memory_level0

Объем памяти уровня 0 (L0) в байтах. L0 — область, которую vinyl может использовать для хранения LSM-дерева в памяти. Наблюдая за этой метрикой, можно увидеть, когда L0 приближается к своему максимуму (tnt_vinyl_regulator_dump_watermark), после чего произойдет дамп. Можно ожидать, что сразу после завершения дампа L0 = 0.

tnt_vinyl_memory_page_index

Объем памяти в байтах, используемый для хранения индексов. Если значение метрики близко к vinyl_memory, это указывает на неверный выбор vinyl_page_size.

tnt_vinyl_memory_bloom_filter

Объем памяти в байтах, используемый фильтрами Блума.

tnt_vinyl_memory_tuple

Общий размер памяти в байтах, занимаемый кортежами vinyl. Включает кэшированные кортежи и кортежи, закрепленные миром Lua.

Планировщик (Scheduler)

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

Метрика

Описание

tnt_vinyl_scheduler_tasks

Количество задач дампа/компактации планировщика. Всегда имеет метку {status = <status_value>}, где status_value может быть inprogress (выполняется), completed (успешно завершена) или failed (прервана из-за ошибок).

tnt_vinyl_scheduler_dump_time

Общее время в секундах, затраченное всеми рабочими потоками на выполнение дампов.

tnt_vinyl_scheduler_dump_total

Счетчик завершенных дампов.

Метрики цикла событий (Event loop)

Информация о потоке цикла событий tx:

Метрика

Описание

tnt_ev_loop_time

Время цикла событий (мс).

tnt_ev_loop_prolog_time

Время пролога цикла событий (мс).

tnt_ev_loop_epilog_time

Время эпилога цикла событий (мс).

Синхро (Synchro)

Показывает текущее состояние синхронной репликации.

Метрика

Описание

tnt_synchro_queue_owner

ID инстанса текущего мастера синхронной репликации.

tnt_synchro_queue_term

Текущий терм очереди.

tnt_synchro_queue_len

Сколько транзакций в данный момент ожидают подтверждений.

tnt_synchro_queue_busy

Обрабатывает ли очередь какие-либо системные записи (CONFIRM/ROLLBACK/PROMOTE/DEMOTE).

Выборы лидера (Election)

Показывает текущее состояние узла набора реплик в отношении выборов лидера.

Метрика
Описание
tnt_election_state
Состояние (режим) узла в процессе выборов. Когда выборы включены, узел доступен для записи только в состоянии лидера. Возможные значения:
0 (follower): все не-лидеры называются подписчиками.
1 (candidate): узлы, начинающие новый раунд выборов, называются кандидатами.
2 (leader): узел, собравший кворум голосов, становится лидером.
tnt_election_vote
ID узла, за который голосует текущий узел. Если значение равно 0, это означает, что узел еще не голосовал в текущем терме.
tnt_election_leader
ID узла-лидера в текущем терме. Если значение равно 0, это означает, что узел не знает, какой узел является лидером в текущем терме.
tnt_election_term
Текущий терм выборов.
tnt_election_leader_idle
Время в секундах с момента последнего взаимодействия с известным лидером.

Memtx (MVCC)

Статистика памяти для многоверсионного управления конкурентным доступом (MVCC) в memtx. Менеджер транзакций состоит из двух частей: сами транзакции (секция TXN) и MVCC.

TXN

Метрика
Описание
tnt_memtx_tnx_statements
Операторы (statements) транзакции. Всегда имеет метку {kind="..."} с возможными значениями:
total: количество байт, выделенных под операторы всех текущих транзакций.
average: среднее количество байт, используемое транзакциями для операторов (txn.statements.total bytes / количество открытых транзакций).
max: максимальное количество байт, используемое одной из текущих транзакций для операторов.
tnt_memtx_tnx_user
Память, выделенная через функцию box_txn_alloc() для текущей транзакции. Всегда имеет метку {kind="..."} с возможными значениями total, average, max (аналогично выше).
tnt_memtx_tnx_system
Внутренние механизмы: логи, точки сохранения. Всегда имеет метку {kind="..."} с возможными значениями total, average, max.

MVCC

MVCC отвечает за изоляцию транзакций. Он обнаруживает конфликты и гарантирует, что кортежи, которых больше нет в спейсе, но которые читаются какой-либо транзакцией (или могут быть прочитаны), не были удалены.

Метрика

Описание

tnt_memtx_mvcc_trackers

Трекеры, отслеживающие чтения транзакций. Всегда имеет метку {kind="..."} с возможными значениями total, average, max.

tnt_memtx_mvcc_conflicts

Выделяется в случае конфликтов транзакций. Всегда имеет метку {kind="..."} с возможными значениями total, average, max.

Кортежи (Tuples)

Сохраненные кортежи разделены на 3 категории: используемые (used), read view (read_view), отслеживающие (tracking). Для каждой категории есть две метрики:

  • retained - кортежи, которых больше нет в индексе, но MVCC не позволяет их удалить.
  • stories - механизм историй (story) в MVCC. Почти каждый кортеж имеет историю.

Метрика

Описание

tnt_memtx_mvcc_tuples_used_stories

Кортежи, используемые активными транзакциями чтения-записи. Метка {kind="..."} со значениями count (количество) и total (байты).

tnt_memtx_mvcc_tuples_used_retained

Удерживаемые кортежи, используемые активными транзакциями чтения-записи. Метка {kind="..."}.

tnt_memtx_mvcc_tuples_read_view_stories

Кортежи, не используемые активными транзакциями чтения-записи, но используемые транзакциями только для чтения (в read view). Метка {kind="..."}.

tnt_memtx_mvcc_tuples_read_view_retained

Удерживаемые кортежи, не используемые активными транзакциями чтения-записи, но используемые read-view транзакциями. Метка {kind="..."}.

tnt_memtx_mvcc_tuples_tracking_stories

Кортежи, не используемые напрямую никакими транзакциями, но используемые MVCC для отслеживания чтений. Метка {kind="..."}.

tnt_memtx_mvcc_tuples_tracking_retained

Удерживаемые кортежи, не используемые напрямую никакими транзакциями, но используемые MVCC для отслеживания чтений. Метка {kind="..."}.

Статистика Read View

Метрика

Описание

tnt_memtx_tuples_data_total

Общий объем памяти (в байтах), выделенный для кортежей данных. Включает значения метрик tnt_memtx_tuples_data_read_view и tnt_memtx_tuples_data_garbage, а также кортежи, фактически хранящиеся в спейсах memtx.

tnt_memtx_tuples_data_read_view

Память (в байтах), занятая под read view.

tnt_memtx_tuples_data_garbage

Память (в байтах), которая не используется и запланирована к освобождению (освобождается лениво при выделении памяти).

tnt_memtx_index_total

Общий объем памяти (в байтах), выделенный для индексации данных. Включает значение метрики tnt_memtx_index_read_view плюс память, используемую для индексации кортежей, фактически хранящихся в спейсах memtx.

tnt_memtx_index_read_view

Память (в байтах), занятая под read view для индексов.

Конфигурация Tarantool

Начиная с версии: 3.0.0.

Метрика

Описание

tnt_config_alerts

Количество текущих предупреждений (alerts) при применении конфигурации инстанса. Метка {level="warn"} покрывает предупреждения, {level="error"} — ошибки.

tnt_config_status

Статус применения текущей конфигурации инстанса. Метка status содержит возможное имя статуса. Текущий статус имеет значение метрики 1, неактивные статусы — 0.

Пример набора метрик для статуса конфигурации:

Была ли статья полезна?