Мониторинг¶
Средства мониторинга Tarantool Column Store включают:
Дашборды с метриками:
два дашборда Grafana, где отображаются метрики TCS для экземпляров Storage и Scheduler.

дашборд Tarantool, где отображаются метрики экземпляров Tarantool

Прием запросов о сетевой доступности на 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.
Узлы 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.