Общая информация об инстансе:
Метрика | Описание |
|---|---|
| Системное время инстанса в формате Unix timestamp. |
| Время в секундах с момента запуска инстанса. |
| Указывает, находится ли инстанс в режиме "только для чтения" (1 если да, 0 если нет). |
Следующие метрики дают картину использования памяти процессом Tarantool.
Метрика | Описание |
|---|---|
| Количество байт в кэше, используемом для хранения кортежей движка vinyl. |
| Количество байт, используемых для хранения пользовательских данных (кортежей) в движке memtx и на уровне 0 движка vinyl, без учета фрагментации памяти. |
| Количество байт, используемых для индексации пользовательских данных. Включает деревья памяти memtx и vinyl, страничный индекс vinyl и фильтры Блума vinyl. |
| Количество байт, используемых средой выполнения Lua. Мониторинг этой метрики может предотвратить переполнение памяти. |
| Количество байт, используемых для буферов сетевого ввода/вывода. |
| Количество байт, используемых активными транзакциями. Для движка vinyl это общий размер всех выделенных объектов ( |
Отчет об использовании памяти слэб-аллокатором. Слэб-аллокатор является основным для хранения кортежей. Доступная память, байты:
Метрика | Описание |
|---|---|
| Объем памяти, доступный для хранения кортежей и индексов. Равен параметру |
| Общий объем памяти, доступный для хранения как кортежей, так и индексов. Включает выделенные, но свободные в данный момент слэбы. |
| Общий объем памяти, доступный для хранения только кортежей (не индексов). Включает выделенные, но свободные в данный момент слэбы. |
Использование памяти, байты:
Метрика | Описание |
|---|---|
| Объем памяти, уже зарезервированный слэб-аллокатором. |
| Эффективно используемая память для хранения как кортежей, так и индексов. Без учета выделенных, но свободных слэбов. |
| Эффективно используемая память для хранения только кортежей (не индексов). Без учета выделенных, но свободных слэбов. |
Использование памяти, %:
Метрика | Описание |
|---|---|
|
|
|
|
|
|
Следующие метрики предоставляют информацию о каждом отдельном спейсе в инстансе Tarantool.
Метрика | Описание |
|---|---|
| Количество записей в спейсе. Всегда имеет метки: |
| Общее количество байт во всех кортежах спейса. Всегда имеет метки: |
| Общее количество байт, занимаемых индексом. Всегда имеет метки: |
| Общий размер кортежей и всех индексов в спейсе. Всегда имеет метки: |
| Общее количество кортежей для vinyl. Всегда имеет метки: |
Статистика сетевой активности. Метрики для мониторинга сетевой нагрузки, пиков использования и потерь трафика.
Метрика | Описание |
|---|---|
| Байт, отправленных из инстанса по сети с момента его запуска. |
| Байт, полученных инстансом с момента запуска. |
| Количество входящих сетевых соединений с момента запуска инстанса. |
| Количество активных сетевых соединений. |
| Количество сетевых запросов, обработанных инстансом с момента запуска. |
| Количество ожидающих обработки сетевых запросов. |
| Общее количество запросов, обработанных потоком |
| Количество запросов, обрабатываемых в данный момент в потоке |
| Общее количество запросов, помещенных в очереди потоков (стримов) за все время. |
| Количество запросов, ожидающих в очередях потоков в данный момент. |
Начиная с Tarantool 2.10, каждая сетевая метрика имеет метку thread, показывающую статистику по потокам.
Статистика по файберам. Если ваше приложение создает много файберов, вы можете использовать эти метрики для мониторинга их количества и использования памяти.
Метрика | Описание |
|---|---|
| Количество файберов. |
| Общее количество переключений контекста файберов. |
| Объем памяти, зарезервированной для файберов. |
| Объем памяти, используемой файберами. |
Вы можете собирать данные об iproto-запросах, обработанных инстансом, и агрегировать их по типу запроса. Это поможет узнать, какие операции ваши клиенты выполняют чаще всего.
Метрика | Описание |
|---|---|
| Общее количество вызовов с момента запуска сервера. |
Для различия между типами запросов эта метрика имеет метку operation. Например: {operation="select"}.
Возможные типы операций (operation):
Метка | Описание |
|---|---|
| Запросы аутентификации. |
| Запросы на выполнение хранимых процедур. |
| Запросы на удаление. |
| Запросы, завершившиеся ошибкой. |
| Вызовы для выполнения кода Lua. |
| Запросы на выполнение SQL. |
| Запросы на вставку. |
| Запросы на подготовку SQL. |
| Запросы на замену. |
| Запросы на выборку. |
| Запросы на обновление. |
| Запросы на вставку или обновление. |
Предоставляет текущий статус репликации.
Метрика | Описание |
|---|---|
| LSN (Log Sequence Number) инстанса. |
| Номер LSN в векторных часах (vclock). Всегда имеет метку |
| LSN инстанса Tarantool. Всегда имеет метки |
| Значение лага репликации в секундах. Всегда имеет метки |
| Эта метрика равна 1, когда статус репликации — «follow», и 0 в противном случае. Всегда имеет метки |
Метрика | Описание |
|---|---|
| Размер сборщика мусора Lua в байтах. |
| Количество байт, используемых средой выполнения Lua. |
| Количество байт, используемых кортежами (кроме кортежей, принадлежащих memtx и vinyl). |
Метрики LuaJIT дают представление о работе сборщика мусора Lua. Доступны в Tarantool 2.6 и новее.
Общие JIT-метрики:
Метрика | Описание |
|---|---|
| Общее количество восстановлений снэпшотов. |
| Количество JIT-трейсов. |
| Общее количество прерванных трейсов. |
| Общий размер выделенных областей машинного кода. |
Строки JIT:
Метрика | Описание |
|---|---|
| Количество интернированных строк. |
| Общее количество выделений строк. |
Шаги GC:
Метрика | Описание |
|---|---|
| Количество инкрементальных шагов GC (состояние atomic). |
| Количество инкрементальных шагов GC (состояние sweepstring). |
| Количество инкрементальных шагов GC (состояние finalize). |
| Количество инкрементальных шагов GC (состояние sweep). |
| Количество инкрементальных шагов GC (состояние propagate). |
| Количество инкрементальных шагов GC (состояние pause). |
Выделения (Allocations):
Метрика | Описание |
|---|---|
| Количество выделенных строковых объектов. |
| Количество выделенных табличных объектов. |
| Количество выделенных cdata-объектов. |
| Количество выделенных udata-объектов. |
| Общий объем освобожденной памяти. |
| Текущая выделенная память Lua. |
| Общий объем выделенной памяти. |
Следующие метрики предоставляют статистику использования CPU. Доступны только на Linux.
Метрика | Описание |
|---|---|
| Общее количество процессоров, сконфигурированных операционной системой. |
| Процессорное время хоста. |
| Процессорное время потока Tarantool. Всегда имеет метки: |
Существуют также две кроссплатформенные метрики, которые можно получить с помощью вызова getrusage():
Метрика | Описание |
|---|---|
| Процессорное время пользователя Tarantool. |
| Системное процессорное время Tarantool. |
Метрики Vinyl предоставляют статистику движка vinyl.
Диск (Disk)
Метрики диска используются для мониторинга общего объема данных на диске.
Метрика | Описание |
|---|---|
| Объем данных в байтах, хранящихся в файлах |
| Объем данных в байтах, хранящихся в файлах |
Регулятор (Regulator)
Регулятор vinyl решает, когда начинать действия ввода-вывода на диск. Он группирует действия в пакеты для повышения эффективности.
Метрика | Описание |
|---|---|
| Расчетная средняя скорость дампа, байт в секунду. Начальное значение — 10485760 (10 МБ/с). Пересчитывается в зависимости от фактической скорости. Для оценки используются только значимые дампы размером более 1 МБ. |
| Фактическая средняя скорость выполнения операций записи, байт в секунду. Рассчитывается как скользящее среднее за 5 секунд. Если значение метрики постепенно снижается, это может указывать на проблемы с диском. |
| Ограничение скорости записи, байт в секунду. Регулятор накладывает ограничение на транзакции на основе наблюдаемой производительности дампа/компактации. Если значение метрики падает примерно до 10^5, это указывает на проблемы с диском или планировщиком. |
| Максимальный объем памяти в байтах, используемый для хранения LSM-дерева vinyl в памяти. При достижении этого максимума должен произойти дамп. Значение немного меньше объема памяти, выделенного для деревьев vinyl, который отражается в параметре |
| Количество файберов, заблокированных в ожидании квоты памяти уровня 0 vinyl. |
Транзакционная активность (Transactional activity)
Метрика | Описание |
|---|---|
| Счетчик коммитов (успешных завершений транзакций). Включает неявные коммиты (например, любая операция вставки вызывает коммит, если она не внутри блока |
| Счетчик откатов (неуспешных завершений транзакций). Это не просто количество явных |
| Счетчик конфликтов, вызвавших откат транзакций. Если отношение |
| Текущее количество read view (представлений чтения) — транзакций, которые временно перешли в состояние "только чтение" для избежания конфликта. Обычно значение равно 0. Если оно долго остается ненулевым, это указывает на утечку памяти. |
Память (Memory)
Следующие метрики показывают области памяти, используемые vinyl для кэшей и буферов записи.
Метрика | Описание |
|---|---|
| Объем памяти в байтах, используемый для хранения кортежей (данных) в кэше. |
| Объем памяти уровня 0 (L0) в байтах. L0 — область, которую vinyl может использовать для хранения LSM-дерева в памяти. Наблюдая за этой метрикой, можно увидеть, когда L0 приближается к своему максимуму ( |
| Объем памяти в байтах, используемый для хранения индексов. Если значение метрики близко к |
| Объем памяти в байтах, используемый фильтрами Блума. |
| Общий размер памяти в байтах, занимаемый кортежами vinyl. Включает кэшированные кортежи и кортежи, закрепленные миром Lua. |
Планировщик (Scheduler)
Планировщик vinyl вызывает регулятор и обновляет связанные переменные. Это происходит раз в секунду.
Метрика | Описание |
|---|---|
| Количество задач дампа/компактации планировщика. Всегда имеет метку |
| Общее время в секундах, затраченное всеми рабочими потоками на выполнение дампов. |
| Счетчик завершенных дампов. |
Информация о потоке цикла событий tx:
Метрика | Описание |
|---|---|
| Время цикла событий (мс). |
| Время пролога цикла событий (мс). |
| Время эпилога цикла событий (мс). |
Показывает текущее состояние синхронной репликации.
Метрика | Описание |
|---|---|
| ID инстанса текущего мастера синхронной репликации. |
| Текущий терм очереди. |
| Сколько транзакций в данный момент ожидают подтверждений. |
| Обрабатывает ли очередь какие-либо системные записи (CONFIRM/ROLLBACK/PROMOTE/DEMOTE). |
Показывает текущее состояние узла набора реплик в отношении выборов лидера.
Метрика | Описание |
|---|---|
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 | Время в секундах с момента последнего взаимодействия с известным лидером. |
Статистика памяти для многоверсионного управления конкурентным доступом (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 отвечает за изоляцию транзакций. Он обнаруживает конфликты и гарантирует, что кортежи, которых больше нет в спейсе, но которые читаются какой-либо транзакцией (или могут быть прочитаны), не были удалены.
Метрика | Описание |
|---|---|
| Трекеры, отслеживающие чтения транзакций. Всегда имеет метку |
| Выделяется в случае конфликтов транзакций. Всегда имеет метку |
Сохраненные кортежи разделены на 3 категории: используемые (used), read view (read_view), отслеживающие (tracking).
Для каждой категории есть две метрики:
retained- кортежи, которых больше нет в индексе, но MVCC не позволяет их удалить.stories- механизм историй (story) в MVCC. Почти каждый кортеж имеет историю.
Метрика | Описание |
|---|---|
| Кортежи, используемые активными транзакциями чтения-записи. Метка |
| Удерживаемые кортежи, используемые активными транзакциями чтения-записи. Метка |
| Кортежи, не используемые активными транзакциями чтения-записи, но используемые транзакциями только для чтения (в read view). Метка |
| Удерживаемые кортежи, не используемые активными транзакциями чтения-записи, но используемые read-view транзакциями. Метка |
| Кортежи, не используемые напрямую никакими транзакциями, но используемые MVCC для отслеживания чтений. Метка |
| Удерживаемые кортежи, не используемые напрямую никакими транзакциями, но используемые MVCC для отслеживания чтений. Метка |
Метрика | Описание |
|---|---|
| Общий объем памяти (в байтах), выделенный для кортежей данных. Включает значения метрик |
| Память (в байтах), занятая под read view. |
| Память (в байтах), которая не используется и запланирована к освобождению (освобождается лениво при выделении памяти). |
| Общий объем памяти (в байтах), выделенный для индексации данных. Включает значение метрики |
| Память (в байтах), занятая под read view для индексов. |
Начиная с версии: 3.0.0.
Метрика | Описание |
|---|---|
| Количество текущих предупреждений ( |
| Статус применения текущей конфигурации инстанса. Метка |
Пример набора метрик для статуса конфигурации: