Analizowanie dzienników wygenerowanych przez system przy użyciu programu Application Insights

Możesz połączyć aplikacje kanwy z programem Application Insights z funkcją Azure Monitor. Program Application Insights zawiera zaawansowane narzędzia analityki pomocne w diagnozowaniu problemów i zrozumieniu, co użytkownicy w rzeczywistości wykonają z aplikacjami. Możesz zbierać informacje, które pomogą Ci podejmować lepsze decyzje biznesowe i poprawić jakość swoich aplikacji.

W tym przewodniku Szybki start użyjemy aplikacji kanwy o nazwie Kudos do poznawanie pojęć dzienników generowanych przez system w aplikacjach kanw i stosowanie ich w aplikacjach. Przykładowa aplikacja Kudos jest częścią pakietu aplikacji zwiększających zaangażowanie pracowników, które można pobrać z zestawu Employee Experience Starter Kit.

Wymagania wstępne

Uwaga

Aby wyświetlić informacje telemetryczne, administrator dzierżawy musi włączyć funkcję Wgląd w dane aplikacji kanwy. Zaloguj się do centrum administracyjnego Power Platform jako administrator. Przejdź do Ustawienia > Ustawienia dzierżawcy > Wgląd w aplikację kanwy. W okienku Wglądu w aplikację kanwy ustaw przełącznik Włącz i zapisz swoje zmiany. Więcej informacji: Ustawienia dzierżawy.

Opcjonalnie

Utwórz zasób Application Insights

Aby można było wysyłać dzienniki wygenerowane przez system z aplikacji, należy utworzyć zasób Application Insights przechowujący zdarzenia.

  1. Zaloguj się do Portalu Azure.

  2. Wyszukaj Application Insights:

    Application Insights.

  3. Utwórz zasób Application Insights:

    Dodaj zasób Application Insights resource.

  4. Wprowadź odpowiednie wartości i wybierz pozycję Przejrzyj + Utwórz.

    Aby uzyskać więcej informacji, zobacz temat Tworzenie zasobu Application Insights.

    Utwórz zasób.

  5. Po utworzeniu wystąpienia Application Insights należy skopiować klucz instrumentacji w wystąpieniu i użyć go w nadchodzącym kroku.

    Skopiuj Klucz Instrumentacji.

Połącz swoją aplikację z Application Insights

Uwaga

  • Podczas określania klucza instrumentacji należy pamiętać, że dane mogą być przesyłane między dzierżawami. Zdarzenia śledzenia są wysyłane do zasobu App Insights, który odpowiada kluczowi instrumentacji ustawionemu dla aplikacji, nawet jeśli docelowe wystąpienie App Insights znajduje się w innej dzierżawie niż aplikacja.
  • Należy zachować ostrożność podczas importowania istniejących plików .msapp, ponieważ mogą być w nich obecne klucze instrumentacji dla App Insights. Ręcznie otwórz aplikację po zaimportowaniu, aby sprawdzić, czy używany jest prawidłowy klucz instrumentacji App Insights.
  1. Zaloguj się do usługi Power Apps.

  2. W lewym okienku nawigacji wybierz Aplikacje. Z listy aplikacji wybierz aplikację Kudos, a następnie wybierz pozycję Edytuj:

    Edytowanie aplikacji Kudos.

    Uwaga

    Można również utworzyć nową aplikację lub edytować dowolną istniejącą aplikację.

  3. Wybierz obiekt Aplikacja w lewym widoku drzewa nawigacyjnego i wklej klucz instrumentacji

    Dodaj Klucz Instrumentacji.

  4. Zapisz i Opublikuj aplikację.

  5. Odtwórz opublikowaną aplikację, aby przeglądać różne ekrany.

Podczas przeglądania ekranów aplikacji zdarzenia automatycznie są rejestrowane w Application Insights, w tym szczegóły użycia, takie jak:

  • Skąd jest uzyskiwany dostęp do aplikacji
  • Jakie urządzenia są używane
  • Użyte typy przeglądarek

Ważne

Należy odtworzyć opublikowaną aplikację, aby wysyłać zdarzenia do Application Insights. Zdarzenia nie są wysyłane do Application Insights, kiedy dokonujesz podglądu aplikacji w Power Apps Studio.

Wyświetl wydarzeń w Application Insights

  1. Zaloguj się w Portalu Azure i otwórz zasób Application Insights utworzony wcześniej.

  2. Przewiń w dół lewe okienko nawigacji i wybierz Użytkowników w sekcji Użycie.

    Uwaga

    Widok Użytkownicy pokazuje szczegóły użycia aplikacji, takie jak:

    • Liczba użytkowników, którzy odwiedzili aplikację
    • Liczba sesji użytkownika
    • Liczba zdarzeń logowania
    • Systemy operacyjne użytkowników i szczegóły dotyczące wersji przeglądarki
    • Region i lokalizacja użytkowników

    Dowiedz się więcej o użytkownikach, sesjach i analizach zdarzeń w aplikacji Application Insights.

  3. Wybierz jedną z sesji użytkowników, aby przejść do szczegółów. Użytkownik może wyświetlić informacje, takie jak długość sesji i wyświetlone ekrany:

    Szczegółowe informacje na temat wykorzystania przez użytkowników.

  4. Wybierz widok Zdarzenia w lewym okienku nawigacji w sekcji Użycie. Istnieje możliwość wyświetlenia podsumowania wszystkich ekranów wyświetlanych we wszystkich sesjach aplikacji:

    Szczegółowe informacje o wydarzeniu dla aplikacji.

Napiwek

Dostępne są dodatkowe funkcje Application Insights, na przykład:

Tworzenie niestandardowych zdarzeń śledzenia

Użytkownik może tworzyć niestandardowe ślady bezpośrednio do Application Insights i zacząć analizować informacje specyficzne dla określonego scenariusza. Funkcja Śledzenie umożliwia zbieranie danych:

  • Szczegółowe informacje na temat zastosowania kontrolek na ekranach
  • Użytkownicy uzyskujący dostęp do Twojej aplikacji
  • Błędów, które wystąpiły

Śledzenie może również pomóc w zdiagnozowaniu problemów, ponieważ może wysłać do użytkownika historię informacji ułatwiających przeglądanie aplikacji i wykonywanie innych akcji. Komunikaty funkcji Śledzenie wysyłane do Application Insights mają trzy poziomy priorytetu:

  • Informacja
  • Ostrzeżenie
  • Błąd

W zależności od scenariusza użytkownik może wybrać opcję wysłania komunikatów śledzenia o odpowiednich priorytetach. Można także zadawać kwerendy dotyczące danych i podjąć określone działania w zależności od priorytetu.

Uwaga

W przypadku rejestrowania jakichkolwiek danych osobowych należy pamiętać o swoich zobowiązaniach w odniesieniu do różnych przepisów ustawowych i dotyczących ochrony prywatności. Więcej informacji można znaleźć w Centrum zaufania firmy Microsoft i Portalu zaufania usług.

Teraz utwórz w aplikacji nowy składnik, który będzie zbierać opinie na każdym ekranie i zapisz te zdarzenia do Application Insights.

  1. Zaloguj się do usługi Power Apps.

  2. W lewym okienku nawigacji wybierz Aplikacje. Z listy aplikacji wybierz aplikację Kudos, a następnie wybierz pozycję Edytuj.

    Uwaga

    Możesz także utworzyć nową aplikację lub edytować istniejącą.

  3. Wybierz opcję Składniki w Widoku drzewa.

    Elementy.

  4. Zaznacz opcję Nowy składnik, a następnie zmień szerokość na 200 i wysokość na 75:

    Wysokość i szerokość.

  5. Z menu wybierz polecenie Wstaw, a następnie wybierz Ikony, aby dodać znak Emoji - niezadowolenia i Emoji - uśmiech:

    Dodawanie ikon.

  6. Wybierz Nową właściwość niestandardową, aby utworzyć właściwość niestandardową:

    Utwórz niestandardową właściwość.

  7. Wprowadź Nazwę właściwości i Wyświetlana nazwa, na przykład FeedbackSceen.

  8. Wprowadź Opis właściwości.

  9. Wybierz Typ właściwości jako Dane wejściowe i Typ danych jako Ekran:

    Właściwość niestandardowa.

    Uwaga

    Właściwość danych wejściowych umożliwia zarejestrowanie nazwy ekranu i jego składnika, tak aby można było zarejestrować te informacje w Application Insights.

  10. Wybierz składnik w Widoku drzewa, wybierz Więcej akcji (), a następnie wybierz pozycję Zmień nazwę, aby zmienić nazwę składnika na nazwę znaczącą, na przykład FeedbackComponent.

    Zmiana nazw składników i ikon.

  11. Wybierz ikony, wybierz pozycję Więcej akcji (), a następnie wybierz opcję Zmień nazwę, aby zmienić nazwy ikon na bardziej znaczące, na przykład FrownIcon czy SmileIcon.

  12. Wybierz opcję Niezadowolonaikona, wybierz właściwość OnSelect, a następnie wprowadź następujące wyrażenie na pasku formuł:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeedbackValue: "-1"
           }
         );
    Notify("Thanks for your feedback!");
    

    Formuła ikony niezadowolonej.

    Uwaga

    W wyrażeniu formuły jest wysyłana NazwaUżytkownika, EmailUżytkownika, Ekran i Informacje zwrotne (o wartości -1) do Application Insights.

  13. Wybierz opcję Uśmiechniętaikona, wybierz właściwość OnSelect, a następnie wprowadź następujące wyrażenie na pasku formuł:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeebackValue: "1"
           }
         );
    Notify("Thanks for your feedback!");
    
  14. Dodaj składnik do jednego z ekranów w aplikacji:

    Dodaj składnik opinii.

  15. Wybierz pozycję Zapisz, a następnie pozycję Opublikuj, aby zapisać i opublikować swoją aplikację.

  16. Odtwórz opublikowaną aplikację i za pomocą ekranów wyślij opinie poprzez ikony uśmiechu i niezadowolenia.

    Ważne

    Należy odtworzyć opublikowaną aplikację, aby wysyłać zdarzenia do Application Insights. Zdarzenia nie są wysyłane do Application Insights, kiedy dokonujesz podglądu aplikacji w Power Apps Studio.

    Odtwarzanie opublikowanej aplikacji.

Analiza danych w Application Insights

Teraz można rozpocząć analizowanie danych wysłanych przy użyciu funkcji Śledzenia w aplikacji w Application Insights.

  1. Zaloguj się w Portalu Azure i otwórz zasób Application Insights utworzony wcześniej:

    Wybierz Application Insights.

  2. W lewym okienku nawigacyjnym wybierz Dzienniki w obszarze Monitorowanie.

    Wybierz dzienniki.

  3. Wprowadź następujące zapytanie i wybierz opcję Uruchom, aby wyświetlić opinie otrzymane z aplikacji:

    traces
    | where message == "App Feedback"
    | order by timestamp
    

    Wyświetl opinie o aplikacji.

  4. Zaznacz wiersz w wynikach i rozwiń pole customDimensions.

    W programie zarejestrowano wartości dla Ekranu, NazwaUzytkownika, EmailUżytkownika i WartośćOpinii dla zdarzenia OnSelect ikony uśmiechu lub niezadowolenia w składniku. Wartości są również rejestrowane dla każdego zdarzenia wysyłanego do Application Insights, takiego jak appId, appName i appSessionId.

    Rozwijanie wymiarów niestandardowych.

  5. Korzystając z poniższego przykładu zapytania, można rozszerzyć właściwości niestandardowych wymiarów notacji JSON i projektów kolumn w widoku wyników.

    traces
        | extend customdims = parse_json(customDimensions)
        | where message == "App Feedback"
        | project timestamp
            , message
            , AppName = customdims.['ms-appName']
            , AppId = customdims.['ms-appId']
            , FeedbackFrom = customdims.UserEmail
            , Screen = customdims.Screen
            , FeedbackValue = customdims.FeedbackValue
        | order by timestamp desc
    

    Rozszerz zapytanie customDimensions.

    Napiwek

    Zapytania dziennika są wyjątkowo wydajne. Można z nich korzystać w celu dołączenia do wielu tabel, zagregowania dużej ilości danych i wykonania złożonych operacji. Dowiedz się więcej o rejestrowaniu zapytań.

Monitoruj nieobsłużone błędy (eksperymentalne)

[Ta sekcja zawiera dokumentację przedpremierową i może ulec zmianie.]

Ważne

  • To jest funkcja objęta programem eksperymentalnym.
  • Funkcje w wersji eksperymentalnej nie są przeznaczone do użytku w środowiskach produkcyjnych i mogą mieć ograniczoną funkcjonalność. Te funkcje są udostępniane przed oficjalnym wydaniem, dzięki czemu klienci mogą szybciej uzyskać do nich dostęp i przekazać opinie na ich temat.

Nie zawsze można przewidzieć i zaplanować rekcję na wszystkie błędy, które mogą wystąpić podczas działania aplikacji. Nieobsługiwane błędy formuł Power Fx są raportowane użytkownikom jako komunikaty banneru. Można je również raportować w Application Insights celu zrozumienia częstości i wagi ich występowania, nie polegając na tym, że to użytkownicy aplikacji zgłoszą problemy. Można również skonfigurować alerty w czasie rzeczywistym gdy wystąpią błędy w czasie wykonywania, aby zająć się bardziej aktywnym podejściem.

Włącz przekazywanie błędów do Application Insights

Należy włączyć ustawienie umożliwiające usłudze Power Apps przekazywanie nieobsługiwanych błędów środowiska uruchomieniowego na platformę Azure Application Insights.

Ostrzeżenie

Włączenie tego ustawienia może spowodować dodatkowe koszty związane z magazynem dzienników Application Insights.

Aby włączyć przekazywanie błędów, przejdź do Ustawienia > Nadchodzące funkcje > Eksperymentalne > Przekaż błędy do Azure Application Insights, pozostawiając aplikację kanwy otwartą do edycji. Zapisz i opublikuj aplikację.

Włącz błędy przekazywania do ustawienia Azure Application Insights.

Błędy wydarzeń w Application Insights

Nieobsługiwane błędy Power Fx, których doświadczyli użytkownicy w czasie wykonywania aplikacji, są raportowane w tabeli Śledzenie. Nieobsłużone błędy można zidentyfikować i odróżnić od innych zdarzeń błędów za pomocą komunikatu o zdarzeniu „Nieobsługiwany błąd”. Poziom ważności (severityLevel) tych zdarzeń to 3 (TraceSeverity.Error).

Szczegółowe komunikaty o błędach są dostępne w wymiarze „błędy” właściwości customDimension. W sytuacjach, gdy podczas tej samej operacji wystąpiło wiele błędów, błędy te są skonsolidowane jako liczba „błędów” pojedynczego zdarzenia śledzenia. Komunikaty o błędach są takie same jak raportowane w Monitor podczas sesji debugowania live.

Następujące przykładowe zapytanie identyfikuje nieobsługiwane błędy i rozszerza wszystkie komunikaty o błędach uwzględnione w zdarzeniu śledzenia:

traces
    | where message == "Unhandled error"
    | extend customdims = parse_json(customDimensions)
    | extend errors = parse_json(tostring(customdims.['errors']))
    | mv-expand errors
    | project timestamp
        , itemId //unique identifier for the trace event
        , AppName = customdims.['ms-appName']
        , AppId = customdims.['ms-appId']
        , errors = errors.['Message']
    | order by timestamp desc

Przykładowe dane wyjściowe, na przykład zapytanie.

Śledzenie korelacji (eksperymentalne)

[Ta sekcja zawiera dokumentację przedpremierową i może ulec zmianie.]

Ważne

  • To jest funkcja objęta programem eksperymentalnym.
  • Funkcje w wersji eksperymentalnej nie są przeznaczone do użytku w środowiskach produkcyjnych i mogą mieć ograniczoną funkcjonalność. Te funkcje są udostępniane przed oficjalnym wydaniem, dzięki czemu klienci mogą szybciej uzyskać do nich dostęp i przekazać opinie na ich temat.

Połączenia z zewnętrznymi danymi i usługami mają podstawowe znaczenie dla większości aplikacji. Śledzenie korelacji generuje i propaguje informacje kontekstowe w celu dołączania do dzienników generowanych przez system w aplikacjach kanwy i jej połączeniach, z zastrzeżeniem pewnych ograniczeń. Na przykład aplikacja może wywołać łącznik niestandardowy, który z kolei wywołuje funkcję platformy Azure lub inny interfejs API REST. Śledzenie korelacji umożliwia korelowanie akcji podjętych w aplikacji z podstawowymi wywołaniami interfejsów API w poszczególnych warstwach. Może to być przydatne w rozwiązywaniu problemów.

Śledzenie korelacji aplikacji kanw jest implementacją śledzenia kontekstu i jest zgodne ze specyfikacją W3C.

Włącz śledzenie korelacji

Ostrzeżenie

Włączenie tego ustawienia może spowodować dodatkowe koszty związane z magazynem dzienników Application Insights.

Aby włączyć funkcję śledzenia skojarów, przejdź do obszaru Ustawienia > Przyszłe funkcje > > Włączyć śledzenie skojarowania Azure Application Insights, jednocześnie zachowując możliwość edycji aplikacji kanwy. Zapisz i opublikuj aplikację.

Włącz śledzenie korelacji Azure Application Insights.

Ograniczenia

  • Śledzenie korelacji jest dostępne tylko w przypadku łączników niestandardowych. Inne typy łączników nie są obsługiwane.
  • Żądania protokołu HTTP są przechwytywane w Application Insights tylko wtedy, gdy usługa połączona jest również połączona z Application Insights.

Korzystanie ze śledzenia korelacji

Po włączeniu śledzenia korelacji powoduje dodanie nowego dziennika zdarzeń wygenerowanego przez system w tabeli zależności wystąpienia Application Insights aplikacji kanwy. To zdarzenie jest rejestrowane w momencie otrzymania odpowiedzi z rozmowy sieciowej. Zdarzenia zależności przechwytują szczegóły połączenia sieciowego, w tym nagłówki żądania i odpowiedzi, kod stanu odpowiedzi oraz czas trwania połączenia.

Przykładowe zdarzenie zarejestrowane w tabeli zależności.

Jeśli usługa połączona jest także połączona z Application Insights, jest generowane przez system dodatkowe zdarzenie dziennika przechwytujące żądanie generowane w tabeli żądań instancji usługi Application Insights. Niektóre usługi Azure, takie jak funkcje Azure, można połączyć bez konieczności pisania kodu z portalu Azure. Aplikację kanwy lub wiele aplikacji oraz usługi połączone można połączyć z tym samym wystąpieniem Application Insights.

Przykładowe zdarzenie zarejestrowane w tabeli żądań.

Połączenia sieciowe z obsługiwanymi łącznikami można połączyć z innymi dziennikami generowanymi przez system w liczbie określonej przez „operation_Id”. Poniższe przykładowe zapytanie pokazuje wywołania sieciowe dokonywane razem ze zdarzeniami śledzenia emitowanymi podczas sesji aplikacji.

traces | union dependencies | union requests | union pageViews | union customEvents
| project timestamp
    , itemType
    , name
    , operation_Name
    , message
    , severityLevel
    , customDimensions
    , operation_Id
    , operation_ParentId
| where operation_Id == "0a7729e3e83c4e4d93cb4f51149f73b9" //placeholder operation_Id, replace
| order by timestamp asc

Przykładowe dane wyjściowe dla wcześniejszego przykładowego zapytania.

Eksportuj dane do Power BI

Dane i wyniki zapytania Application Insights można eksportować do Power BI w celu przeprowadzenia analizy i prezentacji danych.

  1. Zaloguj się w Portalu Azure i otwórz zasób Application Insights utworzony wcześniej:

  2. W lewym okienku nawigacyjnym wybierz Dzienniki w obszarze Monitorowanie.

  3. W oknie zapytania analizy dzienników wybierz menu Eksportuj.

  4. Wybierz opcję Eksportuj do Power BI (zapytanie M), aby pobrać plik zapytania Power BI:

    Eksportowanie zapytania Power BI.

  5. Otwórz pobrany plik w edytorze tekstowym i skopiuj zapytanie do schowka.

  6. Otwórz Power BI.

  7. Wybierz menu Pobierz dane na wstążce Narzędzia główne, a następnie wybierz opcję Puste zapytanie:

    Puste zapytanie Power BI.

  8. W okienku zapytania wybierz Zaawansowany edytor. Wklej zapytanie do okna, wybierz opcję Wykonane, a następnie wybierz opcję Zamknij i zastosuj:

    Zapytanie zaawansowane Power BI.

W programie można także tworzyć wykresy i wizualizacje w Power BI w celu reprezentowania informacji zwrotnych otrzymywanych w aplikacji, a także podejmować decyzje i działania oparte na danych.

Wykresy i wizualizacje.

Domyślny kontekst i wymiary zdarzenia Śledzenie

Zestaw wymiarów domyślnych jest także dodawany do właściwości customDimensions w każdym zdarzeniu śledzenia. Te wymiary mogą służyć do identyfikowania sesji aplikacji i aplikacji, w których wystąpiły zdarzenia. W przypadku rejestrowania dodatkowych danych niestandardowych przy użyciu funkcji śledzenia będą one również wyświetlane w wymiarach niestandardowych.

Nazwa wymiaru Reprezentuje
ms-appId Identyfikator aplikacji dotyczący aplikacji, która przysłała zdarzenie.
ms-appname Nazwa aplikacji dotycząca aplikacji, która przysłała zdarzenie.
ms-appSessionId Identyfikator sesji aplikacji. W niektórych scenariuszach ta wartość może nie zostać wypełniona. Jeśli jest dostępna, ta wartość zastępuje standardowy wymiar identyfikatora sesji Application Insights.
ms-tenantID Unikatowy identyfikator dzierżawcy, w której została opublikowana aplikacja.
ms-environmentId Nazwa środowiska, w którym publikowana jest aplikacja.
Identyfikator użytkownika Unikatowy identyfikator użytkownika skojarzonego z sesją
ms-duration Wartość imputowana mierząca czas potrzebny użytkownikowi na przejście z jednego ekranu na drugi. Ta wartość zastępuje standardowy wymiar czasu wyświetlenia strony PageView w Application Insights.
sessionId Identyfikator sesji, którego można użyć do skorelowania wszystkich zdarzeń związanych z pojedynczą sesją aplikacji. Ta wartość jest zawsze obecna i jest zalecana w celu zrozumienia unikatowej liczby sesji. Ta wartość jest pobierana z identyfikatora sesji gracza i jest wyświetlana podczas przeglądania szczegółów sesji podczas grania w aplikację. Identyfikator sesji może czasami zostać wygenerowany domyślną, losową i unikatową wartość wygenerowaną Application Insights. Ta wartość domyślna nie jest niezawodna i nie jest skorelowana z żadnymi parametrami specyficznymi dla aplikacji.
Czas trwania Wartość imputowana mierząca czas potrzebny użytkownikowi na przejście z jednego ekranu na drugi. Ta wartość jest taka sama jak czas trwania zgłaszany przez rozmiar ms-czasu trwania.
ms-isTest Wskazuje, czy sesja jest skojarzona z testem w programie Test Studio.
ms-currentScreenName Nazwa strony, z której nawiguje użytkownik (obecnie dotyczy zdarzeń nawigacji między stronami).
ms-targetScreenName Nazwa strony, na którą nawiguje użytkownik (obecnie dotyczy zdarzeń nawigacji między stronami).

Nieobsługiwane scenariusze

Application Insights nie obsługuje następujących scenariuszy.

  • Zdarzenia graczy w trybie offline nie są przechwytywane.
  • Zdarzenia aplikacji mobilnej ( iOS oraz Android) nie są przechwytywane, gdy aplikacja jest zawieszona.
  • Usługa GCC i chmury nie publiczne nie są obsługiwane.

Uwaga

Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)

Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).