Planejamento de implantação – Diagnóstico

O sistema de diagnóstico do broker MQTT é um conjunto de ferramentas integradas que monitoram a saúde do broker por meio de métricas, logs e sondas de autoverificação. Decida antes da implantação qual configuração de diagnóstico você precisa para o agente MQTT.

Importante

O diagnóstico é definido no recurso Agente. 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 agente, implante um novo recurso de agente. Para saber mais, confira Personalizar o Agente padrão.

Autoverificação

O mecanismo de autoverificação do broker MQTT está ativado por padrão. Ele usa uma investigação de diagnóstico e rastreamentos do OTel (OpenTelemetry) para monitorar o agente. 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 de teste com os resultados esperados. Esses resultados incluem:

  • Os caminhos que as mensagens percorrem pelo sistema.
  • Comportamento de temporização do sistema.

A sonda de diagnóstico executa regularmente operações MQTT (PING, CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE) no corretor MQTT e monitora 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 investigação de diagnóstico de autoverificação publica as mensagens no tópico azedge/dmqtt/selftest. Não publique ou assine os tópicos de investigação de diagnóstico que começam com azedge/dmqtt/selftest. Publicar ou assinar esses tópicos pode afetar a investigação ou os autotestes, gerando resultados inválidos. Os resultados inválidos podem ser listados em logs de sondas de diagnóstico, métricas ou painéis de controle. Por exemplo, talvez você veja o problema "Falha na verificação de caminho para o evento de investigação com o tipo de operação 'Publicar'" nos logs de investigação de diagnóstico. Para obter mais informações, consulte Problemas conhecidos.

Mesmo que o diagnóstico do agente MQTT produza mensagens de diagnóstico em seu próprio tópico, ainda é possível obter mensagens do autoteste ao assinar o tópico #. Essa é uma limitação e um comportamento esperado.

Configurar 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 do broker MQTT, edite a seção diagnostics no recurso Broker. Atualmente, você só pode alterar as configurações usando o --broker-config-file sinalizador ao implantar operações de IoT do Azure com o az iot ops create comando. Para obter mais informações, consulte o suporte da CLI do Azure para a configuração avançada do agente MQTT.

Para substituir, prepare um arquivo de configuração do agente 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 de 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 para fins de brevidade.)

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

Próximas Etapas