Метрики 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– время эпилога цикла событий в миллисекундах.