Мониторинг | Tcs

Version:

0.x

Мониторинг

Средства мониторинга Tarantool Column Store включают:

  • Дашборды с метриками:

  • Прием запросов о сетевой доступности на HTTP-адресе /check у всех экземпляров Scheduler. Если экземпляр Scheduler доступен, то в ответ на любой запрос возвращается HTTP 200 OK.

Метрики TCS

Tarantool Column Store состоит из двух типов компонентов, выполняющих разные функции и обладающих собственными наборами метрик:

  • Scheduler - узел, обеспечивающий маршрутизацию запросов, а также их выполнение при запросах внутри шардированного кластера.

  • Storage - узел, осуществляющий хранение данных.

Примечание

Передача метрик доступна на портах, указанных в параметре listen в конфигурации экземпляров Scheduler и Storage.

По умолчанию передача метрик включена. При необходимости ее можно отключить.

Типы метрик:

  • counter - монотонно возрастающий счетчик значений. Не может быть уменьшен, но может быть сброшен до 0.

  • gauge - изменяющееся значение. Может как увеличиваться, так и уменьшаться.

  • histogram - распределение значений по заранее определенным группам (buckets).

  • summary - агрегация гистограмм. Используется в случаях, когда невозможно заранее выделить группы, по которым необходимо распределить значение.

Метрики Scheduler

  • tcs_scheduler_requests_total - количество запросов по HTTP к узлу Scheduler. Тип метрики counter.

    Запросы к узлу Scheduler дифференцируются по:

    • HTTP-адресу (endpoint), к которому идет обращение,

    • по методу,

    • по коду ответа (200, 408, 500).

  • tcs_scheduler_etcd_latency_milliseconds - задержка до узла etcd, в миллисекундах. Тип метрики histogram.

    TCS metrics with etcd

    Узлы Scheduler используют etcd для получения актуальной информации о состоянии кластера: какие узлы являются мастерами, а какие репликами. В зависимости от этой информации балансируются запросы на запись данных (только для мастер-узлов) и чтение данных (как с мастер-узлов, так и с узлов-реплик).

    Узлы Scheduler периодически опрашивают etcd на предмет изменения состояния узлов мастер-реплика. При этом если узел Scheduler и узел etcd, с которого он запрашивает данные, находятся в разных ДЦ, то в случае автоматического переназначения мастер-узла (если актуальный мастер-узел вышел из строя) у Scheduler может оказаться неактуальная информация.

  • tcs_scheduler_to_storage_latency_milliseconds - задержка от узла Scheduler до узла Storage (за вычетом времени на исполнение запроса на узле Storage), в миллисекундах. В названия метрики входит HTTP-адрес хранилища (Storage endpoint). Тип метрики histogram.

  • tcs_scheduler_arrow_flight_requests - количество запросов по Arrow Flight к узлу Storage в шардированном наборе реплик.

  • tcs_scheduler_versions - указатель версии Scheduler. Показывает точную версию приложения (application) и компилятора (compiler). Версия приложения Scheduler может не совпадать с версией приложения Storage. Версию Storage можно проверить отдельно. Тип метрики gauge.

Метрики Storage

  • tcs_storage_block_len{catalog, schema, table, block_id} - количество записей в блоках буфера записи. Тип метрики gauge.

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

  • tcs_storage_flush_count_total{catalog, schema, table} - количество выполненных операций перенесения из буфера записи в колоночное хранилище. Тип метрики counter.

  • tcs_storage_flush_duration{catalog, schema, table} - время выполнения операции перенесения из буфера записи в колоночное хранилище (50-90-95-перцентиль, в миллисекундах). Тип метрики summary/histogram.

  • tcs_storage_queries_total{catalog, schema, table} - количество операций чтения данных из буфера записи. Тип метрики counter.

  • tcs_storage_updates_total{catalog, schema, table, column} - количество выполненных операций изменения данных по каждой колонке в колоночном хранилище. Тип метрики counter.

    Примечание

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

  • tcs_storage_index_size - количество записей по каждому индексу. Тип метрики gauge.

  • tcs_storage_update_duration - время выполнения операций изменения данных по каждой колонке в колоночном хранилище (50-90-95-перцентиль, в миллисекундах). Тип метрики summary/histogram.

  • tcs_storage_queries_total - количество операций чтения данных по каждой колонке в колоночном хранилище. Тип метрики counter.

  • tcs_storage_inserts_total - количество операций записи данных по каждой колонке в колоночном хранилище. Тип метрики counter.

  • tcs_storage_limit_ratio - отношение фактического количества записей к лимиту по каждой колонке (%, степень заполнения колонки). Тип метрики gauge.

    Примечание

    На этапе наполнения хранилища данными допускается низкая степень заполнения колонки данными. Из-за особенностей вытеснения данных из хранилища степень заполнения колонки может быть немного больше 100%.

  • tcs_storage_request_timelimit_hard_aborted_duration_milliseconds - статистика по времени выполнения аналитических расчетов, прерванных по истечении времени выполнения всего запроса (значения, передаваемого в параметре limit_total_duration в заголовке запросов на HTTP-адрес /computation/run). Формат: 50-90-95-перцентиль (мс). Тип метрики summary/histogram.

  • tcs_storage_request_timelimit_single_computation_aborted_duration_milliseconds - статистика по времени выполнения аналитических расчетов, прерванных по истечении времени выполнения одного расчета (значения, передаваемого в параметре limit_single_duration в заголовке запросов на HTTP-адрес /computation/run). Формат: 50-90-95-перцентиль (мс). Тип метрики summary/histogram.

  • tcs_storage_requests_total - счетчик общего количества аналитических запросов, принятых движком TCS. Помимо самого счетчика, показываются HTTP-адрес, метод и код ответа. Тип метрики counter.

  • tcs_storage_latency - задержка от момента получения HTTP-запроса (например, от клиента или веб-интерфейса) до момента отправки ответа. Включает в себя HTTP-адрес, метод и границы корзины. Тип метрики summary/histogram/counter.

  • tcs_storage_update_rows_total - счетчик общего количества строк, обновленных в колоночных таблицах в результате операций вставки (INSERT), обновления (UPDATE) или удаления (DELETE). Включает в себя имя каталога, схемы и таблицы. Тип метрики counter.

  • tcs_storage_update_reqs_total - счетчик общего количества запросов на модификацию данных операциями вставки (INSERT), обновления (UPDATE) или удаления (DELETE). Тип метрики counter.

  • readview_update_count_total - счетчик количества созданных представлений для чтения (ReadView). Тип метрики counter.

  • tcs_storage_logical_plan_total - счетчик количества созданных и выполненных логических планов запросов. Тип метрики gauge.

  • tcs_storage_versions - указатель версии Storage. Показывает точную версию приложения (application) и компилятора (compiler). Версия приложения Storage может не совпадать с версией приложения Scheduler. Версию Scheduler можно проверить отдельно. Тип метрики gauge.

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

  • tcs_sql_exec_count - количество SQL-запросов, выполняемых в данный момент времени на узле. Тип метрики gauge.

    SQL-запросы могут выполняться как на узлах Storage, так и на узлах Scheduler. На узлах Scheduler выполняются запросы внутри шардированного кластера, когда данные распределены по нескольким хранилищам и их необходимо собрать для формирования ответа.

  • tcs_storage_elapsed_compute - время выполнения SQL-запросов на узле (50-90-95-перцентиль, в миллисекундах). Чем меньше запросов внутри шардированного кластера, тем меньше время выполнения SQL-запросов на узле Scheduler. Тип метрики summary/histogram.

  • tcs_storage_spilled_bytes - объем ответа, формируемого в рамках SQL-запроса (50-90-95-перцентиль, в байтах). Тип метрики summary/histogram.

  • tcs_prepared_statement_count - количество подготовленных SQL-запросов (prepared statements) на узле. Тип метрики gauge.

  • tcs_prepared_statement_exec - количество вызовов подготовленных SQL-запросов (prepared statements) на узле. Тип метрики counter.

Метрики Tarantool

  • tnt_info_uptime - время жизни процесса координатора отказоустойчивого кластера (failover coordinator). Тип метрики gauge.

Остальные метрики экземпляров Tarantool подробно описаны в документации Tarantool.

Found what you were looking for?
Feedback