Очереди сообщений (APM)
На этой странице:
- Введение
- Что такое MQ-сервис
- Как открыть
- Список очередей сообщений
- Детальный дашборд MQ-сервиса
- Граф зависимостей и переходы из спана
- Соотношение с инфраструктурным мониторингом MQ
- Ограничения
Введение
Очереди сообщений — раздел модуля APM платформы Proto Observability, в котором очереди и топики систем обмена сообщениями (Kafka, JMS, AMQP, RabbitMQ и др.) представлены как самостоятельные сущности. Для каждой очереди доступен отдельный дашборд со статистикой операций, временем обработки, процентом ошибок и списком вызывающих и потребляющих сервисов.
В отличие от инфраструктурного мониторинга брокера (см. Мониторинг очередей сообщений в инфраструктуре), этот раздел показывает очередь с точки зрения прикладной нагрузки: сколько и каких сообщений проходит через неё, как быстро они обрабатываются и какие сервисы являются продюсерами и консьюмерами.
Версия
Данный функционал доступен начиная с версии 200.Что такое MQ-сервис
MQ-сервис — это уникальная очередь или топик, через который инструментированные сервисы платформы обмениваются сообщениями. Платформа автоматически обнаруживает MQ-сервисы по спанам с атрибутами messaging.*:
messaging.system— тип системы обмена сообщениями (kafka,rabbitmq,jms,amqpи т.п.);messaging.destination/messaging.destination.name— имя очереди или топика;messaging.operation— вид операции (send,receive,process);amqp.queue,amqp.routing_key,amqp.exchange— атрибуты AMQP / RabbitMQ.
Каждое уникальное место назначения становится отдельным MQ-сервисом. В графе зависимостей такие сервисы помечаются иконкой очереди. Полный список поддерживаемых атрибутов см. в Соглашении об именовании тегов.
Как открыть
Перейдите в раздел Приложения > Очереди сообщений в основном меню навигации платформы.
Также детальный дашборд MQ-сервиса можно открыть:
- из вкладки Связи любого инструментированного сервиса — кликнув на узел очереди в таблице или в графе;
- из контекстного меню узла очереди на графе сервисной топологии;
- из деталей спана — кликнув на значения
messaging.destination,messaging.destination.nameилиamqp.queue.
Список очередей сообщений
Страница списка показывает все обнаруженные в трейсах очереди и топики с агрегированными показателями.
Столбцы таблицы:
| Столбец | Описание |
|---|---|
Имя очереди (messaging.destination) | Имя очереди или топика |
Система (messaging.system) | Тип системы: Kafka, RabbitMQ, JMS, AMQP и т.п. |
| Вызовов в минуту | Среднее количество операций над очередью |
| Время обработки | Среднее время операции (send / process) |
| Процент ошибок | Доля операций, завершившихся ошибкой |
| Зависимых сервисов | Количество сервисов, работающих с этой очередью |
Возможности:
- Поиск по имени очереди;
- Фильтрация по типу системы (Kafka, RabbitMQ, JMS, AMQP);
- Сортировка по любому из столбцов;
- Настройка временного диапазона через стандартный таймпиккер платформы.
Нажмите на строку, чтобы открыть детальный дашборд MQ-сервиса.
Детальный дашборд MQ-сервиса
Детальный дашборд MQ-сервиса построен по общему шаблону дашбордов платформы и включает несколько секций. На вкладке Обзор доступны KPI и графики, на вкладке Связи — граф зависимостей, на вкладке Трейсы — Traces Explorer с предустановленным фильтром по очереди.

Заголовок (KPI)
В верхней части дашборда размещены ключевые показатели за выбранный период:
- Вызовы — общее число операций над очередью;
- 95-й перцентиль времени обработки;
- Процент ошибок.
Под каждым показателем выводится сравнение с предыдущим аналогичным периодом.
Пропускная способность (Вызовы)
Линейный график количества операций во времени за выбранный диапазон. Позволяет выявить пики, провалы и аномальные всплески нагрузки.
Время исполнения (мс)
График времени операций с перцентилями P95 и P99. Позволяет отличить общую деградацию от выбросов (long tail).
Ошибки (%)
График доли ошибочных операций во времени.
Длительность типов операций (мс)
Таблица с разбивкой по messaging.operation (send, receive, process) с количеством вызовов, средней длительностью и процентом ошибок для каждого типа. Помогает понять, на стороне продюсера или консьюмера возникает деградация.
Топ операций по ошибкам и кол-ву
Таблица операций (например, kafka.consume, kafka.produce, amqp.publish, jms.send), отсортированных по количеству вызовов и проценту ошибок. Для AMQP / RabbitMQ дополнительно отображается routing_key.
Вкладка «Трейсы»
Открывает Traces Explorer с предустановленным фильтром по выбранному MQ-сервису — для детального разбора отдельных сообщений и причин ошибок. В деталях спана в секции Очередь отображаются все amqp.* теги.
Граф зависимостей и переходы из спана
Очереди сообщений интегрированы с модулем анализа зависимостей платформы и Ресурсно-сервисной моделью:
- Откройте дашборд любого инструментированного сервиса, перейдите на вкладку Связи — очереди отображаются как отдельные узлы графа.
- На вкладке Обзор MQ-сервиса доступен граф направленных зависимостей между продюсерами, очередью и консьюмерами.
- В деталях любого спана с messaging-атрибутами клик на значениях
messaging.destination,messaging.destination.nameилиamqp.queueоткрывает соответствующий дашборд MQ-сервиса. - Аналогичный переход доступен из контекстного меню узла очереди на графе сервисной топологии.
Соотношение с инфраструктурным мониторингом MQ
Раздел Очереди сообщений APM и раздел Мониторинг очередей сообщений в инфраструктуре дополняют друг друга:
| Аспект | APM > Очереди сообщений | Мониторинг инфраструктуры MQ |
|---|---|---|
| Источник данных | Трейсы инструментированных сервисов (messaging.*-спаны) | JMX, Admin API, Prometheus-экспортеры брокера |
| Что видно | Сколько сообщений отправляют/обрабатывают сервисы, время обработки, процент ошибок, какие сервисы участвуют | Метрики самого брокера: состояние нод, реплики, лаг консьюмер-групп, дисковое потребление |
| Ключ агрегации | Имя очереди / топика | Хост брокера, топик, группа консьюмеров |
| Когда использовать | Разбор инцидентов в прикладной обработке сообщений | Мониторинг здоровья брокера и кластера |
Для полной картины рекомендуется использовать оба раздела совместно.
Ограничения
- MQ-сервисы обнаруживаются только если инструментированные сервисы отправляют трейсы с messaging-спанами и проставленными атрибутами
messaging.system,messaging.destinationиmessaging.operation. - Внутренние метрики брокера (длина очереди, лаг, статистика реплик) в этом разделе недоступны — для них используйте инфраструктурный мониторинг MQ.
- JMS-спаны корректно определяют имя очереди начиная с версии 200 (атрибут
peer.hostnameустанавливается из имени очереди). - Применяются права доступа RBAC: пользователь увидит только те очереди, которые задействованы в разрешённых ему сервисах.