Метрики для брокера MQTT
Брокер MQTT предоставляет набор метрик наблюдаемости, которые можно использовать для мониторинга и анализа работоспособности решения. В этой статье описываются доступные метрики для брокера MQTT.
Сведения о настройке параметров для этих метрик см. в разделе "Настройка параметров диагностики брокера MQTT".
Свойство пользователя MQTT Connect metriccategory
Когда клиент подключается к брокеру, он может включать свойство пользователя, вызываемое metriccategory
в пакет подключения. Затем брокер тегирует все метрики на основе сеансов (например, публикации и подписки) с этим metriccategory
значением category
.
Например, если проверка самопроверки подключается к metriccategory=broker_selftest
, брокер тегирует все метрики из этих сеансов category=broker_selftest
.
Эта функция помогает панелям мониторинга отображать источники трафика без проблем с высокой кратностью метрик с разделами.
Сеансы без metriccategory
тегов помечены как category=uncategorized
.
Метрики обмена сообщениями
Все метрики включают hostname
тег для идентификации модуля pod, создающего метрики. Теги, перечисленные в отдельных описаниях метрик, добавляются в этот тег.
Метрическая | Description | Теги |
---|---|---|
aio_broker_publishes_received | На интерфейсе эта метрика представляет количество входящих пакетов публикации от клиентов. Для серверной части эта метрика представляет количество внутренних сообщений, отправляемых с внешних узлов. | category |
aio_broker_publishes_sent | На интерфейсе эта метрика представляет, сколько исходящих пакетов публикации отправляются клиентам. Если на один и тот же раздел подписано несколько клиентов, эта метрика подсчитывает каждое сообщение, даже если они имеют одинаковые полезные данные. Это число не подсчитывает пакетыack. Для серверной части эта метрика представляет количество внутренних сообщений, отправляемых на внешние узлы. | category |
aio_broker_payload_bytes_received | Сумма полезных данных всех полученных публикаций. Эта сумма не включает размер свойств или сами пакеты публикации. | category |
aio_broker_payload_bytes_sent | Сумма полезных данных всех опубликованных публикаций. Эта сумма не включает размер свойств или сами пакеты публикации. | category |
aio_broker_authentication_successes | Эта метрика подсчитывает количество успешных запросов проверки подлинности. | category |
aio_broker_authentication_failures | Эта метрика подсчитывает количество неудачных запросов проверки подлинности. Для сервера без ошибок проверки подлинности aio_broker_authentication_successes + aio_broker_authentication_failures = aio_broker_publishes_received = publishes_sent |
category |
aio_broker_authentication_deny | Эта метрика подсчитывает количество отклоненных запросов проверки подлинности. | category |
aio_broker_authorization_allow | Эта метрика подсчитывает успешно запросы авторизации. Эта метрика всегда должна быть меньше или равной aio_broker_authentication_successes . |
category |
aio_broker_authorization_deny | Это число метрик отказано в запросах на авторизацию. Эта метрика всегда должна быть меньше или равной aio_broker_authentication_successes . |
category |
aio_broker_qos0_messages_dropped | Эта метрика подсчитывает количество удаленных сообщений QoS0 по какой-либо причине. direction Категория либо incoming outgoing . |
category , direction |
aio_broker_backpressure_packets_rejected | Эта метрика подсчитывает количество отклоненных пакетов из-за обратного выражения. Пакет отклоняется, если система составляет 97 % емкости. | |
aio_broker_store_retained_messages | Эта метрика рассчитывает, сколько сохраненных сообщений хранится в брокере. | |
aio_broker_store_retained_bytes | Эта метрика подсчитывает количество байтов, хранящихся через сохраненные сообщения в брокере. | |
aio_broker_store_will_messages | Эта метрика подсчитывает количество сообщений, хранящихся в брокере. | |
aio_broker_store_will_bytes | Эта метрика подсчитывает количество байтов, хранящихся через сообщения брокера. | |
aio_broker_number_of_routes | Подсчитывает количество маршрутов. | |
aio_broker_connect_route_replication_correctness | Описывает, реплицируется ли запрос подключения от клиента самостоятельного тестирования по определенному маршруту. | |
aio_broker_connect_latency_route_ms | Описывает интервал времени между клиентом самообслуживания, отправляющим пакет CONNECT, и получением пакета CONNACK. Эта метрика создается для каждого маршрута. Метрика создается только в том случае, если подключение выполнено успешно. | |
aio_broker_connect_latency_last_value_ms | Предполагаемое значение p99 connect_latency_route_ms . |
|
aio_broker_connect_latency_mu_ms | Среднее значение connect_latency_route_ms . |
|
aio_broker_connect_latency_sigma_ms | Стандартное отклонение connect_latency_route_ms . |
|
aio_broker_subscribe_route_replication_correctness | Описывает, реплицируется ли запрос подписки от клиента самостоятельного тестирования по определенному маршруту. | |
aio_broker_subscribe_latency_route_ms | Описывает интервал времени между клиентом самообслуживания, отправляющим пакет SUBSCRIBE, и получением пакета SUBACK. Эта метрика создается для каждого маршрута. Метрика создается только в том случае, если подписка выполнена успешно. | |
aio_broker_subscribe_latency_last_value_ms | Предполагаемое значение p99 subscribe_latency_route_ms . |
|
aio_broker_subscribe_latency_mu_ms | Среднее значение subscribe_latency_route_ms . |
|
aio_broker_subscribe_latency_sigma_ms | Стандартное отклонение subscribe_latency_route_ms . |
|
aio_broker_unsubscribe_route_replication_correctness | Описывает, реплицируется ли запрос отмены подписки от клиента самостоятельного тестирования по определенному маршруту. | |
aio_broker_unsubscribe_latency_route_ms | Описывает интервал времени между клиентом самообслуживания, отправляющим пакет UNSUBSCRIBE и получающим пакет UNSUBACK. Эта метрика создается для каждого маршрута. Метрика создается только в том случае, если отмена подписки выполнена успешно. | |
aio_broker_unsubscribe_latency_last_value_ms | Предполагаемое значение p99 unsubscribe_latency_route_ms . |
|
aio_broker_unsubscribe_latency_mu_ms | Среднее значение unsubscribe_latency_route_ms . |
|
aio_broker_unsubscribe_latency_sigma_ms | Стандартное отклонение subscribe_latency_route_ms . |
|
aio_broker_publish_route_replication_correctness | Описывает, реплицируется ли запрос отмены подписки от клиента самостоятельного тестирования по определенному маршруту. | |
aio_broker_publish_latency_route_ms | Описывает интервал времени между клиентом самообслуживания, отправляющим пакет PUBLISH, и получением пакета PUBACK. Эта метрика создается для каждого маршрута. Метрика создается только в том случае, если публикация выполнена успешно. | |
aio_broker_publish_latency_last_value_ms | Предполагаемое значение p99 publish_latency_route_ms . |
|
aio_broker_publish_latency_mu_ms | Среднее значение publish_latency_route_ms . |
|
aio_broker_publish_latency_sigma_ms | Стандартное отклонение publish_latency_route_ms . |
|
aio_broker_payload_check_latency_last_value_ms | Оценочная проверка задержки последнего значения p99. | |
aio_broker_payload_check_latency_mu_ms | Среднее значение проверки задержки. | |
aio_broker_payload_check_latency_sigma_ms | Стандартное отклонение задержки полезных данных. | |
aio_broker_payload_check_total_messages_lost | Количество потерянных полезных данных. | |
aio_broker_payload_check_total_messages_received | Количество полученных сообщений. | |
aio_broker_payload_check_total_messages_sent | Количество отправленных сообщений. | |
aio_broker_ping_correctness | Описывает правильность работы ping от клиента самостоятельного тестирования. | |
aio_broker_ping_latency_last_value_ms | Предполагаемое значение p99 операции проверки ping последнего значения. | |
aio_broker_ping_latency_mu_ms | Среднее значение проверки ping. | |
aio_broker_ping_latency_route_ms | Задержка ping в миллисекундах для определенного маршрута. | |
aio_broker_ping_latency_sigma_ms | Стандартное отклонение задержки операции ping. | |
aio_broker_publishes_processed_count | Описывает обработанное количество опубликованных сообщений. | |
aio_broker_publishes_received_per_second | Подсчитывает количество опубликованных сообщений, полученных в секунду. | |
aio_broker_publishes_sent_per_second | Подсчитывает количество отправленных сообщений в секунду. |
Метрики работоспособности оператора Брокера
Этот набор метрик отслеживает состояние кратности брокера. Каждая требуемая метрика связана с сообщаемой метрикой для отображения текущего состояния. Эти метрики указывают количество работоспособных модулей pod с точки зрения брокера, которые могут отличаться от отчетов Kubernetes.
Например, если внутренний узел перезапускается, но не подключается к его цепочке, может возникнуть несоответствие в отчетах о работоспособности. Kubernetes может сообщать pod как работоспособный, в то время как брокер сообщает об этом как вниз, так как он не работает должным образом.
Желаемая метрика | Сообщаемая метрика |
---|---|
aio_broker_backend_replicas | aio_broker_backend_replicas_current |
aio_broker_backend_vertical_chain | aio_broker_backend_vertical_chain_current |
aio_broker_frontend_replicas | aio_broker_frontend_replicas_current |
Примечание.
backend_vertical_chain_current
сообщает о количестве здоровых узлов в наименее работоспособной цепочке. Например, если ожидаемая длина цепочки равна 4, а три цепи имеют 4 здоровых узла, а одна цепочка имеет только 2 здоровых узла, backend_vertical_chain_current
сообщит 2.
Метрики подключения и подписки
Эти метрики обеспечивают наблюдаемость подключений и подписок брокера.
Метрическая | Description | Теги |
---|---|---|
aio_broker_total_sessions | На интерфейсном и одноузловом брокере эта метрика представляет количество клиентских сеансов. Это число не включает отключенные постоянные сеансы, так как клиент может повторно подключиться к другому интерфейсному узлу. Для серверной части эта метрика представляет свои подключения к другим узлам в цепочке. В операторе эта метрика представляет количество подключенных внешних и внутренних узлов. Для сервера проверки подлинности эта метрика представляет количество подключенных рабочих ролей внешнего интерфейса (1 на интерфейс на поток). | mqtt_version : [v3/v5] Только теги внутреннего узла: is_tail : [true/false] chain_id : [n] |
aio_broker_store_total_sessions | Эта метрика представляет количество сеансов в внутренней цепочке. Серверные узлы в той же цепочке должны сообщать о том же количестве сеансов, а сумма каждой цепочки должна совпадать с суммой total_sessions внешнего интерфейса. | is_persistent : [true/false] is_tail : [true/false] chain_id : [n] |
aio_broker_connected_sessions | То же самое, что aio_broker_total_sessions и только сеансы с активным подключением. |
|
aio_broker_store_connected_sessions | То же самое, что aio_broker_store_total_sessions и только сеансы с активным подключением. Если is_persistent значение равно false, это число должно быть равно общему сеансу. |
|
aio_broker_total_subscriptions | На интерфейсе эта метрика представляет количество подписок, которые в настоящее время подключены к сеансам. Это число не включает отключенные постоянные сеансы, так как клиент может повторно подключиться к другому интерфейсному узлу. В операторе эта метрика представляет внешние и внутренние узлы. Для сервера проверки подлинности эта метрика представляет количество подключенных рабочих ролей внешнего интерфейса (1 на интерфейс на поток). | |
aio_broker_store_total_subscriptions | Эта метрика представляет количество подписок в внутренней цепочке. Серверные узлы в той же цепочке должны сообщать о том же количестве подписок. Это число не обязательно соответствует интерфейсу total_subscriptions , так как эта метрика отслеживает отключенные постоянные сеансы, а также. |
Метрики хранилища состояний
Этот набор метрик отслеживает общее состояние хранилища состояний.
Метрическая | Description | Теги |
---|---|---|
aio_broker_state_store_deletions | Эта метрика подсчитывает количество полученных запросов на удаление ключей, включая успешные удаления и ошибки. | |
aio_broker_state_store_insertions | Эта метрика подсчитывает количество полученных запросов на вставку ключей, включая успешные вставки и ошибки. | |
aio_broker_state_store_keynotify_requests | Эта метрика подсчитывает количество запросов на мониторинг ключевых изменений (KEYNOTIFY), включая успешные изменения и ошибки. | |
aio_broker_state_store_modifications | Эта метрика подсчитывает количество полученных запросов на изменение ключей, включая как успешные изменения, так и ошибки. | |
aio_broker_state_store_notifications_sent | Эта метрика подсчитывает количество сообщений уведомлений, отправляемых хранилищем состояний при изменении значения ключа, и клиент регистрируется с помощью KEYNOTIFY. | |
aio_broker_state_store_retrievals | Эта метрика подсчитывает количество полученных запросов на получение ключевых значений, включая как успешные извлечение, так и ошибки. |
Метрики буфера сообщений с поддержкой диска
Эти метрики обеспечивают наблюдаемость буфера сообщений с поддержкой диска.
Метрическая | Description | Теги |
---|---|---|
aio_broker_buffer_pool_used_percent | Сообщает процент используемого буфера для одного внешнего или внутреннего буферного пула. | name |
aio_broker_disk_transfers_completed | Сообщает о количестве передачи дисков, завершенных на заданном серверном модуле pod. Отслеживает общее количество публикаций, передаваемых из буферного пула на диск. | |
aio_broker_disk_transfers_failed | Сообщает о количестве передачи дисков, завершившемся сбоем в заданном серверном модуле pod. |
Примечание.
Используйте только некоторые внутренние пулы буферов, в частности динамические с именем "читатель", используйте функцию буфера сообщений с поддержкой диска. Эти пулы хранят очереди сообщений подписчика и передают элементы на диск при превышении 75 %.
Метрики восстановления сбоев
Метрическая | Description |
---|---|
aio_broker_store_transfer_batch_receiver_message_count | Эта метрика сообщает количество сообщений, полученных получателем передачи хранилища. Это число должно быть равно количеству сообщений, отправляемых отправителем передачи хранилища. |
aio_broker_store_transfer_batch_sender_transfer_bytes | Эта метрика сообщает количество байтов, отправленных отправителем передачи хранилища. |
aio_broker_store_transfer_batch_sender_message_count | Эта метрика сообщает количество сообщений, отправленных отправителем передачи хранилища. |
aio_broker_store_transfer_ack_event_receiver_message_count | Эта метрика сообщает количество сообщений о событиях, полученных получателем передачи магазина. Это число должно быть равно количеству сообщений о событияхack, отправленных отправителем передачи магазина. |
aio_broker_store_transfer_ack_event_sender_message_count | Эта метрика сообщает количество сообщений о событияхack, отправленных отправителем передачи магазина. |
aio_broker_store_transfer_ack_event_sender_transfer_bytes | Эта метрика сообщает количество байтов, отправленных отправителем передачи хранилища для событий взлома. |
aio_broker_store_transfer_patch_tracker_receiver_message_count | Эта метрика сообщает количество сообщений отслеживания исправлений, полученных получателем передачи хранилища. Это число должно быть равно количеству сообщений отслеживания исправлений, отправленных отправителем передачи хранилища. |
aio_broker_store_transfer_patch_tracker_sender_message_count | Эта метрика сообщает количество сообщений средства отслеживания исправлений, отправленных отправителем передачи хранилища. |
Метрики разработчика
Эти метрики полезны для отладки разработчиков.
Метрическая | Description |
---|---|
aio_broker_patch_tracker_held_patches | Эта метрика сообщает, сколько исправлений в настоящее время хранится в узле в цепочке. |
aio_broker_ack_handler_pending_transactions | Эта метрика сообщает, сколько транзакций в настоящее время ожидается в обработчике взлома. |
aio_broker_client_connected | Эта метрика сообщает, сколько клиентов подключено. |
aio_broker_client_disconnected | Эта метрика сообщает, сколько клиентов отключено. |
aio_broker_client_removed | Эта метрика сообщает, сколько клиентов удаляются. |
Связанный контент
- Настройте параметры диагностики брокера MQTT.
- Настройка наблюдаемости