Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dostępne opcje diagnozowania problemów z zestawami SDK obsługi Durable Task zależą od używanych usług obliczeniowych Azure, takich jak Azure Container Apps, klaster Azure Kubernetes Service lub aplikacja Azure App Service. Zalecamy włączenie zarówno usługi Application Insights oraz pulpitu nawigacyjnego monitorowania harmonogramu zadań Durable, aby uzyskać pełną widoczność stanu orkiestracji i awarii.
Application Insights
Usługa Application Insights jest zalecanym sposobem monitorowania aplikacji uruchomionych w zestawach SDK rozszerzenia Durable Task. Możesz znaleźć i wykonać zapytania dotyczące tych zdarzeń śledzenia przy użyciu narzędzia Application Insights Analytics w portalu Azure.
Każde zdarzenie cyklu życia wystąpienia orkiestracji zapisuje zdarzenie śledzenia w kolekcji tras w Application Insights. Użyj wymiarów niestandardowych dla tych zdarzeń (takich jak prop__instanceId, prop__name i prop__runtimeStatus), aby filtrować i wykonywać zapytania dotyczące określonych orkiestracji.
| usługa obliczeniowa | Instrukcje dotyczące rejestrowania diagnostycznego |
|---|---|
| Azure Container Apps | Monitorowanie dzienników w Azure Container Apps za pomocą Log Analytics |
| Azure App Service | Włącz rejestrowanie diagnostyczne dla aplikacji w Azure App Service |
| Azure Kubernetes Service | Monitorowanie usługi Azure Kubernetes Service |
Przykłady zapytań
Po włączeniu usługi Application Insights użyj tych zapytań KQL w Logs, aby zbadać zachowanie orkiestracji.
Znajdź nieudane aranżacje:
traces
| where customDimensions.prop__runtimeStatus == "Failed"
| project timestamp, customDimensions.prop__instanceId, customDimensions.prop__name, message
| order by timestamp desc
| take 50
Czas trwania orkiestracji według nazwy (ostatnie 24 godziny):
traces
| where timestamp > ago(24h)
| where customDimensions.prop__runtimeStatus == "Completed"
| extend duration = todatetime(customDimensions.prop__completedTime) - todatetime(customDimensions.prop__createdTime)
| summarize avg(duration), max(duration), count() by tostring(customDimensions.prop__name)
Śledzenie rozproszone za pomocą technologii OpenTelemetry
SDK Durable Task obsługują rozproszone śledzenie OpenTelemetry, co zapewnia kompleksową widoczność w całym zakresie orkiestracji, akcji i podorkiestracji jako skorelowane odcinki. Możesz wyeksportować ślady do dowolnego zaplecza zgodnego z technologią OpenTelemetry, w tym usługi Application Insights, Jaeger lub Zipkin.
Aby uzyskać instrukcje dotyczące konfiguracji z przykładami kodu we wszystkich obsługiwanych językach, zobacz OpenTelemetry and distributed tracing with Durable Task Scheduler (Śledzenie rozproszone za pomocą narzędzia Durable Task Scheduler).
Trwały pulpit nawigacyjny monitorowania harmonogramu zadań
Panel sterowania Durable Task Scheduler umożliwia monitorowanie stanu orkiestracji, inspekcję danych wejściowych/wyjściowych, wyświetlanie osi czasowej wykonywania i zarządzanie orkiestracjami (uruchamianie, wstrzymywanie, wznawianie, kończenie). Jest dostępna zarówno w lokalnym emulatorze, jak i w harmonogramach hostowanych w Azure.
Uzyskiwanie dostępu do pulpitu nawigacyjnego
-
Emulator lokalny: brak wymaganego uwierzytelniania. Pulpit nawigacyjny jest dostępny pod adresem
http://localhost:8082. -
Harmonogram hostowany na Azure: Przypisz rolę Współautora danych zadań do swojej tożsamości, a następnie uzyskaj dostęp do pulpitu nawigacyjnego, korzystając z adresu URL punktu końcowego centrum zadań w portalu Azure lub pod adresem
https://dashboard.durabletask.io/.
Aby uzyskać pełne instrukcje dotyczące konfiguracji i użycia, zobacz Debugowanie aranżacji i zarządzanie nimi przy użyciu pulpitu nawigacyjnego narzędzia Durable Task Scheduler.
Typowe problemy
| Objaw | Możliwa przyczyna | Resolution |
|---|---|---|
| Orkiestracja utknęła w stanie "Działanie" | Działanie zgłosiło nieobsługiwany wyjątek i nie skonfigurowano żadnych zasad ponawiania prób | Sprawdź szczegółowe informacje o wyjątkach w usłudze Application Insights; dodaj zasady ponawiania prób lub zastosuj try/catch w orkiestratorze. |
| Działanie ciągle ponawia próbę bez końca | Polityka ponawiania nie ma maxNumberOfAttempts ograniczeń |
Ustawianie maksymalnej liczby ponownych prób w konfiguracji zasad ponawiania prób |
| Orkiestracja nie rozpoczyna się | Proces roboczy nie sonduje właściwego centrum zadań | Sprawdź, czy nazwa centrum zadań parametry połączenia jest zgodna z zasobem harmonogramu |
| Brak śladów w usłudze Application Insights | Parametry połączenia nie zostały skonfigurowane lub zestaw SDK nie emituje danych telemetrycznych | Sprawdź, czy ustawiono APPLICATIONINSIGHTS_CONNECTION_STRING; upewnij się, że źródło OpenTelemetry Microsoft.DurableTask jest zarejestrowane |
| Panel nie pokazuje orkiestracji | Brakuje przypisania roli lub wybranego nieprawidłowego centrum zadań | Upewnij się, że masz rolę Współautor danych zadania trwałego; sprawdź nazwę centrum zadań w adresie URL pulpitu nawigacyjnego. |
| Aranżacja została ukończona, ale wynik jest pusty | Zadanie zwróciło null lub nie udało się zserializować |
Sprawdzanie danych wyjściowych działań w widoku historii pulpitu nawigacyjnego; sprawdzanie konfiguracji serializatora |