Метрики Tarantool | Tdg
Administrator’s guide Monitoring Метрики Tarantool

Метрики 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

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

  • 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 – счетчик коммитов (успешных завершений транзакций). Включает в себя неявные коммиты. Например, операция на вставку вызывает неявный коммит, если только операция не находится в блоке begincommit;

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

Found what you were looking for?
Feedback