Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O sistema de diagnóstico de corretores MQTT é um conjunto de ferramentas integradas que monitorizam a saúde do corretor através de métricas, registos e sondas de auto-verificação. Decida antes da implementação que configuração de diagnóstico precisa para o broker MQTT.
Importante
Os diagnósticos são definidos no recurso Broker. Configure o diagnóstico durante a implantação inicial usando a CLI do Azure ou o portal do Azure. Se você quiser alterar as configurações do broker, implante um novo recurso do broker. Para saber mais, consulte Personalizar o corretor padrão.
Auto-verificação
O mecanismo de autoverificação do broker MQTT está ativado por padrão. Ele utiliza uma sonda de diagnóstico e rastreamentos OpenTelemetry (OTel) para monitorizar o broker. A sonda envia mensagens de teste para verificar o comportamento e o tempo do sistema.
O processo de validação verifica se o sistema funciona corretamente, comparando os resultados do teste com os resultados esperados. Estes resultados incluem:
- Os caminhos que as mensagens percorrem através do sistema.
- Comportamento de temporização do sistema.
A sonda de diagnóstico executa regularmente operações MQTT (PING, CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE) no broker MQTT e supervisiona os ACKs e rastreamentos correspondentes para verificar a latência, a perda de mensagens e a correção do protocolo de replicação.
Importante
A sonda de diagnóstico de autoverificação publica mensagens no tópico azedge/dmqtt/selftest. Não publique nem assine tópicos de sondas de diagnóstico que comecem com azedge/dmqtt/selftest. A publicação ou subscrição destes tópicos pode afetar as verificações de sonda ou de autoteste e levar a resultados inválidos. Resultados inválidos podem ser listados em logs de sondas de diagnóstico, métricas ou dashboards. Por exemplo, poderá ver o problema "Falha na verificação de caminho para evento de sonda com tipo de operação 'Publicar'" nos registos de sonda de diagnóstico. Para obter mais informações, consulte Problemas conhecidos.
Mesmo que o diagnóstico do broker MQTT produza mensagens de diagnóstico em seu próprio tópico, você ainda pode obter mensagens do autoteste quando se inscrever no # tópico. Esta é uma limitação e um comportamento esperado.
Definir definições de diagnóstico
Na maioria dos cenários, as configurações de diagnóstico padrão são suficientes. Para substituir as configurações de diagnóstico padrão para o broker MQTT, edite a seção diagnostics no recurso Broker. Atualmente, é possível alterar as configurações apenas usando o sinalizador --broker-config-file ao implantar o Operações IoT do Azure com o comando az iot ops create. Para mais informações, consulte o suporte da CLI Azure para configuração avançada de corretores MQTT.
Para substituir, prepare um ficheiro de configuração de corretor seguindo a referência da API BrokerDiagnostics. Por exemplo:
{
"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
}
}
}
Em seguida, implante as operações IoT com o comando az iot ops create e a flag --broker-config-file, conforme mostrado no exemplo a seguir. (Outros parâmetros são omitidos por uma questão de brevidade.)
az iot ops create ... --broker-config-file <FILE>.json