Configuración de los valores de diagnóstico del corredor MQTT
Importante
Esta configuración requiere modificar el recurso de Broker y solo se puede configurar en el momento de la implementación inicial mediante la CLI de Azure o Azure Portal. Se requiere una nueva implementación si se necesitan cambios de configuración de agente. Para obtener más información, consulte Personalizar el agente predeterminado.
La configuración de diagnóstico le permite configurar métricas, registros y autoprotección para el corredor MQTT.
Métricas
Las métricas proporcionan información sobre el estado actual y anterior del corredor MQTT. Estas métricas se emiten en formato OpenTelemetry (OTLP). Se pueden convertir en formato Prometheus mediante un recopilador de OpenTelemetry y enrutarse a paneles de Azure Managed Grafana mediante el servicio administrado de Azure Monitor para Prometheus. Para obtener más información, vea Configuración de la observabilidad y la supervisión.
Para obtener la lista completa de métricas disponibles, consulte métricas del corredor MQTT.
Registros
Los registros proporcionan información sobre las operaciones realizadas por el corredor MQTT. Estos registros están disponibles en el clúster de Kubernetes como registros de contenedor. Se pueden configurar para que se envíen a los registros de Azure Monitor con Container Insights.
Para obtener más información, vea Configuración de la observabilidad y la supervisión.
Autoprotección
El mecanismo de autoprotección del corredor MQTT está habilitado de forma predeterminada. Usa un sondeo de diagnóstico y seguimientos de OpenTelemetry (OTel) para supervisar el corredor. El sondeo envía mensajes de prueba para comprobar el comportamiento y el tiempo del sistema.
El proceso de validación comprueba si el sistema funciona correctamente comparando los resultados de la prueba con los resultados esperados. Estos resultados incluyen:
- Los mensajes de rutas de acceso realizados a través del sistema.
- El comportamiento de tiempo del sistema.
El sondeo de diagnóstico ejecuta periódicamente las operaciones MQTT (PING, CONNECT, PUBLISH, SUBSCRIBE y UNSUBSCRIBE) en el corredor MQTT y supervisa las ACK y seguimientos correspondientes para comprobar la latencia, la pérdida de mensajes y la exactitud del protocolo de replicación.
Importante
El sondeo de diagnóstico de comprobación automática publica mensajes en el tema azedge/dmqtt/selftest
. No publique ni se suscriba a temas de sondeo de diagnóstico que empiecen por azedge/dmqtt/selftest
. La publicación o suscripción a estos temas puede afectar a las comprobaciones de sondeo o de prueba automática, lo que da lugar a resultados no válidos. Los resultados no válidos pueden aparecer en los registros de sondeo de diagnóstico, las métricas o los paneles. Por ejemplo, es posible que vea el problema Error de comprobación de la ruta de acceso para el evento de sondeo con el tipo de operación "Publicar" en los registros de sondeo de diagnóstico. Para obtener más información, consulte Problemas conocidos.
Cambiar la configuración de diagnóstico
En la mayoría de los escenarios, la configuración de diagnóstico predeterminada es suficiente. Para invalidar la configuración de diagnóstico predeterminada para el corredor MQTT, edite la sección diagnostics
del recurso Broker. Actualmente, cambiar la configuración solo se admite con la marca --broker-config-file
al implementar las Operaciones de IoT de Azure mediante el comando az iot ops create
.
Para invalidar, prepare primero un archivo de configuración de Broker siguiendo la referencia de API de BrokerDiagnostics. Por ejemplo:
{
"diagnostics": {
"metrics": {
"prometheusPort": 9600
},
"logs": {
"level": "debug"
},
"traces": {
"mode": "Enabled",
"cacheSizeMegabytes": 16,
"selfTracing": {
"mode": "Enabled",
"intervalSeconds": 30
},
"spanChannelCapacity": 1000
},
"selfCheck": {
"mode": "Enabled",
"intervalSeconds": 30,
"timeoutSeconds": 15
}
}
}
A continuación, implemente Operaciones de IoT de Azure mediante el az iot ops create
comando con la marca --broker-config-file
, como el siguiente comando (se omiten otros parámetros para mayor brevedad):
az iot ops create ... --broker-config-file <FILE>.json
Para más información, consulte compatibilidad de la CLI de Azure con la configuración avanzada del corredor MQTT y ejemplos de Broker.