Planowanie wdrożenia — diagnostyka

System diagnostyki brokera MQTT to zestaw wbudowanych narzędzi monitorujących stan brokera za pomocą metryk, logów i sond autokontroli. Zdecyduj przed wdrożeniem, jakiej konfiguracji diagnostycznej potrzebujesz dla brokera MQTT.

Ważna

Diagnostyka jest ustawiana na zasobie brokera. Konfigurowanie diagnostyki podczas początkowego wdrażania przy użyciu interfejsu wiersza polecenia platformy Azure lub witryny Azure Portal. Jeśli chcesz zmienić ustawienia brokera, wdróż nowy zasób brokera. Aby dowiedzieć się więcej, zobacz Dostosowywanie domyślnego brokera.

Samosprawdzanie

Mechanizm samodzielnego sprawdzania brokera MQTT jest domyślnie włączony. Używa sondy diagnostycznej i śladów OpenTelemetry (OTel) do monitorowania brokera. Sonda wysyła komunikaty testowe w celu sprawdzenia zachowania i chronometrażu systemu.

Proces weryfikacji sprawdza, czy system działa prawidłowo, porównując wyniki testu z oczekiwanymi wynikami. Te wyniki obejmują:

  • Komunikaty ścieżek przechodzą przez system.
  • Zachowanie czasowania systemu.

Sonda diagnostyczna regularnie uruchamia operacje MQTT (PING, CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE) na brokerze MQTT i monitoruje odpowiednie potwierdzenia (ACK) oraz ślady, aby sprawdzić opóźnienia, utratę wiadomości i poprawność działania protokołu replikacji.

Ważna

Sonda diagnostyczna samokontroli publikuje komunikaty na temat azedge/dmqtt/selftest. Nie publikuj ani nie subskrybuj tematów sondy diagnostycznej rozpoczynających się od azedge/dmqtt/selftest. Publikowanie lub subskrybowanie tych tematów może mieć wpływ na sondę lub testy samodzielne i spowodować nieprawidłowe wyniki. Nieprawidłowe wyniki można wyświetlać w dziennikach sond diagnostycznych, metrykach lub pulpitach nawigacyjnych. Na przykład w dziennikach sond diagnostycznych może pojawić się problem "Weryfikacja ścieżki nie powiodła się dla zdarzenia sondy o typie operacji 'Publikowanie'". Aby uzyskać więcej informacji, zobacz Znane problemy.

Mimo że funkcja diagnostyczna brokera MQTT generuje komunikaty diagnostyczne we własnym temacie, nadal można otrzymywać komunikaty z autotestu podczas subskrybowania tematu . Jest to ograniczenie i oczekiwane zachowanie.

Konfigurowanie ustawień diagnostycznych

W większości scenariuszy domyślne ustawienia diagnostyczne są wystarczające. Aby zastąpić domyślne ustawienia diagnostyczne brokera MQTT, zmodyfikuj sekcję diagnostics w zasobie brokera. Obecnie można zmienić ustawienia tylko za pomocą flagi --broker-config-file podczas wdrażania operacji Azure IoT za pomocą polecenia az iot ops create. Aby uzyskać więcej informacji, zobacz obsługę zaawansowanej konfiguracji brokera MQTT w Azure CLI.

Aby zastąpić ustawienia, przygotuj plik konfiguracji brokera zgodnie z odniesieniem do API BrokerDiagnostics. Przykład:

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

Następnie wdróż operacje IoT za pomocą az iot ops create polecenia i flagi --broker-config-file , jak pokazano w poniższym przykładzie. (Inne parametry są pomijane dla zwięzłości).

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

Następne kroki