Konfigurowanie ustawień diagnostyki brokera MQTT
Ważne
To ustawienie wymaga zmodyfikowania zasobu brokera i można go skonfigurować tylko w początkowym czasie wdrażania przy użyciu interfejsu wiersza polecenia platformy Azure lub witryny Azure Portal. Nowe wdrożenie jest wymagane, jeśli wymagane są zmiany konfiguracji brokera. Aby dowiedzieć się więcej, zobacz Dostosowywanie domyślnego brokera.
Ustawienia diagnostyczne umożliwiają konfigurowanie metryk, dzienników i samodzielnego sprawdzania brokera MQTT.
Metryki
Metryki zawierają informacje o bieżącej i wcześniejszej kondycji i stanie brokera MQTT. Te metryki są emitowane w formacie OpenTelemetry (OTLP). Można je konwertować na format Prometheus przy użyciu modułu zbierającego OpenTelemetry i kierowanego do pulpitów nawigacyjnych zarządzanych Grafana platformy Azure przy użyciu usługi zarządzanej Azure Monitor dla rozwiązania Prometheus. Aby dowiedzieć się więcej, zobacz Konfigurowanie możliwości obserwowania i monitorowania.
Aby uzyskać pełną listę dostępnych metryk, zobacz Metryki brokera MQTT.
Dzienniki
Dzienniki zawierają informacje o operacjach wykonywanych przez brokera MQTT. Te dzienniki są dostępne w klastrze Kubernetes jako dzienniki kontenera. Można je skonfigurować do wysyłania do dzienników usługi Azure Monitor za pomocą usługi Container Insights.
Aby dowiedzieć się więcej, zobacz Konfigurowanie możliwości obserwowania i monitorowania.
Samoewidencjonuj
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 chronometrażu systemu.
Sonda diagnostyki okresowo wykonuje operacje MQTT (PING, CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE) na brokerze MQTT i monitoruje odpowiednie zestawy ACL i ślady, aby sprawdzić opóźnienia, utratę komunikatów i poprawność protokołu replikacji.
Ważne
Sonda diagnostyki samodzielnego sprawdzania publikuje komunikaty w temacie 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, co powoduje nieprawidłowe wyniki. Nieprawidłowe wyniki mogą być wyświetlane w dziennikach sond diagnostycznych, metrykach lub pulpitach nawigacyjnych. Na przykład może zostać wyświetlony problem Weryfikacja ścieżki nie powiodła się dla zdarzenia sondy z typem operacji "Publikuj" w dziennikach diagnostyki sondy. Aby uzyskać więcej informacji, zobacz Znane problemy.
Zmienianie 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 zmiana ustawień jest obsługiwana tylko przy użyciu flagi --broker-config-file
podczas wdrażania operacji usługi Azure IoT przy użyciu az iot ops create
polecenia .
Aby zastąpić, najpierw przygotuj plik konfiguracji brokera zgodnie z dokumentacją interfejsu API BrokerDiagnostics . Na przykład:
{
"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
}
}
}
Następnie wdróż operacje usługi Azure IoT przy użyciu az iot ops create
polecenia z flagą --broker-config-file
, podobnie jak następujące polecenie (inne parametry pominięte dla zwięzłości):
az iot ops create ... --broker-config-file <FILE>.json
Aby dowiedzieć się więcej, zobacz Obsługa interfejsu wiersza polecenia platformy Azure na potrzeby zaawansowanej konfiguracji brokera MQTT i przykładów brokera.