TQE Documentation portal logo
Помощь
Обновлена 9 ноября 2026 г. в 13:01

Метрики компонентов TQE (MQ)

Встроенный инструментарий TQE(MQ) предоставляет метрики для оценки работы с сообщениями в очередях.

Эти метрики предоставляют диагностическую информацию для использования в стороннем ПО.

Метрики модулей предоставляются в формате Prometheus.

Метрики ядра

Метрики ядра TQE(MQ) соответствуют стандартному набору метрик tarantool. Перечень метрик приведен в справочнике метрик Tarantool.

Метрики доступны по HTTP-адресу:

$ curl localhost:8081/metrics

Пример частичного вывода метрик:

# HELP tnt_vinyl_disk_index_size Amount of index stored in files# TYPE tnt_vinyl_disk_index_size gaugetnt_vinyl_disk_index_size{alias="app"} 0# HELP tnt_read_only Is instance read only# TYPE tnt_read_only gaugetnt_read_only{alias="app"} 0# HELP tnt_vinyl_disk_data_size Amount of data stored in files# TYPE tnt_vinyl_disk_data_size gaugetnt_vinyl_disk_data_size{alias="app"} 0...

Метрики ядра предоставляют следующую диагностическую информацию, специфичную для TQE(MQ):

  • mqee_tnt_duplicates_total – счетчик дубликатов.
  • mqee_tnt_latency_seconds - время выполнения стадии обработки сообщения в модуле ядра:
    • point - стадия обработки сообщений. Может принимать значения:
      • publish-request-tnt-storage-persisted
      • broadcast-request-tnt-storage-persisted
    • queue - название очереди.
    • routing_key - значение параметра routing_key обрабатываемого сообщения ("" для пакетных запросов).
    • result - результат выполнения стадии:
      • success - стадия завершилась успешно.
      • fail - стадия завершилась с ошибкой.
  • mqee_tnt_pollers_total - индикатор текущего количества поллеров:
    • queue - название очереди.
  • mqee_tnt_consumer_lag_ms - отставание потребителя (в миллисекундах):
    • queue - название очереди.

Метрики модуля API

Метрики модуля API доступны на HTTP-адресе /metrics:

$ curl localhost:18184/metrics

Ожидаемый ответ содержит перечень метрик, отражающих текущее состояние модуля API. Пример частичного вывода метрик модуля API:

# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.# TYPE go_gc_duration_seconds summarygo_gc_duration_seconds{quantile="0"} 5.3002e-05go_gc_duration_seconds{quantile="0.25"} 7.574e-05go_gc_duration_seconds{quantile="0.5"} 9.047e-05go_gc_duration_seconds{quantile="0.75"} 0.000111856go_gc_duration_seconds{quantile="1"} 0.000338263go_gc_duration_seconds_sum 1.305067544go_gc_duration_seconds_count 11608...

Метрики модуля API предоставляют следующую диагностическую информацию:

  • mqee_grpc_publishing_request_messages - гистограмма сообщений, опубликованных в очередь:
    • grpc_method - название удаленной процедуры.
    • queue - название очереди.
    • routing_key - значение параметра routing_key, по которому выполняется публикация ("" для пакетных запросов).
    • result - результат публикации:
      • success - сообщения успешно опубликованы.
      • fail - сообщения не опубликованы.
  • mqee_grpc_requests_size_bytes_total - счетчик общего размера запросов в байтах:
    • grpc_method - название удаленной процедуры.
    • queue - название очереди.
    • routing_key - значение параметра routing_key обрабатываемого сообщения ("" для пакетных запросов).
  • mqee_grpc_subscribers_count - индикатор текущего количества подписчиков:
    • queue - название очереди.
    • routing_key - значение параметра routing_key, по которому выполнена подписка.
  • mqee_grpc_app_info - информация об очереди (mqee_grpc_app_info{app_name="MESSAGE_QUEUE_EE_API",app_version="test"} 1).
  • mqee_grpc_gomaxprocs - индикатор текущего значения GOMAXPROCS.
  • mqee_grpc_tuples_received - гистограмма количества сообщений, полученных от ядра или из кэша. Включает mqee_grpc_tuples_received_sum (суммарное количество полученных сообщений) и mqee_grpc_tuples_received_count (число запросов на получение сообщений в ядро или кэш):
    • queue - название очереди.
    • routing_key - значение параметра routing_key, по которому выполнена подписка.
  • mqee_grpc_sent_messages - гистограмма количества сообщений, отправленных потребителям gRPC-сервером. Включает mqee_grpc_sent_messages_sum (суммарное количество отправленных сообщений) и mqee_grpc_sent_messages_count (число отправленных ответов):
    • queue - название очереди.
    • routing_key - значение параметра routing_key, по которому выполнена подписка.
  • mqee_grpc_auth_cache_reload_total - счетчик обновлений данных аутентификации и авторизации, которые модуль API хранит в памяти. Обновление выполняется в фоне: с периодичностью auth.store_poll_interval, а также когда хранилище конфигурации само сообщает об изменении сущностей user, role или secret:
    • result - результат обновления:
      • updated - данные прочитаны из хранилища конфигурации, копия в памяти заменена изменившимися данными.
      • unchanged - данные прочитаны, отличий от копии в памяти нет.
      • fail - прочитать данные не удалось. Модуль API продолжает отвечать по уже загруженной копии, пока её возраст не превысит auth.store_stale_ttl; после этого вызовы отклоняются, а модуль API сообщает о неготовности на пробе готовности.
    • trigger - что запросило обновление:
      • timer - наступил очередной период auth.store_poll_interval. Сюда же отнесено первое чтение при старте модуля API.
      • watch - хранилище конфигурации сообщило об изменении. Такие обновления сокращают задержку распространения отзыва учетных данных и блокировок: изменение доходит до модуля API, не дожидаясь очередного периода опроса. Нулевое значение счетчика при изменяющихся данных означает, что подписка на изменения не работает и модуль API обновляется только по таймеру.
  • grpc_server_started_total - счетчик полученных запросов на удаленную процедуру:
    • grpc_type - тип подключения:
      • unary;
      • client_stream;
      • server_stream;
      • bidi_stream.
    • grpc_service - название gRPC-сервиса.
    • grpc_method - название процедуры:
      • Produce;
      • ProduceStream;
      • Broadcast;
      • ServerReflectionInfo;
      • Subscribe.
  • grpc_server_handled_total - счетчик завершенных удаленных процедур:
    • grpc_type - тип подключения:
      • unary;
      • client_stream;
      • server_stream;
      • bidi_stream.
    • grpc_service - название gRPC-сервиса.
    • grpc_method - название процедуры (см. список в grpc_server_started_total).
    • grpc_code - код ответа gRPC-код.
  • grpc_server_msg_received_total - счетчик полученных сообщений:
    • grpc_type - тип подключения:
      • unary;
      • client_stream;
      • server_stream;
      • bidi_stream.
    • grpc_service - название gRPC-сервиса.
    • grpc_method - название процедуры (см. список в grpc_server_started_total).
  • grpc_server_msg_sent_total - счетчик отправленных сообщений:
    • grpc_type - тип подключения:
      • unary;
      • client_stream;
      • server_stream;
      • bidi_stream.
    • grpc_service - название gRPC-сервиса.
    • grpc_method - название процедуры (см. список в grpc_server_started_total).
  • grpc_server_handling_seconds - гистограмма обработки gRPC-вызова (в секундах):
    • grpc_type - тип подключения:
      • unary;
      • client_stream;
      • server_stream;
      • bidi_stream.
    • grpc_service - название gRPC-сервиса.
    • grpc_method - название процедуры (см. список в grpc_server_started_total).
  • mqee_grpc_auth_attempts_total - счетчик попыток проверить учетные данные вызывающего: одна попытка на вызов с типом подключения unary и одна на открытие потока. Повторные проверки внутри уже открытого потока сюда не попадают - они учитываются в метрике mqee_grpc_authz_decisions_total. Счетчик заполняется, только когда включена аутентификация (auth.enabled: true):
    • result - чем закончилась попытка:
      • success - учетные данные проверены.
      • no_creds - заголовок authorization не передан.
      • auth_failed - учетные данные не прошли проверку: заголовок не читается, логин неизвестен, пароль неверен либо секрет заблокирован или просрочен.
      • store_unavailable - решать не по чему: данные аутентификации еще не прочитаны из хранилища конфигурации либо копия в памяти устарела (auth.store_stale_ttl).
  • mqee_grpc_authz_decisions_total - счетчик решений авторизации: одно на вызов с типом подключения unary , для которого установлен вызывающий, и одно на каждое сообщение открытого потока в любую сторону. Поэтому у потоковых процедур решений больше, чем вызовов:
    • result - решение:
      • allow - вызов или сообщение пропущены.
      • deny - отклонены.
    • reason - причина отказа. У решения allow метка пустая, поэтому разбивка по одному result суммируется без двойного счета:
      • no_grant - у вызывающего нет права на запрошенное действие, в том числе когда очередь не попала в шаблоны его назначения роли.
      • unknown_method - требования к процедуре неизвестны, проверять нечего.
      • no_queue - процедура работает с очередью, но запрос ее не называет.
      • store_unavailable - данные аутентификации и авторизации недоступны (см. выше).
      • no_active_subscription - сообщение потока действует в рамках подписки (подтверждение), но ни одна подписка этого потока не была разрешена.
    • method - короткое имя процедуры (Produce, ListUsers, Subscribe, ServerReflectionInfo). Процедуры, требования к которым модулю API неизвестны, считаются под одним именем unknown: имя такой процедуры выбирает клиент, и отдельная серия на каждое имя неограниченно увеличивала бы реестр метрик.
  • go_gc_duration_seconds - сводная информация о длительности паузы на цикл сборки мусора в среде Go. Используемый диапазон (в секундах): 0, 0.25, 0.5, 0.75, 1.
  • go_goroutines - индикатор текущего количества goroutine.
  • go_info - информация о версии окружения Go.
  • go_memstats - набор метрик для отслеживания использования памяти средой выполнения Go.
  • go_threads - индикатор текущего количества потоков (threads) операционной системы, используемых средой выполнения Go.
  • mqee_grpc_processing_time - время выполнения стадии обработки сообщения в модуле API:
    • point - стадия обработки сообщений. Может принимать значения:
      • produce-request-received;
      • broadcast-request-received;
      • produce-request-validated;
      • broadcast-request-validated;
      • produce-request-persisted;
      • broadcast-request-persisted;
      • subscribe-notifications-sent;
    • queue - название очереди.
    • routing_key - значение параметра routing_key обрабатываемого сообщения (пустая строка, если сообщение без routing_key).
    • result - результат выполнения стадии:
      • success - стадия завершилась успешно.
      • fail - стадия завершилась с ошибкой.
Была ли статья полезна?