Udostępnij za pośrednictwem


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

Włączanie rozszerzonej telemetrii w usłudze Application Insights

  1. W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.

  2. 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.

  3. 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

  4. 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.

  1. W witrynie Azure Portal w menu aplikacji logiki w obszarze Ustawienia wybierz pozycję Application Insights.

  2. 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ź.

Zrzut ekranu przedstawiający witrynę Azure Portal i projektanta przepływu pracy w warstwie Standardowa z wyzwalaczem i akcjami.

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:

Zrzut ekranu przedstawiający witrynę Azure Portal, standardowy przepływ pracy, wybrany wyzwalacz żądania, kartę Ustawienia i niestandardowy identyfikator śledzenia.

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.

Zrzut ekranu przedstawiający witrynę Azure Portal, standardowy przepływ pracy, wybraną akcję Redaguj, kartę Ustawienia i właściwość śledzoną.

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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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:

    Zrzut ekranu przedstawiający usługę Application Insights, zapytanie, kartę Wyniki i zdarzenia operacji z przebiegu przepływu pracy.

    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.
  3. 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 :

    Zrzut ekranu przedstawiający usługę Application Insights, kartę Wyniki wyzwalacza żądania i szczegóły.

    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:

    Zrzut ekranu przedstawiający usługę Application Insights, kartę Wyniki dla akcji Redagowanie i szczegóły.

    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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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"
    

    Zrzut ekranu przedstawiający zapytanie tabeli Requests tylko dla wyzwalaczy.

  3. 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"
    

    Zrzut ekranu przedstawiający tylko zapytanie tabeli Requests dla akcji.

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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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"
    

    Zrzut ekranu przedstawiający zapytanie tabeli Requests dla typu wyzwalacza żądania.

  3. 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"
    

    Zrzut ekranu przedstawiający zapytanie tabeli Requests dla typu akcji 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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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"
    

    Zrzut ekranu przedstawiający zapytanie tabeli Requests na podstawie identyfikatora przebiegu przepływu pracy.

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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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"
    

    Zrzut ekranu przedstawiający wyniki zapytania przy użyciu nazwy operacji i identyfikatora śledzenia klienta.

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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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"
    

    Zrzut ekranu przedstawiający wyniki zapytania przy użyciu nazwy operacji i nazwy rozwiązania.

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.

Zrzut ekranu przedstawiający witrynę Azure Portal, standardowy przepływ pracy, wybraną akcję HTTP, kartę Ustawienia i zasady ponawiania prób.

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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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)
    
  3. 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 :

    Zrzut ekranu przedstawiający usługę Application Insights, kartę Wyniki dla akcji HTTP i szczegóły.

    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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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

    Zrzut ekranu przedstawiający usługę Application Insights, kartę Wyniki dla zdarzeń wyzwalacza usługi Microsoft Dataverse z połączeniem ApiConnectionWebhook.

  3. 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"
    

    Zrzut ekranu przedstawiający usługę Application Insights, kartę Wyniki dla zdarzeń akcji programu Microsoft Office 365 Outlook z połączeniem ApiConnection.

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:

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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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"
    

    Zrzut ekranu przedstawiający usługę Application Insights, kartę Wyniki uruchamiania i zdarzeń we wszystkich przebiegach przepływu pracy.

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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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"
    

    Zrzut ekranu przedstawiający usługę Application Insights, kartę Wyniki dla uruchamiania i zdarzeń dla określonego przebiegu.

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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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"
    

    Zrzut ekranu przedstawiający usługę Application Insights, kartę Wyniki dla zdarzeń wysyłania wsadowego i odbierania wsadowego we wszystkich uruchomieniach przepływu pracy.

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:

Zrzut ekranu przedstawiający witrynę Azure Portal, standardowy projektant przepływu pracy, wyzwalacz żądania, akcję Redaguj z wyrażeniem generowania wyjątków i akcją Odpowiedź.

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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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
    
  3. 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:

    Zrzut ekranu przedstawiający usługę Application Insights, kartę Wyniki dla zdarzeń wyjątków ze zdarzeniem wyjątku dla rozwiniętej akcji Redaguj i szczegóły 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
  4. 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 :

Zrzut ekranu przedstawiający witrynę Azure Portal, projektanta przepływu pracy w warstwie Standardowa z nadrzędnym przepływem pracy przy użyciu akcji HTTP w celu wywołania podrzędnego przepływu pracy.

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.

  1. W razie potrzeby wybierz zakres czasu, który chcesz przejrzeć. Domyślnie ta wartość to ostatnie 24 godziny.

  2. 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:

    Zrzut ekranu przedstawiający usługę Application Insights, kartę Wyniki ze zdarzeniami zależności dla określonego przepływu pracy.

    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.

Zrzut ekranu przedstawiający usługę Application Insights i mapę aplikacji z zależnością między nadrzędnym przepływem pracy a podrzędnym przepływem pracy.

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:

Zrzut ekranu przedstawiający usługę Application Insights z tabelą Requests i rekordem wyzwalacza komunikatów usługi Batch.

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"
      }
   }
}
  1. W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.

  2. 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.

  3. 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

  4. 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

  1. W witrynie Azure Portal otwórz zasób usługi Application Insights, jeśli jeszcze nie został otwarty.

  2. W menu zasobów usługi Application Insights w obszarze Monitorowanie wybierz pozycję Metryki.

  3. Z listy Zakres wybierz wystąpienie usługi Application Insights.

  4. Z listy Przestrzeń nazw metryki wybierz pozycję workflow.operations.

  5. Z listy Metryka wybierz metrykę, na przykład Przebiegi ukończone.

  6. 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.

    Zrzut ekranu przedstawiający usługę Application Insights z pulpitem nawigacyjnym metryk i wykresem pokazującym liczbę zakończonych wykonań przepływu pracy w czasie.

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.

  1. W zasobie usługi Application Insights włącz metryki wielowymiarowe.

  2. W usłudze Application Insights otwórz pulpit nawigacyjny Metryki.

  3. Na pasku narzędzi wykresu wybierz pozycję Dodaj filtr.

  4. Z listy Właściwości wybierz pozycję Przepływ pracy.

  5. Z listy Operator wybierz znak równości (=).

  6. Z listy Wartości wybierz żądane przepływy pracy.

    Zrzut ekranu przedstawiający usługę Application Insights z pulpitem nawigacyjnym metryk i wykresem z metrykami wielowymiarowymi.

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.

  1. W witrynie Azure Portal otwórz zasób usługi Application Insights, jeśli jeszcze nie został otwarty.

  2. 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:

    Zrzut ekranu przedstawia menu witryny Azure Portal i usługi Application Insights z wybranym elementem o nazwie Metryki na żywo.

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.

  1. W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.

  2. 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:

    Zrzut ekranu przedstawiający menu witryny Azure Portal i standardowej aplikacji logiki z wybranym elementem o nazwie Strumień dziennika.

Następne kroki

Włączanie lub otwieranie usługi Application Insights