Dela via


Konfigurera diagnostikinställningar för MQTT-koordinator

Viktigt!

Den här inställningen kräver att du ändrar Broker-resursen. Den konfigureras endast vid den första distributionen med hjälp av Azure CLI eller Azure Portal. En ny distribution krävs om konfigurationsändringar i Broker behövs. Mer information finns i Anpassa standard broker.

Med hjälp av diagnostikinställningar kan du konfigurera mått, loggar och självkontroll för MQTT-asynkronisering.

Mått

Mått ger information om aktuell och tidigare hälsa och status för MQTT-koordinatorn. Dessa mått genereras i OTLP-format (OpenTelemetry Protocol). Du kan konvertera dem till Prometheus-format med hjälp av en OpenTelemetry Collector och dirigera dem till Azure Managed Grafana-instrumentpaneler med hjälp av Azure Monitor-hanterad tjänst för Prometheus. Mer information finns i Konfigurera observerbarhet och övervakning.

En fullständig lista över tillgängliga mått finns i MQTT-koordinatormått.

Loggar

Loggarna innehåller information om de åtgärder som utförs av MQTT-koordinatorn. Dessa loggar är tillgängliga i Kubernetes-klustret som containerloggar. Du kan konfigurera att de skickas till Azure Monitor-loggar med Container Insights.

Mer information finns i Konfigurera observerbarhet och övervakning.

Självkontroll

MQTT-mäklarens självkontrollmekanism är aktiverad som standard. Den använder en diagnostikavsökning och OpenTelemetry-spårningar (OTel) för att övervaka koordinatorn. Avsökningen skickar testmeddelanden för att kontrollera systemets beteende och tidsinställning.

Valideringsprocessen kontrollerar om systemet fungerar korrekt genom att jämföra testresultaten med förväntade resultat. Dessa resultat omfattar:

  • De sökvägar som meddelanden tar genom systemet.
  • Systemets tidsinställning.

Diagnostikavsökningen kör regelbundet MQTT-åtgärder (PING, CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE) på MQTT-koordinatorn och övervakar motsvarande ACL:er och spårningar för att söka efter svarstid, meddelandeförlust och korrekthet i replikeringsprotokollet.

Viktigt!

Diagnostikavsökningen med självkontroll publicerar meddelanden till ämnet azedge/dmqtt/selftest . Publicera eller prenumerera inte på diagnostikavsökningsämnen som börjar med azedge/dmqtt/selftest. Publicering eller prenumeration på dessa ämnen kan påverka avsöknings- eller självtestkontrollerna och resultera i ogiltiga resultat. Ogiltiga resultat kan visas i diagnostikavsökningsloggar, mått eller instrumentpaneler. Du kan till exempel se problemet "Sökvägsverifieringen misslyckades för avsökningshändelsen med åtgärdstypen 'Publicera'" i loggarna för diagnostikavsökning. Du hittar mer information i Kända problem.

Ändra diagnostikinställningar

I de flesta scenarier räcker standarddiagnostikinställningarna. Om du vill åsidosätta standarddiagnostikinställningarna för MQTT-koordinatorn diagnostics redigerar du avsnittet i Broker-resursen. För närvarande stöds endast ändringsinställningar med hjälp --broker-config-file av flaggan när du distribuerar Azure IoT Operations med hjälp az iot ops create av kommandot .

Du åsidosätter genom att först förbereda en Broker-konfigurationsfil genom att följa API-referensen BrokerDiagnostics . Till exempel:

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

Distribuera sedan IoT-åtgärder med hjälp az iot ops create av kommandot med --broker-config-file flaggan, till exempel följande kommando. (Andra parametrar utelämnas för korthet.)

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

Mer information finns i Azure CLI-stöd för avancerad MQTT-koordinatorkonfiguration och Broker-exempel.