Freigeben über


Konfigurieren von Diagnoseeinstellungen für den MQTT-Broker

Wichtig

Diese Einstellung erfordert das Ändern der Brokerressource und kann nur bei der erstmaligen Bereitstellung mithilfe der Azure CLI oder des Azure-Portals konfiguriert werden. Eine neue Bereitstellung ist erforderlich, wenn Änderungen an der Broker-Konfiguration erforderlich sind. Weitere Informationen finden Sie unter Anpassen des Standardbrokers.

Mithilfe von Diagnoseeinstellungen können Sie Metriken, Protokolle und Selbstüberprüfungen für den MQTT-Broker konfigurieren.

Metriken

Metriken liefern aktuelle und frühere Informationen über die Integrität und den Status des MQTT-Brokers. Diese Metriken werden im OpenTelemetry-Format (OTLP) ausgegeben. Sie können mithilfe eines OpenTelemetry Collector in das Prometheus-Format konvertiert und mit Azure Monitor Managed Service for Prometheus an Azure Managed Grafana Dashboards weitergeleitet werden. Weitere Informationen finden Sie unter Konfigurieren von Einblicken und Überwachung.

Die vollständige Liste der verfügbaren Metriken finden Sie unter MQTT-Brokermetriken.

Protokolle

Protokolle enthalten Informationen zu den Vorgängen, die vom MQTT-Broker ausgeführt werden. Diese Protokolle sind im Kubernetes-Cluster als Containerprotokolle verfügbar. Sie können so konfiguriert werden, dass sie mit Container-Insights an Azure Monitor-Protokolle gesendet werden.

Weitere Informationen finden Sie unter Konfigurieren von Einblicken und Überwachung.

Selbstüberprüfung

Der Selbstüberprüfungsmechanismus des MQTT-Brokers ist standardmäßig aktiviert. Dabei wird unter Verwendung eines Diagnosetests und OpenTelemetry (OTel)-Ablaufverfolgungen der Broker überwacht. Der Test sendet Testnachrichten, um das Verhalten und die Zeitsteuerung des Systems zu überprüfen.

Mit dem Überprüfungsprozess wird geprüft, ob das System ordnungsgemäß funktioniert, indem die Testergebnisse mit erwarteten Ergebnissen verglichen werden. Zu diesen Ergebnissen gehören:

  1. Die Pfade, auf denen Meldungen das System durchlaufen
  2. Das Zeitsteuerungsverhalten des Systems.

Der Diagnosetest führt regelmäßig MQTT-Vorgänge (PING, CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE) auf dem MQTT-Broker aus und überwacht die entsprechenden ACK-Meldungen und Ablaufverfolgungen, um das System auf Latenz, Nachrichtenverlust und Richtigkeit des Replikationsprotokolls zu überprüfen.

Wichtig

Der Selbstüberprüfungsdiagnosetest veröffentlicht Nachrichten zum Thema azedge/dmqtt/selftest. Veröffentlichen oder abonnieren Sie keine Diagnosetestthemen, die mit azedge/dmqtt/selftest beginnen. Das Veröffentlichen oder Abonnieren dieser Themen kann sich auf die Tests oder Selbsttestprüfungen auswirken, was zu ungültigen Ergebnissen führt. Ungültige Ergebnisse werden möglicherweise in Diagnosetestprotokollen, Metriken oder Dashboards aufgeführt. Beispielsweise wird möglicherweise das Problem Pfadüberprüfung fehlgeschlagen für das Testereignis mit dem Vorgangstyp ‚Publish‘ in den Diagnosetestprotokollen angezeigt. Weitere Informationen finden Sie unter Bekannte Probleme.

Ändern von Diagnoseeinstellungen

In den meisten Szenarien sind die Standarddiagnoseeinstellungen ausreichend. Um die Standarddiagnoseeinstellungen für den MQTT-Broker außer Kraft zu setzen, aktualisieren Sie den Abschnitt diagnostics in der Broker-Ressource. Wenn Sie Azure IoT Einsatz mit dem az iot ops create Befehl bereitstellen, wird das Ändern von Einstellungen derzeit nur unter Verwendung des Flags --broker-config-file unterstützt.

Um Einstellungen außer Kraft zu setzen, bereiten Sie zuerst eine Brokerkonfigurationsdatei nach der API-Referenz BrokerDiagnostics vor. Zum Beispiel:

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

Stellen Sie dann Azure IoT Einsatz mithilfe des Befehls az iot ops create mit dem Flag --broker-config-file bereit, z. B. mit folgendem Befehl (andere Parameter wurden aus Platzgründen weggelassen):

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

Weitere Informationen finden Sie unter Azure CLI-Unterstützung für erweiterte MQTT-Brokerkonfigurationen und Brokerbeispiele.

Nächste Schritte