Метрики Tarantool¶
В системе TDG доступны метрики для мониторинга работы экземпляров Tarantool.
Общая статистика¶
Общая информация о различных параметрах экземпляров Tarantool. Тип метрик – gauge.
tnt_cfg_current_time
– системное время экземпляра в формате unix timestamp;tnt_info_uptime
– время с момента запуска экземпляра в секундах;tnt_read_only
– принимает значение1
, если экземпляр находится в режиме read-only, иначе –0
.
Общая статистика использования памяти¶
Тип метрик – 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
при статусе репликацииfollow
, иначе –0
. Метрика имеет теги:id
– идентификатор экземпляра в наборе реплик;stream
– тип. Возможные значения:downstream
,upstream
.
Информация о синхронной репликации¶
Текущее состояние синхронной репликации. Тип метрик – gauge.
tnt_synchro_queue_owner
– ID экземпляра, который является лидером синхронной репликации в текущий момент;tnt_synchro_queue_term
– текущий терм очереди;tnt_synchro_queue_len
– количество транзакций, собирающих подтверждения в текущий момент;tnt_synchro_queue_busy
– значение1
, если очередь обрабатывает системный запрос (CONFIRM/ROLLBACK/PROMOTE/DEMOTE), иначе –0
.
Метрики работы экземпляров 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
(follower
) – все узлы, не являющиеся лидерами (реплики);1
(candidate
) – узлы, начавшие новый раунд выборов (кандидаты);2
(leader
) – узел, набравший необходимый кворум голосов (лидер);
tnt_election_vote
– ID узла, за который голосует текущий узел. Принимает значение0
, если узел еще не проголосовал в текущем терме;tnt_election_leader
– ID узла, который является лидером в текущем терме. Принимает значение0
, если узлу недоступна информация о лидере в текущем терме.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¶
Дисковые метрики используются для мониторинга общего объема данных на диске.
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
– время эпилога цикла событий в миллисекундах.