Implementatieplanning - Diagnostische gegevens

Het MQTT Broker Diagnostics-systeem is een set ingebouwde hulpprogramma's waarmee de brokerstatus wordt bewaakt via metrische gegevens, logboeken en zelfcontroletests. Bepaal vóór de implementatie welke diagnostische configuratie u nodig hebt voor de MQTT-broker.

Belangrijk

De diagnostische gegevens worden ingesteld op de Broker-resource. Configureer diagnostische gegevens tijdens de eerste implementatie met behulp van de Azure CLI of Azure Portal. Als u brokerinstellingen wilt wijzigen, implementeert u een nieuwe brokerresource. Zie Standaardbroker aanpassen voor meer informatie.

Zelfcontrole

Het zelfcontrolemechanisme van de MQTT-broker is standaard ingeschakeld. Er wordt gebruikgemaakt van een diagnostische probe en OpenTelemetry (OTel) traceeracties om de broker te monitoren. De sonde verzendt testberichten om het systeemgedrag en de timing te testen.

Het validatieproces controleert of het systeem correct werkt door testresultaten te vergelijken met verwachte resultaten. Deze resultaten zijn onder andere:

  • De paden die berichten door het systeem volgen.
  • Systeemtijdsinstelling gedrag.

De diagnosetest voert regelmatig MQTT-bewerkingen (PING, CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE) uit op de MQTT-broker en bewaakt de bijbehorende ACL's en traceringen om te controleren op latentie, berichtverlies en juistheid van het replicatieprotocol.

Belangrijk

De zelfcontrole-diagnostische probe publiceert berichten naar het azedge/dmqtt/selftest topic. Publiceer of abonneer u niet op diagnostische testonderwerpen die beginnen met azedge/dmqtt/selftest. Publiceren of abonneren op deze onderwerpen kan van invloed zijn op de test- of zelftestcontroles en resulteren in ongeldige resultaten. Ongeldige resultaten kunnen worden weergegeven in diagnostische testlogboeken, metrische gegevens of dashboards. U ziet bijvoorbeeld het probleem 'Padverificatie is mislukt voor testgebeurtenis met bewerkingstype Publiceren' in de diagnostische testlogboeken. Zie Bekende problemen voor meer informatie.

Hoewel de diagnostische gegevens van de MQTT-broker diagnostische berichten over een eigen onderwerp produceren, kunt u nog steeds berichten ophalen uit de zelftest wanneer u zich abonneert op het # onderwerp. Dit is een beperking en verwacht gedrag.

Diagnostische instellingen configureren

In de meeste scenario's zijn de standaardinstellingen voor diagnostische gegevens voldoende. Als u de standaardinstellingen voor diagnostische gegevens voor de MQTT-broker wilt overschrijven, bewerkt u de diagnostics sectie in de Broker-resource. Op dit moment kunt u instellingen alleen wijzigen met behulp van de --broker-config-file vlag wanneer u Azure IoT-bewerkingen implementeert met de az iot ops create opdracht. Zie Azure CLI ondersteuning voor geavanceerde MQTT-brokerconfiguratie voor meer informatie.

Als u dit wilt overschrijven, bereidt u een brokerconfiguratiebestand voor door de BrokerDiagnostics-API-verwijzing te volgen. Voorbeeld:

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

Implementeer vervolgens IoT-bewerkingen met de az iot ops create opdracht en de --broker-config-file vlag, zoals wordt weergegeven in het volgende voorbeeld. (Andere parameters worden weggelaten voor beknoptheid.)

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

Volgende stappen