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
- Musisz mieć dostęp do portalu Azure.
- Użytkownik musi mieć uprawnienia do tworzenia zasobów platformy Azure.
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
- Pobierz i zainstaluj aplikację Kudos, z Zestaw startowy dla pracowników. Zamiast tego można również użyć istniejącej aplikacji.
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.
Zaloguj się do Portalu Azure.
Wyszukaj Application Insights:
Utwórz zasób Application Insights:
Wprowadź odpowiednie wartości i wybierz pozycję Przejrzyj + Utwórz.
Aby uzyskać więcej informacji, zobacz temat Tworzenie zasobu Application Insights.
Po utworzeniu wystąpienia Application Insights należy skopiować klucz instrumentacji w wystąpieniu i użyć go w nadchodzącym kroku.
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.
Zaloguj się do usługi Power Apps.
W lewym okienku nawigacji wybierz Aplikacje. Z listy aplikacji wybierz aplikację Kudos, a następnie wybierz pozycję Edytuj:
Wybierz obiekt Aplikacja w lewym widoku drzewa nawigacyjnego i wklej klucz instrumentacji
Zapisz i Opublikuj aplikację.
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
Zaloguj się w Portalu Azure i otwórz zasób Application Insights utworzony wcześniej.
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.
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:
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:
Porada
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.
Zaloguj się do usługi Power Apps.
W lewym okienku nawigacji wybierz Aplikacje. Z listy aplikacji wybierz aplikację Kudos, a następnie wybierz pozycję Edytuj.
Wybierz opcję Składniki w Widoku drzewa.
Zaznacz opcję Nowy składnik, a następnie zmień szerokość na 200 i wysokość na 75:
Z menu wybierz polecenie Wstaw, a następnie wybierz Ikony, aby dodać znak Emoji - niezadowolenia i Emoji - uśmiech:
Wybierz Nową właściwość niestandardową, aby utworzyć właściwość niestandardową:
Wprowadź Nazwę właściwości i Wyświetlana nazwa, na przykład FeedbackSceen.
Wprowadź Opis właściwości.
Wybierz Typ właściwości jako Dane wejściowe i Typ danych jako Ekran:
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.
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.
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.
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!");
Uwaga
W wyrażeniu formuły jest wysyłana NazwaUżytkownika, EmailUżytkownika, Ekran i Informacje zwrotne (o wartości -1) do Application Insights.
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!");
Dodaj składnik do jednego z ekranów w aplikacji:
Wybierz pozycję Zapisz, a następnie pozycję Opublikuj, aby zapisać i opublikować swoją aplikację.
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.
Analiza danych w Application Insights
Teraz można rozpocząć analizowanie danych wysłanych przy użyciu funkcji Śledzenia w aplikacji w Application Insights.
Zaloguj się w Portalu Azure i otwórz zasób Application Insights utworzony wcześniej:
W lewym okienku nawigacyjnym wybierz Dzienniki w obszarze Monitorowanie.
Wprowadź następujące zapytanie i wybierz opcję Uruchom, aby wyświetlić opinie otrzymane z aplikacji:
traces | where message == "App Feedback" | order by timestamp
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.
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
Porada
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ę.
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
Ś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ę.
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.
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.
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
Eksportuj dane do Power BI
Dane i wyniki zapytania Application Insights można eksportować do Power BI w celu przeprowadzenia analizy i prezentacji danych.
Zaloguj się w Portalu Azure i otwórz zasób Application Insights utworzony wcześniej:
W lewym okienku nawigacyjnym wybierz Dzienniki w obszarze Monitorowanie.
W oknie zapytania analizy dzienników wybierz menu Eksportuj.
Wybierz opcję Eksportuj do Power BI (zapytanie M), aby pobrać plik zapytania Power BI:
Otwórz pobrany plik w edytorze tekstowym i skopiuj zapytanie do schowka.
Otwórz Power BI.
Wybierz menu Pobierz dane na wstążce Narzędzia główne, a następnie wybierz opcję Puste zapytanie:
W okienku zapytania wybierz Zaawansowany edytor. Wklej zapytanie do okna, wybierz opcję Wykonane, a następnie wybierz opcję Zamknij i zastosuj:
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.
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).