Compartir a través de


Configuración de los valores de diagnóstico del corredor MQTT

Configura las opciones de diagnóstico para establecer métricas, registros y autocomprobación para el broker MQTT.

Importante

Los diagnósticos se establecen en el recurso del agente. Configure los diagnósticos durante la implementación inicial mediante la CLI de Azure o Azure Portal. Si desea cambiar la configuración del agente, implemente un nuevo recurso de agente. Para obtener más información, consulte Personalizar el agente predeterminado.

Métricas

Las métricas muestran la salud y el estado actual y pasado del agente MQTT. Estas métricas usan el formato openTelemetry Protocol (OTLP). Conviértalos al formato Prometheus con un recopilador OpenTelemetry y enrútelos a los 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 una lista completa de las métricas disponibles, consulte Métricas de agente MQTT.

Registros

Los registros muestran información sobre las acciones que realiza el agente MQTT. Estos registros se encuentran en el clúster de Kubernetes como registros de contenedor. Configúralos para enviarlos 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 autocomprobación del intermediario MQTT está activado 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 las pruebas con los resultados esperados. Estos resultados incluyen:

  • Los mensajes de rutas de acceso realizados a través del sistema.
  • Comportamiento temporal del sistema.

La sonda de diagnóstico ejecuta regularmente operaciones MQTT (PING, CONECTAR, PUBLICAR, SUSCRIBIR, CANCELAR SUSCRIPCIÓN) en el agente MQTT y monitorea los ACK y seguimientos correspondientes para verificar la latencia, la pérdida de mensajes y la corrección 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 prueba de sonda o autoevaluación y producir resultados no válidos. Los resultados no válidos se pueden enumerar en los registros de pruebas diagnósticas, las métricas o los paneles. Por ejemplo, es posible que vea la incidencia "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, consulta Problemas conocidos.

Aunque el agente MQTT diagnósticos genere mensajes de diagnóstico en su propio tema, todavía puede obtener mensajes de la prueba automática al suscribirse al tema de #. Se trata de una limitación y un comportamiento esperado.

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 agente MQTT, edite la diagnostics sección del recurso Broker. Actualmente, solo puede cambiar los ajustes mediante la bandera --broker-config-file al implementar las operaciones de Azure IoT con el comando az iot ops create.

Para invalidar, prepare un archivo de configuración del agente siguiendo la referencia de la API 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, despliegue las Operaciones de IoT con el az iot ops create comando y el --broker-config-file indicador como se muestra en el ejemplo siguiente. (por concisión se omiten otros parámetros).

az iot ops create ... --broker-config-file <FILE>.json

Obtenga más información sobre el soporte de CLI de Azure para la configuración avanzada de brokers MQTT y Ejemplos de brokers.