Partilhar via


Definir configurações de diagnóstico do broker MQTT

Importante

Essa configuração requer a modificação do recurso do Broker e só pode ser configurada no momento da implantação inicial usando a CLI do Azure ou o Portal do Azure. Uma nova implantação será necessária se forem necessárias alterações na configuração do Broker. Para saber mais, consulte Personalizar o corretor padrão.

As configurações de diagnóstico permitem configurar métricas, logs e autoverificação para o broker MQTT.

Métricas

As métricas fornecem informações sobre a integridade e o status atuais e passados do broker MQTT. Essas métricas são emitidas no formato OpenTelemetry (OTLP). Eles podem ser convertidos para o formato Prometheus usando um OpenTelemetry Collector e roteados para os Painéis do Azure Managed Grafana usando o Azure Monitor Managed Service for Prometheus. Para saber mais, consulte Configurar a observabilidade e o monitoramento.

Para obter a lista completa de métricas disponíveis, consulte Métricas do broker MQTT.

Registos

Os logs fornecem informações sobre as operações realizadas pelo broker MQTT. Esses logs estão disponíveis no cluster do Kubernetes como logs de contêiner. Eles podem ser configurados para serem enviados aos Logs do Azure Monitor com o Container Insights.

Para saber mais, consulte Configurar a observabilidade e o monitoramento.

Auto-verificação

O mecanismo de autoverificação do broker MQTT é ativado por padrão. Ele usa uma sonda de diagnóstico e rastreamentos OpenTelemetry (OTel) para monitorar o corretor. 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:

  1. Os caminhos que as mensagens percorrem através do sistema.
  2. O comportamento de tempo do sistema.

A sonda de diagnóstico executa periodicamente operações MQTT (PING, CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE) no broker MQTT e monitora as 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 para o azedge/dmqtt/selftest tópico. Não publique nem assine tópicos de investigação de diagnóstico que comecem com azedge/dmqtt/selftest. A publicação ou subscrição destes tópicos pode afetar as verificações de teste ou autoteste, resultando em resultados inválidos. Resultados inválidos podem ser listados em logs, métricas ou painéis de teste de diagnóstico. Por exemplo, você pode ver o problema Falha na verificação de caminho para o evento de teste com o tipo de operação 'Publicar' nos logs de teste de diagnóstico. Para obter mais informações, consulte Problemas conhecidos.

Alterar as configuraçõ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 diagnostics seção no recurso Broker. Atualmente, a alteração de configurações só é suportada usando o --broker-config-file sinalizador quando você implanta as Operações IoT do Azure usando o az iot ops create comando.

Para substituir, primeiro prepare um arquivo de configuração do Broker seguindo a referência da API do BrokerDiagnostics. Por exemplo:

{
  "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
    }
  }
}

Em seguida, implante as Operações IoT do Azure usando o az iot ops create comando com o --broker-config-file sinalizador, como o seguinte comando (outros parâmetros omitidos para brevidade):

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

Para saber mais, consulte Suporte da CLI do Azure para configuração avançada do agente MQTT e exemplos de Broker.

Próximos passos