Pianificazione della distribuzione - Diagnostica

Il sistema di diagnostica del broker MQTT è un insieme di strumenti integrati che monitorano lo stato di salute del broker tramite metriche, log e sonde di autocontrollo. Decidere prima della distribuzione della configurazione di diagnostica necessaria per il broker MQTT.

Importante

La diagnostica viene impostata sulla risorsa Broker. Configurare la diagnostica durante la distribuzione iniziale usando l'interfaccia della riga di comando di Azure o il portale di Azure. Per modificare le impostazioni del broker, distribuisci una nuova risorsa di broker. Per altre informazioni, vedere Personalizzare Broker predefinito.

Controllo automatico

Il meccanismo di controllo automatico del broker MQTT è attivato per impostazione predefinita. Usa un probe di diagnostica e le tracce OpenTelemetry (OTel) per monitorare il broker. Il probe invia messaggi di test per controllare il comportamento e la tempistica del sistema.

Il processo di convalida controlla se il sistema funziona correttamente confrontando i risultati dei test con i risultati previsti. Questi risultati includono:

  • I percorsi che i messaggi seguono attraverso il sistema.
  • Comportamento di temporizzazione del sistema.

La sonda diagnostica esegue regolarmente operazioni MQTT (PING, CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE) sul broker MQTT e monitora gli ACK e le tracce corrispondenti per verificare la latenza, la perdita di messaggi e la correttezza del protocollo di replicazione.

Importante

Il probe di diagnostica di controllo automatico pubblica i messaggi nell'argomento azedge/dmqtt/selftest. Non pubblicare o abbonarsi ad argomenti del probe di diagnostica che iniziano con azedge/dmqtt/selftest. La pubblicazione o la sottoscrizione di questi argomenti può influire sui controlli del probe o della verifica automatica, generando risultati non validi. I risultati non validi possono essere elencati nei log delle sonde diagnostiche, nelle metriche o nei pannelli di controllo. Ad esempio, è possibile che venga visualizzato il problema "Verifica del percorso non riuscita per l'evento probe con il tipo di operazione "Publish"" nei log del probe di diagnostica. Per altre informazioni, vedere Problemi noti.

Anche se la diagnostica del broker MQTT produce messaggi di diagnostica sul proprio tema, è comunque possibile ottenere i messaggi della verifica automatica quando ci si sottoscrive all'argomento #. Si tratta di una limitazione e di un comportamento previsto.

Configurate le impostazioni di diagnostica

Nella maggior parte degli scenari, le impostazioni di diagnostica predefinite sono sufficienti. Per eseguire l'override delle impostazioni di diagnostica predefinite per il broker MQTT, modificare la diagnostics sezione nella risorsa Broker. Attualmente, è possibile modificare le impostazioni solo usando il --broker-config-file flag quando si distribuiscono le operazioni di Azure IoT con il az iot ops create comando . Per altre informazioni, vedere Supporto dell'interfaccia della riga di comando di Azure per la configurazione avanzata del broker MQTT.

Per effettuare l'override, preparare un file di configurazione del broker seguendo la documentazione di riferimento dell'API BrokerDiagnostics. Per esempio:

{
  "diagnostics": {
    "metrics": {
      "prometheusPort": 9600
    },
      "logs": {
        "level": "info"
      },
    "traces": {
      "mode": "Enabled",
      "cacheSizeMegabytes": 16,
      "selfTracing": {
        "mode": "Enabled",
        "intervalSeconds": 30
      },
      "spanChannelCapacity": 1000
    },
    "selfCheck": {
      "mode": "Enabled",
      "intervalSeconds": 30,
      "timeoutSeconds": 60
    }
  }
}

Distribuisci quindi le operazioni IoT usando il comando az iot ops create e l'opzione --broker-config-file, come mostrato nell'esempio seguente. Gli altri parametri sono stati omessi per brevità.

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

Passaggi successivi