Métricas para el agente MQTT
El agente MQTT proporciona un conjunto de métricas de observabilidad que puede usar para supervisar y analizar el estado de la solución. En este artículo se describen las métricas disponibles para el agente MQTT.
Para configurar las opciones de estas métricas, consulte Configuración de los valores de diagnóstico del agente MQTT.
Propiedad de usuario MQTT Connect metriccategory
Cuando un cliente se conecta al agente, puede incluir una propiedad de usuario llamada metriccategory
en el paquete de conexión. A continuación, el agente etiqueta todas las métricas controladas por sesión (como publicar y suscribirse) con esto metriccategory
como category
.
Por ejemplo, si el sondeo de comprobación automática se conecta con metriccategory=broker_selftest
, el agente etiqueta todas las métricas de estas sesiones con category=broker_selftest
.
Esta característica ayuda a los paneles a mostrar orígenes de tráfico sin los problemas de cardinalidad alta de las métricas de etiquetado con temas.
Las sesiones sin un metriccategory
se etiquetan como category=uncategorized
.
Métricas de mensajería
Todas las métricas incluyen la hostname
etiqueta para identificar el pod que generó las métricas. Las etiquetas enumeradas en las descripciones de métricas individuales se agregan a esta etiqueta.
Métrica | Descripción | Etiquetas |
---|---|---|
aio_broker_publishes_received | En el front-end, esta métrica representa el número de paquetes de publicación entrantes que se reciben de los clientes. Para el back-end, esta métrica representa el número de mensajes internos que se envían desde los nodos de front-end. | category |
aio_broker_publishes_sent | En el front-end, esta métrica representa el número de paquetes de publicación salientes que se envían a los clientes. Si se suscriben varios clientes al mismo tema, esta métrica cuenta cada mensaje enviado, incluso si tienen la misma carga. Este recuento no cuenta los paquetes de confirmación. Para el back-end, esta métrica representa el número de mensajes internos que se envían a los nodos de front-end. | category |
aio_broker_payload_bytes_received | Suma de las cargas de todas las publicación recibidas. Esta suma no incluye el tamaño de las propiedades ni publicar paquetes por sí mismos. | category |
aio_broker_payload_bytes_sent | Suma de las cargas de todas las publicación enviadas. Esta suma no incluye el tamaño de las propiedades ni publicar paquetes por sí mismos. | category |
aio_broker_authentication_successes | Esta métrica cuenta el número de solicitudes de autenticación correctas. | category |
aio_broker_authentication_failures | Esta métrica cuenta el número de solicitudes de autenticación con error. Para un servidor de autenticación sin errores, aio_broker_authentication_successes + aio_broker_authentication_failures = aio_broker_publishes_received = publishes_sent |
category |
aio_broker_authentication_deny | Esta métrica cuenta el número de solicitudes de autenticación denegadas. | category |
aio_broker_authorization_allow | Esta métrica cuenta correctamente las solicitudes de autorización. Esta métrica siempre debe ser menor o igual que aio_broker_authentication_successes . |
category |
aio_broker_authorization_deny | Esta métrica cuenta las solicitudes de autorización denegadas. Esta métrica siempre debe ser menor o igual que aio_broker_authentication_successes . |
category |
aio_broker_qos0_messages_dropped | Esta métrica cuenta el número de mensajes QoS0 descartados por cualquier motivo. La categoría direction es incoming o outgoing . |
category , direction |
aio_broker_backpressure_packets_rejected | Esta métrica cuenta el número de paquetes rechazados debido a la presión inversa. Se rechaza un paquete si el sistema tiene una capacidad del 97 %. | |
aio_broker_store_retained_messages | Esta métrica cuenta cuántos mensajes retenidos se almacenan en el agente. | |
aio_broker_store_retained_bytes | Esta métrica cuenta cuántos bytes se almacenan a través de mensajes retenidos en el agente. | |
aio_broker_store_will_messages | Esta métrica cuenta cuántos mensajes se almacenarán en el agente. | |
aio_broker_store_will_bytes | Esta métrica cuenta cuántos bytes se almacenan a través de mensajes en el agente. | |
aio_broker_number_of_routes | Cuenta el número de rutas. | |
aio_broker_connect_route_replication_correctness | Describe si una solicitud de conexión de un cliente de prueba automática se replica correctamente a lo largo de una ruta específica. | |
aio_broker_connect_latency_route_ms | Describe el intervalo de tiempo entre que un cliente de prueba automática envía un paquete CONNECT y recibe un paquete CONNACK. Esta métrica se genera por ruta. La métrica solo se genera si CONNECT se realiza correctamente. | |
aio_broker_connect_latency_last_value_ms | Valor estimado p99 de connect_latency_route_ms . |
|
aio_broker_connect_latency_mu_ms | Valor medio de connect_latency_route_ms . |
|
aio_broker_connect_latency_sigma_ms | Desviación estándar de connect_latency_route_ms . |
|
aio_broker_subscribe_route_replication_correctness | Describe si una solicitud de suscripción de un cliente de prueba automática se replica correctamente a lo largo de una ruta específica. | |
aio_broker_subscribe_latency_route_ms | Describe el intervalo de tiempo entre que un cliente de prueba automática envía un paquete SUBSCRIBE y recibe un paquete SUBACK. Esta métrica se genera por ruta. La métrica solo se genera si SUBSCRIBE se realiza correctamente. | |
aio_broker_subscribe_latency_last_value_ms | Valor estimado p99 de subscribe_latency_route_ms . |
|
aio_broker_subscribe_latency_mu_ms | Valor medio de subscribe_latency_route_ms . |
|
aio_broker_subscribe_latency_sigma_ms | Desviación estándar de subscribe_latency_route_ms . |
|
aio_broker_unsubscribe_route_replication_correctness | Describe si una solicitud de cancelación de suscripción de un cliente de prueba se replica correctamente a lo largo de una ruta específica. | |
aio_broker_unsubscribe_latency_route_ms | Describe el intervalo de tiempo entre que un cliente de prueba automática envía un paquete UNSUBSCRIBE y recibe un paquete UNSUBACK. Esta métrica se genera por ruta. La métrica solo se genera si UNSUBSCRIBE se realiza correctamente. | |
aio_broker_unsubscribe_latency_last_value_ms | Valor estimado p99 de unsubscribe_latency_route_ms . |
|
aio_broker_unsubscribe_latency_mu_ms | Valor medio de unsubscribe_latency_route_ms . |
|
aio_broker_unsubscribe_latency_sigma_ms | Desviación estándar de subscribe_latency_route_ms . |
|
aio_broker_publish_route_replication_correctness | Describe si una solicitud de cancelación de suscripción de un cliente de prueba se replica correctamente a lo largo de una ruta específica. | |
aio_broker_publish_latency_route_ms | Describe el intervalo de tiempo entre que un cliente de prueba automática envía un paquete PUBLISH y recibe un paquete PUBACK. Esta métrica se genera por ruta. La métrica solo se genera si PUBLISH se realiza correctamente. | |
aio_broker_publish_latency_last_value_ms | Valor estimado p99 de publish_latency_route_ms . |
|
aio_broker_publish_latency_mu_ms | Valor medio de publish_latency_route_ms . |
|
aio_broker_publish_latency_sigma_ms | Desviación estándar de publish_latency_route_ms . |
|
aio_broker_payload_check_latency_last_value_ms | p99 estimado de comprobación de latencia del último valor. | |
aio_broker_payload_check_latency_mu_ms | Valor medio de la comprobación de latencia. | |
aio_broker_payload_check_latency_sigma_ms | Desviación estándar de la latencia de la carga. | |
aio_broker_payload_check_total_messages_lost | Recuento de la carga total de mensajes perdidos. | |
aio_broker_payload_check_total_messages_received | Recuento del número total de mensajes recibidos. | |
aio_broker_payload_check_total_messages_sent | Recuento del número total de mensajes enviados. | |
aio_broker_ping_correctness | Describe si el ping del cliente de prueba automática funciona correctamente. | |
aio_broker_ping_latency_last_value_ms | Valor estimado p99 de operación de ping del último valor. | |
aio_broker_ping_latency_mu_ms | Valor medio de la comprobación de ping. | |
aio_broker_ping_latency_route_ms | Latencia de ping en milisegundos para una ruta específica. | |
aio_broker_ping_latency_sigma_ms | Desviación estándar de la latencia de la operación de ping. | |
aio_broker_publishes_processed_count | Describe los recuentos procesados de mensajes publicados. | |
aio_broker_publishes_received_per_second | Cuenta el número de mensajes publicados recibidos por segundo. | |
aio_broker_publishes_sent_per_second | Cuenta el número de mensajes enviados recibidos por segundo. |
Métricas de mantenimiento del operador de Broker
Este conjunto de métricas realiza un seguimiento del estado de cardinalidad del agente. Cada métrica deseada se empareja con una métrica notificada para mostrar el estado actual. Estas métricas indican el número de pods correctos desde la perspectiva del agente, que puede diferir de los informes de Kubernetes.
Por ejemplo, si un nodo back-end se reinicia pero no se vuelve a conectar a su cadena, puede haber una discrepancia en los informes de estado. Kubernetes puede notificar el pod como correcto, mientras que el agente lo notifica como inactivo porque no funciona correctamente.
Métrica deseada | Métrica notificada |
---|---|
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 |
Nota:
backend_vertical_chain_current
informa del número de nodos correctos en la cadena menos correcta. Por ejemplo, si la longitud esperada de la cadena es 4 y tres cadenas tienen 4 nodos correctos mientras que una cadena tiene solo 2 nodos correctos, backend_vertical_chain_current
notificaría 2.
Métricas de conexión y suscripción
Estas métricas proporcionan observabilidad para las conexiones y suscripciones en el agente.
Métrica | Descripción | Etiquetas |
---|---|---|
aio_broker_total_sessions | En el agente de front-end y el nodo único, esta métrica representa el número de sesiones de cliente que hay. Este recuento no incluye sesiones persistentes desconectadas, ya que un cliente podría volver a conectarse a otro nodo de front-end. Para el back-end, esta métrica representa sus conexiones a los otros nodos de su cadena. En el operador , esta métrica representa el número de nodos front-end y back-end conectados. Para el servidor de autenticación, esta métrica representa el número de trabajos de front-end conectados (1 por front-end por subproceso). | mqtt_version : [v3/v5] Etiquetas solo de nodo back-end: is_tail : [true/false] chain_id : [n] |
aio_broker_store_total_sessions | Esta métrica representa cuántas sesiones están en la cadena de back-end. Los nodos back-end de la misma cadena deben notificar el mismo número de sesiones y la suma de cada cadena debe ser igual a la suma de la total_sessions del front-end. | is_persistent : [true/false] is_tail : [true/false] chain_id : [n] |
aio_broker_connected_sessions | Igual que aio_broker_total_sessions , excepto solo las sesiones que tienen una conexión activa. |
|
aio_broker_store_connected_sessions | Igual que aio_broker_store_total_sessions , excepto solo las sesiones que tienen una conexión activa. Si is_persistent es false, este recuento debe ser igual al total de sesiones. |
|
aio_broker_total_subscriptions | En el front-end, esta métrica representa cuántas suscripciones tienen las sesiones conectadas actualmente. Este recuento no incluye sesiones persistentes desconectadas, ya que un cliente podría volver a conectarse a otro nodo de front-end. En el operador , esta métrica representa los nodos front-end y back-end. Para el servidor de autenticación, esta métrica representa el número de trabajos de front-end conectados (1 por front-end por subproceso). | |
aio_broker_store_total_subscriptions | Esta métrica representa cuántas suscripciones están en la cadena de back-end. Los nodos de back-end de la misma cadena deben notificar el mismo número de suscripciones. Este recuento no coincide necesariamente con el de total_subscriptions front-end, ya que esta métrica realiza un seguimiento de las sesiones persistentes desconectadas también. |
Métricas del almacén de estado
Este conjunto de métricas realiza un seguimiento del estado general del almacén de estado.
Métrica | Descripción | Etiquetas |
---|---|---|
aio_broker_state_store_deletions | Esta métrica cuenta el número de solicitudes de clave de eliminación recibidas, incluidas las eliminaciones correctas y los errores. | |
aio_broker_state_store_insertions | Esta métrica cuenta el número de solicitudes de inserción de claves nuevas recibidas, incluidas las inserciones y errores correctos. | |
aio_broker_state_store_keynotify_requests | Esta métrica cuenta el número de solicitudes para supervisar los cambios clave (KEYNOTIFY) recibidos, incluidas las modificaciones y los errores correctos. | |
aio_broker_state_store_modifications | Esta métrica cuenta el número de solicitudes de modificación de clave recibidas, incluidas las modificaciones correctas y los errores. | |
aio_broker_state_store_notifications_sent | Esta métrica cuenta el número de mensajes de notificación que envía el almacén de estado cuando cambia un valor de clave y un cliente se registran a través de KEYNOTIFY. | |
aio_broker_state_store_retrievals | Esta métrica cuenta el número de solicitudes de recuperación de valores clave recibidas, incluidas las recuperaciones y los errores correctos. |
Métricas de búfer de mensajes con respaldo en disco
Estas métricas proporcionan observabilidad para el búfer de mensajes respaldados por disco.
Métrica | Descripción | Etiquetas |
---|---|---|
aio_broker_buffer_pool_used_percent | Informa del porcentaje de búfer usado para un único grupo de búferes de front-end o back-end. | name |
aio_broker_disk_transfers_completed | Informa del número de transferencias de disco completadas en un pod back-end determinado. Realiza un seguimiento del número total de publicación transferidas de un grupo de búferes al disco. | |
aio_broker_disk_transfers_failed | Informa del número de transferencias de disco que no se pudieron realizar en un pod back-end determinado. |
Nota:
Solo determinados grupos de búferes de back-end, específicamente los dinámicos denominados "lector", usan la característica de búfer de mensajes con respaldo en disco. Estos grupos almacenan colas de mensajes de suscriptor y transfieren elementos al disco cuando el uso supera el 75 %.
Métricas de recuperación de errores
Métrica | Descripción |
---|---|
aio_broker_store_transfer_batch_receiver_message_count | Esta métrica informa del número de mensajes recibidos por el receptor de transferencia de almacén. Este recuento debe ser igual al número de mensajes enviados por el remitente de transferencia del almacén. |
aio_broker_store_transfer_batch_sender_transfer_bytes | Esta métrica informa del número de bytes enviados por el remitente de transferencia de almacén. |
aio_broker_store_transfer_batch_sender_message_count | Esta métrica informa del número de mensajes enviados por el remitente de transferencia de almacén. |
aio_broker_store_transfer_ack_event_receiver_message_count | Esta métrica informa del número de mensajes de evento de confirmación recibidos por el receptor de transferencia del almacén. Este recuento debe ser igual al número de mensajes de evento de confirmación enviados por el remitente de la transferencia del almacén. |
aio_broker_store_transfer_ack_event_sender_message_count | Esta métrica informa del número de mensajes de evento de confirmación enviados por el remitente de la transferencia del almacén. |
aio_broker_store_transfer_ack_event_sender_transfer_bytes | Esta métrica informa del número de bytes enviados por el remitente de transferencia de almacén para eventos de confirmación. |
aio_broker_store_transfer_patch_tracker_receiver_message_count | Esta métrica informa del número de mensajes de seguimiento de revisiones recibidos por el receptor de transferencia de almacén. Este recuento debe ser igual al número de mensajes de seguimiento de revisiones enviados por el remitente de la transferencia del almacén. |
aio_broker_store_transfer_patch_tracker_sender_message_count | Esta métrica informa del número de mensajes de seguimiento de revisiones enviados por el remitente de transferencia de la tienda. |
Métricas del desarrollador
Estas métricas son útiles para la depuración del desarrollador.
Métrica | Descripción |
---|---|
aio_broker_patch_tracker_held_patches | Esta métrica informa del número de revisiones que se mantienen actualmente dentro de un nodo de una cadena. |
aio_broker_ack_handler_pending_transactions | Esta métrica informa de cuántas transacciones están pendientes actualmente en el controlador de confirmación. |
aio_broker_client_connected | Esta métrica informa del número de clientes conectados. |
aio_broker_client_disconnected | Esta métrica informa del número de clientes que se desconectan. |
aio_broker_client_removed | Esta métrica informa del número de clientes que se quitan. |
Contenido relacionado
- Configure los valores de diagnóstico del agente MQTT.
- Configuración de la observabilidad