Метрики TDG
Мониторинг и оценка запросов GraphQL.
Метрики имеют теги:
alias- имя экземпляра, на котором собираются метрики. Имя экземпляра было задано при развертывании кластера;schema- имя схемы (defaultилиadmin), в которую поступил запрос GraphQL;entity- тип данных, над которым производится операция;operation_name- имя запроса GraphQL (может отсутствовать, если имя запроса не было задано). Рекомендуется указывать имена для всех запросов, чтобы можно было однозначно идентифицировать, к какому запросу относится информация в метрике.
Доступные метрики
tdg_graphql_query_time{alias,schema,entity,operation_name}- время обработки запроса на получение данных (query) в миллисекундах. Тип метрики: histogram;tdg_graphql_mutation_time{alias,schema,entity,operation_name}- время обработки запроса на изменения данных (mutation) в миллисекундах. Тип метрики: histogram;tdg_graphql_query_fail{alias,schema,entity,operation_name}- количество запросов на получение данных (query) c ошибками. Тип метрики: counter;tdg_graphql_mutation_fail{alias,schema,entity,operation_name}- количество запросов на изменение данных (mutation) c ошибками. Тип метрики: counter.
Бакеты (bucket) гистограмм распределены в диапазоне от 0 до 1000 миллисекунд с интервалом в 100 миллисекунд (см. пример ниже).
Вызов сервиса аналогичен запросу (query) для типа
данных. В тег entity при этом будет записано имя сервиса.
Каждый запрос может состоять из нескольких операций. В одной операции могут быть получены или модифицированы несколько типов данных. По каждому типу данных будет выдана отдельная метрика со своим набором тегов.
Пример:
# HELP tdg_graphql_query_time Graphql query execution time# TYPE tdg_graphql_query_time histogramtdg_graphql_query_time_bucket{alias="core_1",schema="default",entity="City",operation_name="GetCity",le="100"} 25tdg_graphql_query_time_bucket{alias="core_1",schema="default",entity="City",operation_name="GetCity",le="200"} 25tdg_graphql_query_time_bucket{alias="core_1",schema="default",entity="City",operation_name="GetCity",le="300"} 25tdg_graphql_query_time_bucket{alias="core_1",schema="default",entity="City",operation_name="GetCity",le="400"} 25tdg_graphql_query_time_bucket{alias="core_1",schema="default",entity="City",operation_name="GetCity",le="500"} 25tdg_graphql_query_time_bucket{alias="core_1",schema="default",entity="City",operation_name="GetCity",le="600"} 25tdg_graphql_query_time_bucket{alias="core_1",schema="default",entity="City",operation_name="GetCity",le="700"} 25tdg_graphql_query_time_bucket{alias="core_1",schema="default",entity="City",operation_name="GetCity",le="800"} 25tdg_graphql_query_time_bucket{alias="core_1",schema="default",entity="City",operation_name="GetCity",le="900"} 25tdg_graphql_query_time_bucket{alias="core_1",schema="default",entity="City",operation_name="GetCity",le="1000"} 25tdg_graphql_query_time_bucket{alias="core_1",schema="default",entity="City",operation_name="GetCity",le="+Inf"} 25tdg_graphql_query_time_sum{alias="core_1",schema="default",entity="City",operation_name="GetCity"} 55tdg_graphql_query_time_count{alias="core_1",schema="default",entity="City",operation_name="GetCity"} 25# HELP tdg_graphql_mutation_time Graphql mutation execution time# TYPE tdg_graphql_mutation_time histogramtdg_graphql_mutation_time_bucket{alias="core_1",schema="default",entity="City",operation_name="InsCity",le="100"} 16tdg_graphql_mutation_time_bucket{alias="core_1",schema="default",entity="City",operation_name="InsCity",le="200"} 16tdg_graphql_mutation_time_bucket{alias="core_1",schema="default",entity="City",operation_name="InsCity",le="300"} 16tdg_graphql_mutation_time_bucket{alias="core_1",schema="default",entity="City",operation_name="InsCity",le="400"} 16tdg_graphql_mutation_time_bucket{alias="core_1",schema="default",entity="City",operation_name="InsCity",le="500"} 16tdg_graphql_mutation_time_bucket{alias="core_1",schema="default",entity="City",operation_name="InsCity",le="600"} 16tdg_graphql_mutation_time_bucket{alias="core_1",schema="default",entity="City",operation_name="InsCity",le="700"} 16tdg_graphql_mutation_time_bucket{alias="core_1",schema="default",entity="City",operation_name="InsCity",le="800"} 16tdg_graphql_mutation_time_bucket{alias="core_1",schema="default",entity="City",operation_name="InsCity",le="900"} 16tdg_graphql_mutation_time_bucket{alias="core_1",schema="default",entity="City",operation_name="InsCity",le="1000"} 16tdg_graphql_mutation_time_bucket{alias="core_1",schema="default",entity="City",operation_name="InsCity",le="+Inf"} 16tdg_graphql_mutation_time_sum{alias="core_1",schema="default",entity="City",operation_name="InsCity"} 34tdg_graphql_mutation_time_count{alias="core_1",schema="default",entity="City",operation_name="InsCity"} 16# HELP tdg_graphql_query_fail Graphql query fail count# TYPE tdg_graphql_query_fail countertdg_graphql_query_fail{alias="core_1",schema="default",entity="City",operation_name="GetCity"} 2# HELP tdg_graphql_mutation_fail Graphql mutation fail count# TYPE tdg_graphql_mutation_fail countertdg_graphql_mutation_fail{alias="core_1",schema="default",entity="City",operation_name="InsCity"} 4
Чтобы получить информацию о среднем количестве запросов GraphQL в секунду из Prometheus, воспользуйтесь запросом
rate(tdg_graphql_query_time_count[2m])
Период, по которому вычисляется rate() (в примере - 2m), должен
быть как минимум в два раза больше периода сбора метрик. Если вы
добавляете панель на стандартный Grafana Tarantool dashboard,
воспользуйтесь переменной $rate_time_range.
Среднее время выполнения запроса GraphQL можно получить с помощью
rate(tdg_graphql_query_time_sum[2m])/rate(tdg_graphql_query_time_count[2m])
95-й перцентиль времени выполнения запроса GraphQL можно получить с помощью
histogram_quantile(0.95, sum(rate(tdg_graphql_query_time_bucket[2m])) by (le))
Метрики для задач (tasks) и
отложенных работ (jobs). Метрики актуальны только
для экземпляров с ролью runner, так как задачи и отложенные работы
запускаются на этих экземплярах.
Метрики задач имеют теги:
alias- имя экземпляра, на котором собираются метрики. Имя экземпляра было задано при развертывании кластера;name- имя задачи;kind- вид задачи:single_shot- единоразовая задача;continuous- непрерывно выполняемая задача;periodical- задача, выполняемая по расписанию.
Метрики отложенных работ и системных задач имеют только теги alias и
name. В TDG cистемные задачи (system task) используются для
версионирования.
Доступные метрики
-
tdg_tasks_started- число запущенных задач. Тип метрики: counter. -
tdg_jobs_started- число запущенных отложенных работ. Тип метрики: counter. -
tdg_system_tasks_started- число запущенных системных задач. Тип метрики: counter.Пример:
# HELP tdg_system_tasks_started Total system tasks started# TYPE tdg_system_tasks_started countertdg_tasks_started{alias="runner_1",name="districts_stat.calc_statistics.call",kind="periodical"} 2# HELP tdg_jobs_started Total jobs started# TYPE tdg_jobs_started countertdg_jobs_started{name="succeed",alias="runner_1"} 1# HELP tdg_system_tasks_started Total system tasks started# TYPE tdg_system_tasks_started countertdg_system_tasks_started{name="tasks.system.archivation.start",alias="runner_1"} 718 -
tdg_tasks_failed- число задач, которые завершились с ошибкой. Тип метрики: counter; -
tdg_jobs_failed- число отложенных работ, которые завершились с ошибкой. Тип метрики: counter.Пример:
# HELP tdg_tasks_failed Total tasks failed# TYPE tdg_tasks_failed countertdg_tasks_succeeded{alias="runner_1",name="districts_stat.calc_statistics.call",kind="periodical"} 1# HELP tdg_jobs_failed Total jobs failed# TYPE tdg_jobs_failed countertdg_jobs_failed{name="fail",alias="runner_1"} 2 -
tdg_tasks_succeeded- число успешно выполненных задач. Тип метрики: counter; -
tdg_jobs_succeeded- число успешно выполненных отложенных работ. Тип метрики: counter; -
tdg_system_tasks_succeeded- число успешно выполненных системных задач. Тип метрики: counter.Пример:
# HELP tdg_tasks_succeeded Total tasks succeeded# TYPE tdg_tasks_succeeded countertdg_tasks_succeeded{alias="runner_1",name="districts_stat.calc_statistics.call",kind="periodical"} 2# HELP tdg_jobs_succeeded Total jobs succeeded# TYPE tdg_jobs_succeeded countertdg_jobs_succeeded{name="succeed",alias="runner_1"} 1# HELP tdg_system_tasks_succeeded Total system tasks succeeded# TYPE tdg_system_tasks_succeeded countertdg_system_tasks_succeeded{name="tasks.system.archivation.start",alias="runner_1"} 718 -
tdg_tasks_stopped- число приостановленных задач. Тип метрики: counter.Пример:
# HELP tdg_tasks_stopped Total tasks stopped# TYPE tdg_tasks_stopped countertdg_tasks_stopped{alias="runner_1",name="districts_stat.calc_statistics.call",kind="periodical"} 2 -
tdg_tasks_running- число задач, запущенных в данный момент. Тип метрики: gauge; -
tdg_jobs_running- число отложенных работ, запущенных в данных момент. Тип метрики: gauge; -
tdg_system_tasks_running- число системных задач, запущенных в данный момент. Тип метрики: gauge.Пример:
# HELP tdg_tasks_running Currently running tasks# TYPE tdg_tasks_running gaugetdg_tasks_running{alias="runner_1",name="districts_stat.calc_statistics.call",kind="periodical"} 0# HELP tdg_jobs_running Currently running jobs# TYPE tdg_jobs_running gaugetdg_jobs_running{name="succeed",alias="runner_1"} 0# HELP tdg_system_tasks_running Currently running system tasks# TYPE tdg_system_tasks_running gaugetdg_system_tasks_running{name="tasks.system.archivation.start",alias="tnt_net_external_1_runner_1_1"} 0 -
tdg_tasks_execution_time- время исполнения задачи. Тип метрики: histogram; -
tdg_jobs_execution_time- время исполнения отложенной работы. Тип метрики: histogram; -
tdg_system_tasks_execution_time- время исполнения системной задачи. Тип метрики: histogram.Бакеты (bucket) гистограмм распределены в диапазоне от 0 до 5 секунд: 0.0001, 0.00025, 0.0005, 0.001, 0.0025, 0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5.
Пример:
# HELP tdg_tasks_execution_time Tasks execution time statistics# TYPE tdg_tasks_execution_time histogramtdg_tasks_execution_time_count{alias="runner_1",name="calc_districts_stat",kind="periodical"} 2tdg_tasks_execution_time_sum{alias="runner_1",name="calc_districts_stat",kind="periodical"} 0.014632841999969tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="0.0001",kind="periodical"} 0tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="0.00025",kind="periodical"} 0tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="0.0005",kind="periodical"} 0tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="0.001",kind="periodical"} 0tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="0.0025",kind="periodical"} 1tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="0.005",kind="periodical"} 1tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="0.01",kind="periodical"} 1tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="0.025",kind="periodical"} 2tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="0.05",kind="periodical"} 2tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="0.1",kind="periodical"} 2tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="0.25",kind="periodical"} 2tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="0.5",kind="periodical"} 2tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="1",kind="periodical"} 2tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="2.5",kind="periodical"} 2tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="5",kind="periodical"} 2tdg_tasks_execution_time_bucket{alias="runner_1",name="calc_districts_stat",le="+Inf",kind="periodical"} 2# HELP tdg_jobs_execution_time Jobs execution time statistics# TYPE tdg_jobs_execution_time histogramtdg_jobs_execution_time_count{name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_sum{name="succeed",alias="runner_1"} 1.0725110769272e-05tdg_jobs_execution_time_bucket{le="0.0001",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="0.00025",name="succeed",alias="runner_1"}1tdg_jobs_execution_time_bucket{le="0.0005",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="0.001",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="0.0025",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="0.005",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="0.01",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="0.025",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="0.05",name="succeed",alias="runner_1"}tdg_jobs_execution_time_bucket{le="0.1",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="0.25",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="0.5",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="1",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="2.5",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="5",name="succeed",alias="runner_1"} 1tdg_jobs_execution_time_bucket{le="+Inf",name="succeed",alias="runner_1"} 1# HELP tdg_system_tasks_execution_time System tasks execution time statistics# TYPE tdg_system_tasks_execution_time histogramtdg_system_tasks_execution_time_count{name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_sum{name="tasks.system.archivation.start",alias="runner_1"} 0.052489631809294tdg_system_tasks_execution_time_bucket{le="0.0001",name="tasks.system.archivation.start",alias="runner_1"} 631tdg_system_tasks_execution_time_bucket{le="0.00025",name="tasks.system.archivation.start",alias="runner_1"} 715tdg_system_tasks_execution_time_bucket{le="0.0005",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="0.001",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="0.0025",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="0.005",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="0.01",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="0.025",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="0.05",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="0.1",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="0.25",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="0.5",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="1",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="2.5",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="5",name="tasks.system.archivation.start",alias="runner_1"} 718tdg_system_tasks_execution_time_bucket{le="+Inf",name="tasks.system.archivation.start",alias="runner_1"} 718
Статистика по операциям поиска кортежей в базе данных, где хранятся пользовательские данные:
tdg_scanned_tuples- число просканированных кортежей. Тип метрики: summary;tdg_returned_tuples- число возвращенных кортежей. Тип метрики: histogram;tdg_scanned_tuples_max- максимальное количество просканированных кортежей. Тип метрики: gauge;tdg_returned_tuples_max- максимальное количество возвращаемых кортежей. Тип метрики: gauge.
Мониторинг и оценка запросов к данным через REST:
tdg_rest_exec_time- время исполнения REST-запроса. Тип метрики: summary;tdg_rest_exec_time- время исполнения REST-запроса. Тип метрики: histogram.
Мониторинг и оценка запросов к данным через iproto:
tdg_iproto_data_query_exec_time- время исполнения запроса по протоколу iproto. Тип метрики: summary;tdg_iproto_data_query_exec_time- время исполнения запроса по протоколу iproto. Тип метрики: histogram.
Общая статистика по файловым коннекторам и статистика обработки файлов:
tdg_connector_input_file_processed_count- общее число обработанных файлов. Тип метрики: counter;tdg_connector_input_file_processed_objects_count- общее число обработанных объектов. Тип метрики: counter;tdg_connector_input_file_failed_count- общее число файлов, которые не удалось обработать. Тип метрики: counter;tdg_connector_input_file_size- размер файла в байтах. Тип метрики: gauge;tdg_connector_input_file_current_bytes_processed- количество обработанных байтов от текущего файла. Тип метрики: counter;tdg_connector_input_file_current_processed_objects- число обработанных объектов от текущего файла. Тип метрики: counter.
Статистика модуля expirationd (время жизни объектов). Сбор статистики включен по умолчанию.
Тип метрик - counter.
Метрики имеют тег name - название задачи (task).
Доступные метрики
expirationd_checked_count{name}- количество кортежей, проверенных на истечениеlifetime_hours. Включает в себя:- кортежи с истекшим
lifetime_hours(expired); - пропущенные кортежи (skipped);
- кортежи с истекшим
expirationd_expired_count{name}- количество кортежей c истекшимlifetime_hours;expirationd_restarts{name}- количество перезапусков (restart) с начала работы (старта). При старте принимает значение [1]{.title-ref}.expirationd_working_time{name}- время исполнения задачи в секундах.
В TDG доступен мониторинг сведений о коннекторе Kafka с помощью
librdkafka.
librdkafka – это реализация С-библиотеки протокола Apache Kafka,
которая поддерживает как producer, так и consumer. Для библиотеки по
умолчанию включено регулярное предоставление внутренней статистики.
Интервал обновления метрик можно настроить, используя опцию
statistics.interval.ms. По умолчанию,
значение statistics.interval.ms составляет 15000 миллисекунд. Диапазон
доступных значений для параметра: 0–86400000 мс. Отключить сбор
статистики можно, установив значение [0]{.title-ref}.
Полное описание параметров конфигурации для коннектора Kafka приведено в справочнике по настройке коннектора.
Метрики имеют тип gauge, если не указано иначе. Имеют префикс
tdg_kafka_, общий для всех метрик Kafka.
Метрики Kafka состоят из нескольких уровней:
- общая статистика (Common Statistics);
- статистика по брокеру (Brokers);
- статистика по топику (Topics);
- статистика по разделам топика (Partitions);
- статистика группы потребителей (cgrp);
- статистика идемпотентного продюсера (EOS).
Большая часть операций - это оконные функции, которые применяются на отрезках времени. Поэтому уровни Topics и Brokers также включают в себя раздел про плавающие окна (Rolling Window Statistics), например, скользящую среднюю, наименьшую и наибольшую величины, сумму значений и процентные значения.
Общая статистика по всем брокерам:
tdg_kafka_ts- внутренние монотонные часы библиотекиlibrdkafkaв микросекундах;tdg_kafka_time- время с начала эпохи в секундах;tdg_kafka_age- время существования экземпляра клиента в микросекундах;tdg_kafka_replyq- количество операций (триггеров, событий и т.д.) в очереди на обслуживание с помощьюrd_kafka_poll();tdg_kafka_msg_cnt- текущее количество сообщений в очереди продюсера;tdg_kafka_msg_size- текущий общий размер сообщений в очередях продюсера;tdg_kafka_msg_max- максимальное количество сообщений, разрешенное в очередях продюсера;tdg_kafka_msg_size_max- общий размер сообщений, разрешенный в очередях продюсера;tdg_kafka_tx- общее количество запросов, отправленных брокерам Kafka;tdg_kafka_tx_bytes- общее количество байтов, отправленных брокерам Kafka;tdg_kafka_rx- общее количество запросов, полученных от брокеров Kafka;tdg_kafka_rx_bytes- общее количество байтов, полученных от брокеров Kafka;tdg_kafka_txmsgs- общее количество сообщений, отправленных брокерам Kafka;tdg_kafka_txmsg_bytes- общее количество байтов сообщений, отправленных брокерам Kafka (включая фрейм - например, фрейм по каждому сообщению и фрейм MessageSet/пакета);tdg_kafka_rxmsgs- общее количество сообщений, полученных от брокеров Kafka. Не включает в себя сообщения, которые были проигнорированы - например, из-за смещения;tdg_kafka_rxmsg_bytes- общее количество байтов сообщений (включая фрейм), полученных от брокеров Kafka;tdg_kafka_simple_cnt- внутреннее отслеживание устаревшего и нового состояния API consumer;tdg_kafka_metadata_cache_cnt- количество топиков в кэше метаданных.
Постфиксы для метрик, связанные с оконными функциями. Например, к ним относятся стандартное отклонение, наибольшая и наименьшая величина и процентные значения (процентили). Позволяют получить получать дополнительную информацию о значении некоторых метрик с уровней Topics и Brokers. Полный список доступных метрик вместе с постфиксами указан в описаниях соответствующих уровней.
Переменная {name} - имя метрики вместе с префиксом
{tdg_kafka_}. Например,
{tdg_kafka_broker_int_latency}_max -
наибольшее значение метрики tdg_kafka_broker_int_latency.
{name}_min- наименьшее значение;{name}_max- наибольшее значение;{name}_avg- среднее значение;{name}_sum- сумма значений;{name}_cnt- количество выбранных значений;{name}_stddev- стандартное отклонение на основе гистограммы;{name}_hdrsize- объем памяти Hdr Histogram;{name}_outofrange- значения, пропущенные из-за выхода за пределы диапазона гистограммы.
Процентные значения:
p50- процентиль 0.5;p75- процентиль 0.75;p90- процентиль 0.9;p95- процентиль 0.95;p99- процентиль 0.99;p99_99- процентиль 0.9999.
Значения процентилей можно просмотреть для следующих метрик:
- уровень Broker -
tdg_kafka_broker_int_latency,tdg_kafka_broker_outbuf_latency,tdg_kafka_broker_rtt,tdg_kafka_broker_throttle; - уровень Topic -
tdg_kafka_topic_batchcnt,tdg_kafka_topic_batchsize.
-
tdg_kafka_broker_stateage- время с момента последнего изменения состояния брокера в микросекундах; -
tdg_kafka_broker_outbuf_cnt- количество запросов, ожидающих отправки брокеру; -
tdg_kafka_broker_outbuf_msg_cnt- количество сообщений, ожидающих отправки брокеру; -
tdg_kafka_broker_waitresp_cnt- количество запросов на пути к брокеру, ожидающих ответа; -
tdg_kafka_broker_waitresp_msg_cnt- количество сообщений на пути к брокеру, ожидающих ответа; -
tdg_kafka_broker_tx- общее количество отправленных запросов; -
tdg_kafka_broker_txbytes- исходящий трафик в байтах; -
tdg_kafka_broker_txerrs- число ошибок при передаче; -
tdg_kafka_broker_txretries- общее количество повторных запросов; -
tdg_kafka_broker_txidle- время с момента, как был отправлен последний сокет, в микросекундах. Если для текущего подключения еще ничего не отправлялось, имеет значение-1; -
tdg_kafka_broker_req_timeouts- общее количество запросов, время ожидания для которых истекло; -
tdg_kafka_broker_rx- общее число полученных ответов; -
tdg_kafka_broker_rxbytes- входящий трафик в байтах; -
tdg_kafka_broker_rxerrs- число ошибок при получении; -
tdg_kafka_broker_rxcorriderrs- общее количество различающихся идентификаторов корреляции в ответе (обычно для запросов с истекшим временем ожидания); -
tdg_kafka_broker_rxpartial- общее количество частично полученных MessageSets; -
tdg_kafka_broker_rxidle- время с момента получения последнего сокета в микросекундах. Если для текущего соединенния еще нет полученных данных, имеет значение-1; -
tdg_kafka_broker_zbuf_grow- общее количество увеличений размера для буфера декомпрессии; -
tdg_kafka_broker_buf_grow- общее количество увеличений размера буфера (deprecated, не используется); -
tdg_kafka_broker_wakeups- пробуждения пула потоков брокера; -
tdg_kafka_broker_connects- количество попыток соединения. Включает в себя успешные и неудачные попытки, а также количество неудачных попыток разрешения имен; -
tdg_kafka_broker_disconnects- количество разорванных соединений, вызванных брокером, сетью, балансировщиком нагрузки и т. д; -
tdg_kafka_broker_req- счетчики типа запроса. Ключ объекта - это имя запроса, значение - количество отправленных запросов; -
tdg_kafka_broker_int_latency- задержка внутренней очереди продюсера в микросекундах. Метрика используется только вместе с постфиксами из раздела Rolling Window Statistics.Список доступных метрик:
tdg_kafka_broker_int_latency_avg,tdg_kafka_broker_int_latency_cnt,tdg_kafka_broker_int_latency_hdrsize,tdg_kafka_broker_int_latency_max,tdg_kafka_broker_int_latency_min,tdg_kafka_broker_int_latency_outofrange,tdg_kafka_broker_int_latency_stddev,tdg_kafka_broker_int_latency_sum; -
tdg_kafka_broker_outbuf_latency- задержка внутренней очереди запросов в микросекундах. Можно использовать самостоятельно или вместе с постфиксами из раздела Rolling Window Statistics.Список доступных метрик:
tdg_kafka_broker_outbuf_latency_avg,tdg_kafka_broker_outbuf_latency_cnt,tdg_kafka_broker_outbuf_latency_hdrsize,tdg_kafka_broker_outbuf_latency_max,tdg_kafka_broker_outbuf_latency_min,tdg_kafka_broker_outbuf_latency_outofrange,tdg_kafka_broker_outbuf_latency_stddev,tdg_kafka_broker_outbuf_latency_sum; -
tdg_kafka_broker_rtt- задержка брокера, время обхода в микросекундах. Можно использовать самостоятельно или вместе с постфиксами из раздела Rolling Window Statistics.Список доступных метрик:
tdg_kafka_broker_rtt_avg,tdg_kafka_broker_rtt_cnt,tdg_kafka_broker_rtt_hdrsize,tdg_kafka_broker_rtt_max,tdg_kafka_broker_rtt_min,tdg_kafka_broker_rtt_outofrange,tdg_kafka_broker_rtt_stddev,tdg_kafka_broker_rtt_sum; -
tdg_kafka_broker_throttle- время регулирования брокера в миллисекундах. Можно использовать самостоятельно или вместе с постфиксами из раздела Rolling Window Statistics.Список доступных метрик:
tdg_kafka_broker_throttle_avg,tdg_kafka_broker_throttle_cnt,tdg_kafka_broker_throttle_hdrsize,tdg_kafka_broker_throttle_max,tdg_kafka_broker_throttle_min,tdg_kafka_broker_throttle_outofrange,tdg_kafka_broker_throttle_stddev,tdg_kafka_broker_throttle_sum; -
tdg_kafka_broker_state- состояние брокера. Доступно с версии 2.16.0. Возможные значения:INIT(1),DOWN(2),CONNECT(3),AUTH(4),APIVERSION_QUERY(5),AUTH_HANDSHAKE(6),UP(7),UPDATE(8),UNKNOWN(-1); -
tdg_kafka_broker_source- источник брокера. Доступно с версии 2.16.0. Возможные значения:learned(1),configured(2),internal(3),logical(4),unknown(-1).
-
tdg_kafka_topic_age- возраст объекта клиентского топика в миллисекундах; -
tdg_kafka_topic_metadata_age- возраст метаданных от брокера для данного топика в миллисекундах; -
tdg_kafka_topic_batchsize- размер пакета в байтах. Метрика используется только вместе с постфиксами из раздела Rolling Window Statistics.Список доступных метрик:
tdg_kafka_topic_batchsize_avg,tdg_kafka_topic_batchsize_cnt,tdg_kafka_topic_batchsize_hdrsize,tdg_kafka_topic_batchsize_max,tdg_kafka_topic_batchsize_min,tdg_kafka_topic_batchsize_outofrange,tdg_kafka_topic_batchsize_stddev,tdg_kafka_topic_batchsize_sum; -
tdg_kafka_topic_batchcnt- счетчик пакетных сообщений. Можно использовать самостоятельно или вместе с постфиксами из раздела Rolling Window Statistics.Список доступных метрик:
tdg_kafka_topic_batchcnt_avg,tdg_kafka_topic_batchcnt_cnt,tdg_kafka_topic_batchcnt_hdrsize,tdg_kafka_topic_batchcnt_max,tdg_kafka_topic_batchcnt_min,tdg_kafka_topic_batchcnt_outofrange,tdg_kafka_topic_batchcnt_stddev,tdg_kafka_topic_batchcnt_sum; -
tdg_kafka_topic_partitions- разделы. Метрика используется только вместе с постфиксами из раздела Partitions.
Метрики, связанные с разделами топика. Позволяют получить получать информацию о метрике tdg_kafka_topic_partitions.
tdg_kafka_topic_partitions_broker- ID брокера, сообщения из раздела которого извлекают в текущий момент;tdg_kafka_topic_partitions_leader- ID текущего лидера брокеров;tdg_kafka_topic_partitions_desired- раздел, явно требуемый при применении;tdg_kafka_topic_partitions_unknown- раздел, который не отображен в метаданных топика брокера;tdg_kafka_topic_partitions_msgq_cnt- количество сообщений, ожидающих отправки в очереди первого уровня;tdg_kafka_topic_partitions_msgq_bytes- количество байтов вmsgq_cnt;tdg_kafka_topic_partitions_xmit_msgq_cnt- количество сообщений в очереди выборки, готовых к отправке;tdg_kafka_topic_partitions_xmit_msgq_bytes- количество байтов вxmit_msgq;tdg_kafka_topic_partitions_fetchq_cnt- количество предварительно выбранных сообщений в очереди выборки;tdg_kafka_topic_partitions_fetchq_size- размер очереди выборки в байтах;tdg_kafka_topic_partitions_query_offset- текущий/последний запрос на логическое смещение;tdg_kafka_topic_partitions_next_offset- следующее смещение для выборки;tdg_kafka_topic_partitions_app_offset- смещение в разделе последнего сообщения, переданного приложению, +1;tdg_kafka_topic_partitions_stored_offset- смещение для фиксации в разделе;tdg_kafka_topic_partitions_committed_offset- последнее зафиксированное смещение в разделе;tdg_kafka_topic_partitions_eof_offset- последнее сигнализированное смещениеPARTITION_EOF;tdg_kafka_topic_partitions_lo_offset- минимальное доступное смещение для раздела на брокере;tdg_kafka_topic_partitions_hi_offset- максимальное доступное смещение для раздела на брокере;tdg_kafka_topic_partitions_ls_offset- последнее стабильное смещение раздела на брокере;tdg_kafka_topic_partitions_consumer_lag- разница междуhi_offsetилиls_offsetиcommit_offset;tdg_kafka_topic_partitions_consumer_lag_stored- разница междуhi_offsetилиls_offsetиstored_offset;tdg_kafka_topic_partitions_txmsgs- общее количество отправленных сообщенийtdg_kafka_topic_partitions_txbytes- общее количество байтов, переданных дляtxmsgstdg_kafka_topic_partitions_rxmsgs- общее количество полученных сообщений, за исключением игнорируемых сообщений;tdg_kafka_topic_partitions_rxbytes- общее количество байтов, полученных дляrxmsgs;tdg_kafka_topic_partitions_msgs- общее количество полученных или общее количество отправленных сообщений;tdg_kafka_topic_partitions_rx_ver_drops- удаленные устаревшие сообщения;tdg_kafka_topic_partitions_msgs_inflight- текущее количество сообщений на пути к брокеру или от него (in-flight);tdg_kafka_topic_partitions_next_ack_seq- следующая ожидаемая подтвержденная последовательность (идемпотентный продюсер);tdg_kafka_topic_partitions_next_err_seq- следующая ожидаемая последовательность с ошибкой (идемпотентный продюсер);tdg_kafka_topic_partitions_acked_msgid- ID внутреннего сообщения c последним подтверждением (идемпотентный продюсер).
tdg_kafka_cgrp_stateage- время с момента последнего изменения состояния в миллисекундах;tdg_kafka_cgrp_rebalance_age- время с момента последней ребалансировки в миллисекундах;tdg_kafka_cgrp_rebalance_cnt- общее количество ребалансировок;tdg_kafka_cgrp_assignment_size- количество разделов для текущего назначения.tdg_kafka_cgrp_state- состояние обработчика локальной группы consumer. Доступно с версии 2.16.0. Возможные значения:init(1),term(2),query-coord(3),wait-coord(4),wait-broker(5),wait-broker-transport(6),up(7),unknown(-1);tdg_kafka_cgrp_join_state- состояние присоединения обработчика локальной группы consumer. Доступно с версии 2.16.0. Возможные значения:init(1),wait-join(2),wait-metadata(3),wait-sync(4),wait-assign-call(5),wait-unassign-call(6),wait-unassign-to-complete(7),wait-incr-unassign-to-complete(8),steady(9),unknown(-1).
Библиотека librdkafka поддерживает семантику Exactly-Once Delivery
(EOS) для доставки сообщений. Такая семантика гарантирует, что сообщения
будут доставлены строго один раз. За реализацию семантики отвечает
свойство идемпотентности в настройках продюсера и число подтверждений об
успешной записи.
tdg_kafka_eos_idemp_stateage- время с момента последнего изменения состояния ID идемпотентного продюсера (idemp_state) в миллисекундах;tdg_kafka_eos_txn_stateage- время с момента последнего изменения состояния транзакционного продюсераtxn_stateв миллисекундах;tdg_kafka_eos_txn_may_enq- состояние транзакции позволяет добавлять в очередь новые сообщения;tdg_kafka_eos_producer_id- текущий ID продюсера (или-1);tdg_kafka_eos_producer_epoch- текущая эпоха (или-1);tdg_kafka_eos_epoch_cnt- число назначений ID продюсера с момента запуска.