Configurare le impostazioni di diagnostica del broker MQTT
Importante
Per questa impostazione è necessario modificare la risorsa Broker. Viene configurato solo durante la distribuzione iniziale usando l'interfaccia della riga di comando di Azure o il portale di Azure. Se sono necessarie modifiche alla configurazione di Broker, è necessaria una nuova distribuzione. Per altre informazioni, vedere Personalizzare Broker predefinito.
Usando le impostazioni di diagnostica, è possibile configurare metriche, log e controllo automatico per il broker MQTT.
Metrica
Le metriche forniscono informazioni sull'integrità e sullo stato correnti e precedenti del broker MQTT. Queste metriche vengono generate in formato OTLP (OpenTelemetry Protocol). È possibile convertirli in formato Prometheus usando un agente di raccolta OpenTelemetry e indirizzarli ai dashboard di Grafana gestiti di Azure usando il servizio gestito di Monitoraggio di Azure per Prometheus. Per altre informazioni, vedere Configurare l'osservabilità e il monitoraggio.
Per l'elenco completo delle metriche disponibili, vedere Metriche del broker MQTT.
Registri
I log forniscono informazioni sulle operazioni eseguite dal broker MQTT. Questi log sono disponibili nel cluster Kubernetes come log dei contenitori. È possibile configurarli per l'invio ai log di Monitoraggio di Azure con Informazioni dettagliate sui contenitori.
Per altre informazioni, vedere Configurare l'osservabilità e il monitoraggio.
Controllo automatico
Il meccanismo di controllo automatico del broker MQTT è abilitato per impostazione predefinita. Usa un probe di diagnostica e le tracce OTelemetry (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 del test con i risultati previsti. Questi risultati includono:
- Percorsi che i messaggi passano attraverso il sistema.
- Comportamento di intervallo del sistema.
Il probe di diagnostica esegue periodicamente le operazioni MQTT (PING, CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE) nel broker MQTT e monitora le ACL e le tracce corrispondenti per verificare la latenza, la perdita di messaggi e la correttezza del protocollo di replica.
Importante
Il probe di diagnostica self-check pubblica i messaggi nell'argomento azedge/dmqtt/selftest
. Non pubblicare o sottoscrivere argomenti del probe di diagnostica che iniziano con azedge/dmqtt/selftest
. La pubblicazione o la sottoscrizione a questi argomenti potrebbero influire sui controlli del probe o del test automatico e causare risultati non validi. I risultati non validi potrebbero essere elencati nei log del probe di diagnostica, nelle metriche o nei dashboard. Ad esempio, è possibile che venga visualizzato il problema "Verifica del percorso non riuscita per l'evento probe con il tipo di operazione "Pubblica" nei log del probe di diagnostica. Per altre informazioni, vedi Problemi noti.
Modificare 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, la modifica delle impostazioni è supportata solo usando il --broker-config-file
flag quando si distribuiscono le operazioni di Azure IoT usando il az iot ops create
comando .
Per eseguire l'override, preparare prima di tutto un file di configurazione broker seguendo le informazioni di riferimento sull'API BrokerDiagnostics . Ad esempio:
{
"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
}
}
}
Distribuire quindi operazioni IoT usando il az iot ops create
comando con il --broker-config-file
flag , come il comando seguente. Altri parametri vengono omessi per brevità.
az iot ops create ... --broker-config-file <FILE>.json
Per altre informazioni, vedere Supporto dell'interfaccia della riga di comando di Azure per esempi avanzati di configurazione broker MQTT e Broker.