Share via


Diagnostische instellingen voor MQTT-broker configureren

Stel diagnostische instellingen in om metrische gegevens, logboeken en zelfcontrole voor de MQTT-broker te configureren.

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.

Metrische gegevens

Indicatoren tonen de huidige en vroegere conditie en status van de MQTT-broker. Deze metrische gegevens maken gebruik van de OTLP-indeling (OpenTelemetry Protocol). Converteer ze naar de Prometheus-indeling met een OpenTelemetry Collector en routeer ze naar Azure Managed Grafana-dashboards met behulp van de beheerde Azure Monitor-service voor Prometheus. Zie Waarneembaarheid en bewaking configureren voor meer informatie.

Zie de metrische gegevens van MQTT Broker voor een volledige lijst met beschikbare metrische gegevens.

Logboeken

Logboeken bevatten informatie over acties die de MQTT-broker uitvoert. Deze logboeken bevinden zich in het Kubernetes-cluster als containerlogboeken. Stel ze in om te verzenden naar Azure Monitor-logboeken met Container Insights.

Zie Waarneembaarheid en bewaking configureren 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 wijzigen

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.

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

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

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

Meer informatie vindt u in azure CLI-ondersteuning voor geavanceerde MQTT-brokerconfiguratie en Broker-voorbeelden.