Włączanie i wyświetlanie rozszerzonej telemetrii w usłudze Application Insights dla standardowych przepływów pracy w usłudze Azure Logic Apps
Dotyczy: Azure Logic Apps (Standardowa)
W usłudze Application Insights można włączyć rozszerzoną kolekcję danych telemetrycznych dla zasobu standardowej aplikacji logiki, a następnie wyświetlić zebrane dane po zakończeniu przebiegu przepływu pracy. Ta funkcja zapewnia uproszczone środowisko umożliwiające odnajdywanie szczegółowych informacji o przepływach pracy i większą kontrolę nad filtrowaniem zdarzeń w źródle danych, co pomaga zmniejszyć koszty magazynowania. Te ulepszenia koncentrują się na metrykach wydajności w czasie rzeczywistym, które zapewniają wgląd w kondycję i zachowanie systemu. Może to pomóc w proaktywnym wykrywaniu i rozwiązywaniu problemów wcześniej.
Aplikacja logiki połączona z usługą Application Insights umożliwia wyświetlanie danych dziennika i innych metryk niemal w czasie rzeczywistym za pośrednictwem witryny Azure Portal przy użyciu strumienia metryk na żywo. Masz również wizualizacje ułatwiające kreślenie żądań przychodzących, żądań wychodzących oraz ogólną kondycję i dostęp do tabeli diagnostyki na poziomie śledzenia.
Na poniższej liście opisano kilka przykładowych ulepszeń telemetrii:
- Zdarzenia wyzwalacza i akcji obejmują teraz wyzwalacz lub typ akcji oraz nazwę interfejsu API, która umożliwia wykonywanie zapytań dotyczących określonego użycia łącznika.
- Łatwiejsze śledzenie zdarzeń ponawiania prób.
- Przechwytywanie wyjątków dla błędów wyzwalacza i akcji.
- Większa kontrola nad filtrowaniem zdarzeń niezwiązanych z przepływem pracy.
- Zaawansowane filtrowanie, które zapewnia większą kontrolę nad sposobem emitowania zdarzeń, w tym wyzwalaczy i akcji.
W tym przewodniku pokazano, jak włączyć rozszerzoną kolekcję danych telemetrycznych w usłudze Application Insights dla standardowej aplikacji logiki.
Wymagania wstępne
Konto i subskrypcja platformy Azure. Jeśli nie masz subskrypcji, zarejestruj się w celu założenia bezpłatnego konta platformy Azure.
Wystąpienie usługi Application Insights. Ten zasób jest tworzony z wyprzedzeniem podczas tworzenia standardowej aplikacji logiki lub po wdrożeniu aplikacji logiki.
Standardowa aplikacja logiki i przepływ pracy w witrynie Azure Portal lub w programie Visual Studio Code.
Zasób lub projekt aplikacji logiki musi używać środowiska uruchomieniowego usługi Azure Functions w wersji 4, które jest domyślnie włączone.
Aplikacja logiki musi mieć włączoną usługę Application Insights na potrzeby rejestrowania i śledzenia diagnostyki. Można to zrobić podczas tworzenia aplikacji logiki lub po wdrożeniu.
Włączanie rozszerzonej telemetrii w usłudze Application Insights
W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.
W menu aplikacji logiki w obszarze Narzędzia programistyczne wybierz pozycję Narzędzia zaawansowane. Na stronie Narzędzia zaawansowane wybierz pozycję Przejdź, co spowoduje otwarcie narzędzi Kudu.
Na stronie Kudu z menu Konsoli debugowania wybierz pozycję CMD. W tabeli katalogów folderów przejdź do następującego pliku i wybierz pozycję Edytuj: site/wwwroot/host.json
W pliku host.json dodaj następujący kod JSON:
{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows", "version": "[1, 2.00]" }, "extensions": { "workflow": { "Settings": { "Runtime.ApplicationInsightTelemetryVersion": "v2" } } } }
Ta konfiguracja umożliwia domyślny poziom szczegółowości. Aby uzyskać inne opcje, zobacz Stosowanie filtrowania w źródle.
Otwieranie usługi Application Insights
Po zakończeniu przebiegu przepływu pracy i upływie kilku minut otwórz zasób usługi Application Insights.
W witrynie Azure Portal w menu aplikacji logiki w obszarze Ustawienia wybierz pozycję Application Insights.
W menu zasobów usługi Application Insights w obszarze Monitorowanie wybierz pozycję Dzienniki.
Wyświetlanie rozszerzonych dzienników w usłudze Application Insights
W poniższych sekcjach opisano tabele w usłudze Application Insights, w których można znaleźć i wyświetlić rozszerzone dane telemetryczne wygenerowane na podstawie przebiegu przepływu pracy.
Nazwa tabeli | opis |
---|---|
Żądania | Szczegółowe informacje o następujących zdarzeniach w przebiegach przepływu pracy: - Wyzwalacz i zdarzenia akcji — Ponawianie prób — Użycie łącznika |
Ślady | Szczegółowe informacje o następujących zdarzeniach w przebiegach przepływu pracy: — Zdarzenia uruchamiania i kończenia przepływu pracy — Wysyłanie wsadowe i odbieranie zdarzeń wsadowych |
Wyjątki | Szczegółowe informacje o zdarzeniach wyjątków w przebiegach przepływu pracy |
Zależności | Szczegółowe informacje o zdarzeniach zależności w przebiegach przepływu pracy |
Tabela Żądań
Tabela Requests zawiera pola, które śledzą dane dotyczące następujących zdarzeń w przypadku przebiegów przepływu pracy w warstwie Standardowa:
- Wyzwalanie i zdarzenia akcji
- Ponowne próby
- Użycie łącznika
Aby pokazać, jak dane są wprowadzane do tych pól, załóżmy, że masz następujący przykładowy standardowy przepływ pracy, który rozpoczyna się od wyzwalacza Żądanie, a następnie akcji Redaguj i akcji Odpowiedź.
Ustawienia wyzwalacza mają parametr o nazwie Custom Tracking Id. Wartość parametru jest ustawiona na wyrażenie, które ściąga wartość właściwości orderId z treści komunikatu przychodzącego:
Następnie ustawienia akcji Redagowanie przepływu pracy mają dodaną śledzoną właściwość o nazwie solutionName. Wartość właściwości jest ustawiona na nazwę zasobu aplikacji logiki.
Po akcji Redaguj następuje akcja Odpowiedź , która zwraca odpowiedź na obiekt wywołujący.
Poniższa lista zawiera przykładowe zapytania, które można utworzyć i uruchomić względem tabeli Requests:
Zadanie | Kroki |
---|---|
Wyświetlanie wszystkich zdarzeń wyzwalacza i akcji | Zapytanie dotyczące wszystkich zdarzeń wyzwalacza i akcji |
Wyświetlanie tylko zdarzeń wyzwalacza lub zdarzeń akcji | Zapytanie dotyczące tylko zdarzeń wyzwalacza lub akcji |
Wyświetlanie zdarzeń wyzwalacza lub akcji o określonym typie operacji | Wyzwalacz zapytania lub zdarzenia akcji według typu operacji |
Wyświetlanie zdarzeń wyzwalacza i akcji z określonym identyfikatorem przebiegu przepływu pracy | Wyzwalacz zapytania i zdarzenia akcji według identyfikatora przebiegu przepływu pracy |
Wyświetlanie zdarzeń wyzwalacza i akcji z określonym identyfikatorem śledzenia klienta | Wyzwalacz zapytania i zdarzenia akcji według identyfikatora śledzenia klienta |
Wyświetlanie zdarzeń wyzwalacza i akcji o określonej nazwie rozwiązania | Wyzwalacz zapytania i zdarzenia akcji według nazwy rozwiązania |
Wyświetlanie zdarzeń wyzwalacza i akcji przy użyciu ponownych prób | Wyzwalacz zapytania i zdarzenia akcji dla ponownych prób |
Wyświetlanie zdarzeń wyzwalacza i akcji przy użyciu łącznika | Wykonywanie zapytań dotyczących zdarzeń wyzwalacza i akcji dotyczących użycia łącznika |
Zapytanie dotyczące wszystkich zdarzeń wyzwalacza i akcji
Po uruchomieniu przepływu pracy i kilku minutach można utworzyć zapytanie względem tabeli Requests, aby wyświetlić wszystkie zdarzenia operacji.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Aby wyświetlić wszystkie zdarzenia wyzwalacza i akcji, utwórz i uruchom następujące zapytanie:
requests | sort by timestamp desc | take 10
Poniższy przykład przedstawia kartę Wyniki z zanotowaną kolumną i danymi w każdym wierszu:
Kolumna opis Przykład name Nazwa operacji przepływu pracy W tym przykładzie wiersze pokazują ręczne (wyzwalacz żądania), redagowanie i odpowiedź. sukces Stan wykonywania operacji W tym przykładzie wszystkie wiersze zawierają wartość True dla pomyślnego wykonania. Jeśli wystąpi błąd, wartość to Fałsz. resultCode Kod stanu wykonywania operacji W tym przykładzie wszystkie wiersze zawierają komunikat Powodzenie (200). czas trwania Czas trwania wykonywania operacji Różni się w przypadku każdej operacji. Aby wyświetlić szczegóły określonej operacji, rozwiń wiersz wyzwalacza lub akcji:
W poniższym przykładzie przedstawiono rozwinięte szczegóły wyzwalacza Żądania :
Właściwości opis Przykład Kategoria Kategoria operacji, która jest zawsze oparta na operacji Workflow.Operations.Triggers lub Workflow.Operations.Actions Workflow.Operations.Triggers. clientTrackingId Niestandardowy identyfikator śledzenia, jeśli zostanie określony 123456 runId Identyfikator wystąpienia przebiegu przepływu pracy 08585358375819913417237801890CU00 triggerName Nazwa wyzwalacza Ręcznie workflowId Identyfikator przepływu pracy, w ramach którego uruchomiono wyzwalacz c7711d107e647179c2e15fe2c2720ce workflowName Nazwa przepływu pracy, w ramach którego uruchomiono wyzwalacz Request-Response-Workflow operation_Name Nazwa operacji, która uruchomiła wyzwalacz. W takim przypadku ta nazwa jest taka sama jak nazwa przepływu pracy. Request-Response-Workflow operation_Id Identyfikator składnika lub przepływu pracy, który właśnie został uruchomiony. Ten identyfikator jest taki sam jak wartość runId dla wystąpienia przebiegu przepływu pracy. Jeśli istnieją wyjątki lub zależności, ta wartość wykracza poza tabele, aby można było połączyć ten rekord wyzwalacza z tymi wyjątkami lub zależnościami. 08585358375819913417237801890CU00 operation_ParentId Identyfikator możliwy do połączenia dla przepływu pracy, który nazwał wyzwalacz f95138daff8ab129 W poniższym przykładzie przedstawiono rozwinięte szczegóły akcji Redaguj:
Właściwości opis Przykład Kategoria Kategoria operacji, która jest zawsze oparta na operacji Workflow.Operations.Triggers lub Workflow.Operations.Actions Workflow.Operations.Actions clientTrackingId Niestandardowy identyfikator śledzenia, jeśli zostanie określony 123456 actionName Nazwa akcji Redaguj runId Identyfikator wystąpienia przebiegu przepływu pracy 08585358375819913417237801890CU00 workflowId Identyfikator przepływu pracy, w ramach którego uruchomiono akcję c7711d107e647179c2e15fe2c2720ce workflowName Nazwa przepływu pracy, w ramach którego uruchomiono akcję Request-Response-Workflow solutionName Nazwa śledzonej właściwości, jeśli została określona LA-AppInsights operation_Name Nazwa operacji, która uruchomiła akcję. W takim przypadku ta nazwa jest taka sama jak nazwa przepływu pracy. Request-Response-Workflow operation_Id Identyfikator składnika lub przepływu pracy, który właśnie został uruchomiony. Ten identyfikator jest taki sam jak wartość runId dla wystąpienia przebiegu przepływu pracy. Jeśli istnieją wyjątki lub zależności, ta wartość wykracza poza tabele, aby można było połączyć ten rekord akcji z tymi wyjątkami lub zależnościami. 08585358375819913417237801890CU00 operation_ParentId Identyfikator możliwy do połączenia dla przepływu pracy, który nazwał akcję f95138daff8ab129
Zapytanie dotyczące tylko zdarzeń wyzwalacza lub akcji
Możesz utworzyć zapytanie względem tabeli Requests, aby wyświetlić podzbiór zdarzeń operacji na podstawie kategorii operacji i nazwy przepływu pracy.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Aby wyświetlić wszystkie zdarzenia wyzwalacza w określonym przepływie pracy, utwórz i uruchom zapytanie z wartością właściwości customDimensions.Category ustawioną na wartość Workflow.Operations.Triggers i operation_Name ustawioną na nazwę przepływu pracy, na przykład:
requests | where customDimensions.Category == "Workflow.Operations.Triggers" and operation_Name == "Request-Response-Workflow"
Aby wyświetlić wszystkie zdarzenia akcji w określonym przepływie pracy, utwórz zapytanie z wartością właściwości customDimensions.Category ustawioną na wartość Workflow.Operations.Actions i operation_Name ustawioną na nazwę przepływu pracy, na przykład:
requests | where customDimensions.Category == "Workflow.Operations.Actions" and operation_Name == "Request-Response-Workflow"
Wyzwalacz zapytania lub zdarzenia akcji według typu operacji
Możesz utworzyć zapytanie względem tabeli Requests, aby wyświetlić zdarzenia dla określonego wyzwalacza lub typu akcji.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Aby wyświetlić wszystkie zdarzenia operacji o określonym typie wyzwalacza, utwórz i uruchom zapytanie z wartością customDimensions.triggerType ustawioną na żądany typ wyzwalacza, na przykład:
requests | where customDimensions.triggerType == "Request"
Aby wyświetlić wszystkie zdarzenia operacji o określonym typie akcji, utwórz i uruchom zapytanie z wartością customDimensions.actionType ustawioną na żądany typ akcji, na przykład:
requests | where customDimensions.actionType == "Compose"
Wyzwalacz zapytania i zdarzenia akcji według identyfikatora przebiegu przepływu pracy
Możesz utworzyć zapytanie względem tabeli Requests, aby wyświetlić podzbiór zdarzeń operacji na podstawie identyfikatora przebiegu przepływu pracy. Ten identyfikator przebiegu przepływu pracy jest tym samym identyfikatorem, który można znaleźć w historii uruchamiania przepływu pracy.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Aby wyświetlić wszystkie zdarzenia operacji z określonym identyfikatorem przebiegu przepływu pracy, utwórz i uruchom zapytanie z wartością operation_Id ustawioną na identyfikator przebiegu przepływu pracy, na przykład:
requests | where operation_Id == "08585287554177334956853859655CU00"
Wyzwalacz zapytania i zdarzenia akcji według identyfikatora śledzenia klienta
Możesz utworzyć zapytanie względem tabeli Requests, aby wyświetlić podzbiór zdarzeń operacji na podstawie nazwy przepływu pracy i identyfikatora śledzenia klienta.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Aby wyświetlić wszystkie zdarzenia operacji z określonym identyfikatorem śledzenia klienta w określonym przepływie pracy, utwórz i uruchom zapytanie z wartością operation_Name ustawioną na nazwę przepływu pracy i wartość właściwości clientTrackingId ustawioną na odpowiednią wartość, na przykład:
requests | where operation_Name == "Request-Response-Workflow" | extend correlation = todynamic(tostring(customDimensions.correlation)) | where correlation.clientTrackingId == "123456"
Wyzwalacz zapytania i zdarzenia akcji według nazwy rozwiązania
Możesz utworzyć zapytanie względem tabeli Requests, aby wyświetlić podzbiór zdarzeń operacji na podstawie nazwy przepływu pracy i nazwy rozwiązania.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Aby wyświetlić wszystkie zdarzenia operacji z określonym identyfikatorem śledzenia klienta w określonym przepływie pracy, utwórz i uruchom zapytanie z wartością operation_Name ustawioną na nazwę przepływu pracy i wartość właściwości solutionName ustawioną na odpowiednią wartość, na przykład:
requests | where operation_Name == "Request-Response-Workflow" and customDimensions has "trackedProperties" | extend trackedProperties = todynamic(tostring(customDimensions.trackedProperties)) | where trackedProperties.solutionName == "LA-AppInsights"
Ponowne próby
Aby pokazać, jak te dane są wprowadzane do tabeli Requests, poniższy przykładowy standardowy przepływ pracy używa akcji HTTP, która wywołuje adres URL, który nie jest rozpoznawany. Przepływ pracy ma również zasady ponawiania, które są ustawione na stały interwał, który ponawia próbę trzy razy, raz na 60 sekund.
Wyzwalacz zapytania i zdarzenia akcji dla ponownych prób
Możesz utworzyć zapytanie względem tabeli Requests, aby wyświetlić podzbiór zdarzeń operacji z ponownymi próbami.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Aby wyświetlić tylko zdarzenia wyzwalacza i akcji z historią ponawiania prób, utwórz i uruchom następujące zapytanie w usłudze Application Insights:
requests | extend retryHistory = tostring(tostring(customDimensions.retryHistory)) | where isnotempty(retryHistory)
Aby wyświetlić próby ponawiania próby dla określonej operacji z zasadami ponawiania, rozwiń wiersz dla tej operacji.
W poniższym przykładzie przedstawiono rozwinięte szczegóły akcji HTTP :
Wartości właściwości success i resultCode wskazują, że akcja HTTP nie powiodła się. Wraz z właściwościami opisanymi w tabeli Query the Requests dla wszystkich zdarzeń wyzwalacza i akcji rekord zawiera następujące informacje, które obejmują trzy próby ponawiania próby:
Właściwości opis Przykład retryHistory Szczegóły historii dla co najmniej jednej próby ponawiania prób kod Typ błędu dla określonej próby ponawiania próby błąd Szczegółowe informacje o konkretnym błędzie, który wystąpił
Wyzwalacz zapytania i zdarzenia akcji dotyczące użycia łącznika
Możesz utworzyć zapytanie względem tabeli Requests, aby wyświetlić podzbiór zdarzeń operacji na podstawie określonego użycia łącznika.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Aby wyświetlić wszystkie zdarzenia wyzwalacza przy użyciu określonego typu łącznika, utwórz i uruchom zapytanie z następującymi właściwościami i wartościami:
requests | where customDimensions.Category == "Workflow.Operations.Triggers" and customDimensions.triggerType =="ApiConnectionWebhook" and customDimensions.apiName =="commondataservice"
Właściwości Przykładowa wartość customDimensions.Category Workflow.Operations.Triggers customDimensions.triggerType Typ operacji, na przykład ApiConnectionWebhook customDimensions.apiName Nazwa interfejsu API łącznika w formacie JSON, na przykład commondataservice dla łącznika Microsoft Dataverse Aby wyświetlić wszystkie zdarzenia akcji z określonym użyciem łącznika, utwórz i uruchom zapytanie z wartością customDimensions.Category ustawioną na wartość Workflow.Operations.Actions, wartość customDimensions.triggerType ustawioną na typ operacji oraz właściwość customDimensions.apiName ustawioną na nazwę interfejsu API łącznika w formacie JSON, na przykład:
Właściwości Przykładowa wartość customDimensions.Category Workflow.Operations.Actions customDimensions.triggerType Typ operacji, na przykład ApiConnection customDimensions.apiName Nazwa interfejsu API łącznika w formacie JSON, na przykład office365 dla łącznika usługi Microsoft Office 365 Outlook requests | where customDimensions.Category == "Workflow.Operations.Actions" and customDimensions.actionType == "ApiConnection" and customDimensions.apiName == "office365"
W przypadku wyzwalaczy i akcji usługa Application Insights rozróżnia typy istniejących połączeń. W polach actionType i triggerType mogą być widoczne różne wartości na podstawie tego, czy połączenie ma typ ApiConnection, ApiConnectionWebhook, wbudowany typ podstawowy, taki jak Żądanie, czy wbudowany typ dostawcy usług oparty na dostawcy usług.
Tabela śladów
Tabela Traces zawiera pola, które śledzą dane dotyczące następujących zdarzeń w przypadku przebiegów przepływu pracy w warstwie Standardowa:
Zdarzenia uruchamiania i kończenia przepływu pracy
Te informacje są reprezentowane jako dwa odrębne zdarzenia ze względu na potencjał długotrwałych wykonań przepływu pracy.
Wysyłanie i odbieranie zdarzeń wsadowych
Aby uzyskać więcej informacji, zobacz Using Built-In Batch Operations in Azure Logic Apps (Standard) (Używanie wbudowanych operacji wsadowych w usłudze Azure Logic Apps (Standardowa)
Poniższa lista zawiera przykładowe zapytania, które można utworzyć i uruchomić względem tabeli Traces:
Zadanie | Kroki |
---|---|
Wyświetlanie zdarzeń początkowych i końcowych we wszystkich uruchomieniach przepływu pracy | Wykonywanie zapytań dotyczących zdarzeń uruchamiania i kończenia we wszystkich uruchomieniach przepływu pracy |
Wyświetlanie zdarzeń początkowych i końcowych w określonym przebiegu przepływu pracy | Wykonywanie zapytań dotyczących zdarzeń uruchamiania i kończenia w przebiegu przepływu pracy |
Wyświetlanie zdarzeń wysyłania i odbierania wsadowego we wszystkich uruchomieniach przepływu pracy | Wykonywanie zapytań dotyczących zdarzeń wysyłania wsadowego i odbierania wsadowego we wszystkich uruchomieniach przepływu pracy |
Wykonywanie zapytań dotyczących zdarzeń uruchamiania i kończenia we wszystkich uruchomieniach przepływu pracy
Możesz utworzyć zapytanie względem tabeli Traces, aby wyświetlić wszystkie zdarzenia początkowe i końcowe dla wszystkich przebiegów przepływu pracy.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Utwórz i uruchom zapytanie z wartością customDimensions.Category ustawioną na workflow.Operations.Runs, na przykład:
traces | where customDimensions.Category == "Workflow.Operations.Runs"
Wykonywanie zapytań o zdarzenia uruchamiania i kończenia w określonym przebiegu przepływu pracy
Możesz utworzyć zapytanie względem tabeli Traces, aby wyświetlić zdarzenia początkowe i końcowe dla określonego przebiegu przepływu pracy.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Utwórz i uruchom zapytanie z wartością customDimensions.Category ustawioną na Wartość Workflow.Operations.Runs i operation_Id ustawioną na identyfikator przebiegu przepływu pracy, na przykład:
traces | where customDimensions.Category == "Workflow.Operations.Runs" | and operation_Id == "08585287571846573488078100997CU00"
Wykonywanie zapytań dotyczących zdarzeń wysyłania wsadowego i odbierania wsadowego we wszystkich uruchomieniach przepływu pracy
Możesz utworzyć zapytanie względem tabeli Traces, aby wyświetlić zdarzenia wysyłania wsadowego i odbierania wsadowego we wszystkich uruchomieniach przepływu pracy.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Utwórz i uruchom zapytanie z wartością customDimensions.Category ustawioną na Wartość Workflow.Operations.Runs i operation_Id ustawioną na identyfikator przebiegu przepływu pracy, na przykład:
traces | where customDimensions.Category == "Workflow.Operations.Batch"
Tabela wyjątków
Tabela Wyjątki zawiera pola, które śledzą dane dotyczące zdarzeń wyjątków w przebiegach przepływu pracy w warstwie Standardowa. Aby pokazać, jak dane są wprowadzane do tych pól, załóżmy, że masz następujący przykładowy standardowy przepływ pracy, który rozpoczyna się od wyzwalacza Żądanie, a następnie akcji Redaguj i akcji Odpowiedź. Akcja Redagowanie używa wyrażenia, które dzieli wartość na zero, co powoduje wygenerowanie wyjątku:
Wykonywanie zapytań dotyczących zdarzeń wyjątków we wszystkich uruchomieniach przepływu pracy
Możesz utworzyć zapytanie względem tabeli Wyjątki, aby wyświetlić zdarzenia wyjątków we wszystkich uruchomieniach przepływu pracy.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Aby wyświetlić wszystkie zdarzenia wyjątków, utwórz i uruchom następujące zapytanie w usłudze Application Insights:
exceptions | sort by timestamp desc
Aby wyświetlić szczegóły określonego wyjątku, rozwiń wiersz dla tego wyjątku:
W poniższym przykładzie przedstawiono rozszerzony wyjątek dla akcji Redaguj i szczegółowe informacje o wyjątku:
Właściwości opis identyfikator problemu Typ wyjątku lub krótki opis wyjątku, który wystąpił outerMessage Bardziej szczegółowy opis wyjątku Szczegóły Pełne i najbardziej kompletne informacje o wyjątku clientTrackingId Identyfikator śledzenia klienta, jeśli został określony workflowId Identyfikator przepływu pracy, który napotkał wyjątek workflowName Nazwa przepływu pracy, który napotkał wyjątek runId Identyfikator wystąpienia przebiegu przepływu pracy actionName Nazwa akcji, która nie powiodła się z wyjątkiem operation_Name Nazwa przepływu pracy, który napotkał wyjątek operation_Id Identyfikator składnika lub przepływu pracy, który właśnie został uruchomiony. Ten identyfikator jest taki sam jak wartość runId dla wystąpienia przebiegu przepływu pracy. Ta wartość wykracza poza tabele, aby można było połączyć ten rekord wyjątku z wystąpieniem przebiegu przepływu pracy. operation_ParentId Identyfikator przepływu pracy, który nazwał akcję, którą można połączyć z identyfikatorem akcji w tabeli Requests Aby wyświetlić wyjątki dla określonego przepływu pracy, utwórz i uruchom następujące zapytanie:
exceptions | where operation_Name contains "Request-Response-Workflow-Exception"
Tabela zależności
Tabela Dependencies (Zależności) zawiera pola, które śledzą dane dotyczące zdarzeń zależności w przypadku przebiegów przepływu pracy w warstwie Standardowa. Te zdarzenia są emitowane, gdy jeden zasób wywołuje inny zasób i gdy oba zasoby korzystają z usługi Application Insights. Przykłady dla usługi Azure Logic Apps obejmują usługę wywołującą inną usługę za pośrednictwem protokołu HTTP, bazy danych lub systemu plików. Usługa Application Insights mierzy czas trwania wywołań zależności i określa, czy te wywołania kończą się powodzeniem, czy niepowodzeniem, wraz z informacjami, takimi jak nazwa zależności. Możesz zbadać określone wywołania zależności i skorelować je z żądaniami i wyjątkami.
Aby pokazać, jak dane są przesyłane do tych pól, załóżmy, że masz następujący przykładowy nadrzędny przepływ pracy w warstwie Standardowa, który wywołuje podrzędny przepływ pracy za pośrednictwem protokołu HTTP przy użyciu akcji HTTP :
Wykonywanie zapytań o zdarzenia zależności w określonym przepływie pracy
Możesz utworzyć zapytanie względem tabeli Zależności, aby wyświetlić zdarzenia zależności w określonym przebiegu przepływu pracy.
W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.
Aby wyświetlić zdarzenia zależności między nadrzędnym przepływem pracy a podrzędnym przepływem pracy, utwórz i uruchom następujące zapytanie:
union requests, dependencies | where operation_Id contains "<runId>"
To zapytanie używa operatora unii do zwracania rekordów z tabeli Requests i tabeli Dependencies. Zapytanie używa również wartości właściwości operation_Id, aby podać link między rekordami przez określenie żądanej wartości runId przepływu pracy, na przykład:
union requests, dependencies | where operation_Id contains "08585355753671110236506928546CU00"
Poniższy przykład przedstawia zdarzenie zależności dla określonego przepływu pracy, w tym rekordy zdarzeń operacji w nadrzędnym przepływie pracy z tabeli Requests, a następnie rekord zależności z tabeli Zależności:
W przypadku rekordów zdarzeń operacji kolumna itemType wyświetla typy rekordów jako żądanie. Dla rekordu zależności kolumna itemType wskazuje typ rekordu jako zależność.
Właściwości opis runId Identyfikator wystąpienia przebiegu przepływu pracy actionName Nazwa akcji, w której ma miejsce zdarzenie zależności operation_Id Identyfikator określonego przepływu pracy. Ten identyfikator jest taki sam jak wartość runId dla wystąpienia przebiegu przepływu pracy. Ta wartość wykracza poza tabele, aby można było połączyć ten rekord zależności z wystąpieniem przebiegu przepływu pracy. operation_ParentId Identyfikator akcji, w której występuje zdarzenie zależności, które również łączy rekord zdarzenia operacji i rekord zdarzenia zależności razem
Za pomocą zapytania można również wizualizować wywołanie zależności z nadrzędnego przepływu pracy do podrzędnego przepływu pracy podczas korzystania z mapy aplikacji w usłudze Application Insights. Wartość operation_Id w zapytaniu zawiera link umożliwiający wykonanie tej wizualizacji.
Aby otworzyć mapę aplikacji, w menu zasobów usługi Application Insights w obszarze Zbadaj wybierz pozycję Mapa aplikacji.
Filtrowanie zdarzeń
W usłudze Application Insights można filtrować zdarzenia w następujący sposób:
Tworzenie i uruchamianie zapytań zgodnie z opisem we wcześniejszych sekcjach.
Filtruj w źródle, określając kryteria oceny przed emitowaniem zdarzeń.
Stosując filtry w źródle, można zmniejszyć ilość niezbędnego miejsca do magazynowania i w związku z tym koszty operacyjne.
Stosowanie filtrowania w źródle
W tabeli Requests lub tabeli Traces rekord ma węzeł o nazwie customDimensions, który zawiera właściwość Category . Na przykład w tabeli Requests rekord żądania zdarzenia wyzwalacza usługi Batch wygląda podobnie do następującego przykładu:
W tabeli Requests następujące wartości właściwości Category mogą pomóc w odróżnieniu i skojarzeniu różnych poziomów szczegółowości:
Wartość kategorii | opis |
---|---|
Workflow.Operations.Triggers | Identyfikuje rekord żądania dla zdarzenia wyzwalacza |
Workflow.Operations.Actions | Identyfikuje rekord żądania dla zdarzenia akcji |
Dla każdej wartości Kategorii można niezależnie ustawić poziom szczegółowości w pliku host.json dla zasobu aplikacji logiki lub projektu. Aby na przykład zwrócić tylko rekordy zdarzeń wyzwalacza lub akcji, które mają błędy, w pliku host.json można dodać następujący obiekt JSON rejestrowania , który zawiera obiekt logLevel JSON z żądanymi poziomami szczegółowości:
{
"logging": {
"logLevel": {
"Workflow.Operations.Actions": "Error",
"Workflow.Operations.Triggers": "Error"
}
}
}
W przypadku rekordów tabeli Traces w poniższych przykładach pokazano sposoby zmiany poziomu szczegółowości dla zdarzeń:
{
"logging": {
"logLevel": {
"Workflow.Host": "Warning",
"Workflow.Jobs": "Warning",
"Workflow.Runtime": "Warning"
}
}
}
Poniższy przykład ustawia domyślny poziom szczegółowości dziennika na Ostrzeżenie, ale utrzymuje poziom szczegółowości w obszarze Informacje dotyczące wyzwalacza, akcji i zdarzeń uruchamiania przepływu pracy:
{
"logging": {
"logLevel": {
"default": "Warning",
"Workflow.Operations.Actions": "Information",
"Workflow.Operations.Runs": "Information",
"Workflow.Operations.Triggers": "Information"
}
}
}
Jeśli nie określisz żadnych wartości logLevel , domyślny poziom szczegółowości to Informacje. Aby uzyskać więcej informacji, zobacz Konfigurowanie poziomów dziennika.
Usuwanie błędów zależności magazynu
Aby odfiltrować błędy zależności magazynu, takie jak błędy 404 Nie znaleziono i błędy niepowodzenia warunku wstępnego 412, ustaw poziom dziennika Host.Workflow na Wartość Brak, na przykład:
{
"logging": {
"logLevel": {
"Workflow.Host": "Warning",
"Workflow.Jobs": "Warning",
"Workflow.Runtime": "Warning",
"Host.Workflow": "None"
}
}
}
W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.
W menu aplikacji logiki w obszarze Narzędzia programistyczne wybierz pozycję Narzędzia zaawansowane. Na stronie Narzędzia zaawansowane wybierz pozycję Przejdź, co spowoduje otwarcie narzędzi Kudu.
Na stronie Kudu z menu Konsoli debugowania wybierz pozycję CMD. W tabeli katalogów folderów przejdź do następującego pliku i wybierz pozycję Edytuj: site/wwwroot/host.json
W pliku host.json dodaj obiekt JSON rejestrowania z wartościami logLevel ustawionymi na żądane poziomy szczegółowości:
{ "logging": { "logLevel": { "Workflow.Operations.Actions": "<verbosity-level>", "Workflow.Operations.Triggers": "<verbosity-level>" } } }
Wyświetlanie metryk przepływu pracy w usłudze Application Insights
Dzięki ulepszeniom telemetrii w usłudze Application Insights możesz również uzyskać szczegółowe informacje o przepływie pracy na pulpicie nawigacyjnym Metryki.
Otwórz pulpit nawigacyjny Metryki i skonfiguruj podstawowe filtry
W witrynie Azure Portal otwórz zasób usługi Application Insights, jeśli jeszcze nie został otwarty.
W menu zasobów usługi Application Insights w obszarze Monitorowanie wybierz pozycję Metryki.
Z listy Zakres wybierz wystąpienie usługi Application Insights.
Z listy Przestrzeń nazw metryki wybierz pozycję workflow.operations.
Z listy Metryka wybierz metrykę, na przykład Przebiegi ukończone.
Z listy Agregacja wybierz typ, na przykład Liczba lub Średnia.
Po zakończeniu na pulpicie nawigacyjnym Metryki zostanie wyświetlony wykres z ukończonymi wykonaniami przepływu pracy.
Filtrowanie na podstawie określonego przepływu pracy
Po włączeniu metryk wielowymiarowych na pulpicie nawigacyjnym Metryki można określić podzbiór ogólnych zdarzeń przechwyconych w usłudze Application Insights i filtrować zdarzenia na podstawie określonego przepływu pracy.
W zasobie usługi Application Insights włącz metryki wielowymiarowe.
W usłudze Application Insights otwórz pulpit nawigacyjny Metryki.
Na pasku narzędzi wykresu wybierz pozycję Dodaj filtr.
Z listy Właściwości wybierz pozycję Przepływ pracy.
Z listy Operator wybierz znak równości (=).
Z listy Wartości wybierz żądane przepływy pracy.
Wyświetlanie danych dzienników na żywo i metryk
Dzięki włączonej ulepszonej telemetrii usługi Application Insights można wyświetlać dane dziennika niemal w czasie rzeczywistym i inne metryki z wystąpienia usługi Application Insights w witrynie Azure Portal. Ta wizualizacja umożliwia wykreślenie żądań przychodzących, żądań wychodzących i ogólnej kondycji. Uzyskasz również tabelę na potrzeby diagnostyki na poziomie śledzenia.
W witrynie Azure Portal otwórz zasób usługi Application Insights, jeśli jeszcze nie został otwarty.
W menu zasobów usługi Application Insights w obszarze Zbadaj wybierz pozycję Metryki na żywo.
Na stronie Metryki na żywo są wyświetlane dane dziennika i inne metryki, na przykład:
Aby uzyskać więcej informacji, zobacz Metryki na żywo: monitorowanie i diagnozowanie z opóźnieniem 1 sekundy.
Uwaga
Ponieważ standardowe przepływy pracy aplikacji logiki są oparte na usłudze Azure Functions, metryki na żywo obsługują te przepływy pracy aplikacji logiki.
Przesyłanie strumieniowe i wyświetlanie danych wyjściowych debugowania z plików dziennika aplikacji
Po włączeniu rozszerzonej telemetrii usługi Application Insights można przesyłać strumieniowo pełne informacje debugowania w witrynie Azure Portal dla plików dziennika aplikacji. Te informacje są równoważne z danymi wyjściowymi wygenerowanymi podczas debugowania przepływu pracy w lokalnym środowisku programu Visual Studio Code.
W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.
W menu zasobów aplikacji logiki w obszarze Monitorowanie wybierz pozycję Strumień dziennika.
Strona Strumienia dziennika łączy się z wystąpieniem usługi Application Insights i wyświetla dane wyjściowe debugowania. Na przykład następujące dane wyjściowe zawierają między innymi wywołania żądań i odpowiedzi: