Analýza protokolů generovaných systémem pomocí Application Insights

Můžete připojit svoji aplikaci plátna k Application Insights, což je funkce Azure Monitor. Application Insights obsahuje výkonné analytické nástroje, které vám pomohou diagnostikovat problémy a porozumět tomu, co uživatelé ve skutečnosti s vašimi aplikacemi dělají. Můžete shromažďovat informace, které vám pomohou činit lepší obchodní rozhodnutí a zlepšovat kvalitu aplikací.

V tomto popisu rychlého startu používáme aplikaci plátna s názvem Kudos k prozkoumání konceptů systémem generovaných protokolů v aplikacích plátna a jejich použití ve vašich aplikacích. Ukázková aplikace Kudos je součástí sady zaměstnaneckých aplikací. Můžete si ji stáhnout v úvodní sadě Možnosti zaměstnanců.

Předpoklady

Poznámka

Chcete-li zobrazit informace o telemetrii, správce klienta musí povolit Přehledy aplikace plátna. Přihlaste se jako správce k centru pro správu Power Platform. Jděte do Nastavení > Nastavení klienta > Přehledy aplikace plátna. V podokně Přehledy aplikace plátna nastavte přepínač na Zapnuto a uložte změny. Další informace najdete v části Nastavení klienta.

Volitelné

Vytvořit prostředek Application Insights

Než budete moci odeslat systémem generované protokoly z aplikace, musíte si vytvořit prostředek Application Insights k ukládání událostí.

  1. Přihlaste se k portálu Azure.

  2. Vyhledejte hodnotu Application Insights:

    Application Insights.

  3. Vytvořte prostředek Application Insights:

    Přidejte prostředek Application Insights.

  4. Zadejte příslušné hodnoty a vyberte Recenze + vytvoření.

    Pro více informací si přečtěte Vytvořte zdroj Application Insights.

    Vytvořte prostředek.

  5. Po vytvoření instance Application Insights zkopírujte Instrumentační klíč v přehledu instance pro použití v nadcházejícím kroku.

    Zkopírujte Instrumentační klíč.

Připojte svoji aplikaci k Application Insights

Poznámka

  • Při zadávání instrumentačního klíče mějte na paměti, že data lze posílat mezi klienty. Události trasování se odesílají do prostředku App Insights, který odpovídá instrumentačnímu klíči nastavenému pro vaši aplikaci, i když je cílová instance App Insights v jiném klientu než aplikace.
  • Při importu existujících souborů .msapp buďte opatrní, protože mohou být přítomny instrumentační klíče pro App Insights. Po importu ručně otevřete aplikaci a ověřte, zda se používá správný instrumentační klíč App Insights.
  1. Přihlaste se do Power Apps.

  2. V levém navigačním podokně vyberte položku Aplikace. Ze seznamu aplikací vyberte aplikaci Kudos a poté vyberte Upravit:

    Úprava aplikace Kudos.

    Poznámka

    Můžete také vytvořit novou aplikaci nebo upravit místo toho libovolnou existující aplikaci.

  3. Vyberte objekt Aplikace v zobrazení stromu navigace vlevo a vložte Instrumentační klíč:

    Vložte Instrumentační klíč.

  4. Uložte a publikujte svou aplikaci.

  5. Spusťte publikovanou aplikaci a procházejte různými obrazovkami.

Při procházení obrazovkami aplikace jsou události automaticky protokolovány do Application Insights včetně podrobností o použití, například:

  • Odkud je aplikace spouštěna.
  • Která zařízení se používají.
  • Použité typy prohlížečů.

Důležité

Chcete-li odesílat události do Application Insights, musíte publikovanou aplikaci spustit. Události nejsou zaslány do Application Insights při zobrazení náhledu aplikace v Power Apps Studio.

Zobrazit události v Application Insights

  1. Přihláste se do Azure portal a otevřete prostředek Application Insights, který jste vytvořili dříve.

  2. V levém navigačním podokně přejděte dolů a vyberte Uživatelé v sekci Používání.

    Poznámka

    Zobrazení Uživatelé obsahuje podrobnosti o používání aplikace, například:

    • Počet uživatelů, kteří si aplikaci prohlédli.
    • Počet uživatelů relací.
    • Počet zaprotokolovaných událostí.
    • Podrobnosti o operačních systémech a verzi prohlížeče uživatelů.
    • Oblast a umístění uživatelů.

    Další informace o uživatelích, relacích a analýze událostí v Application Insights.

  3. Vyberte jednu z uživatelských relací a zjistěte podrobnější informace. Můžete vidět informace, jako je délka relace a navštívené obrazovky:

    Podrobnosti o používání pro uživatele.

  4. V levém navigačním podokně vyberte Události v sekci Využití. Můžete zobrazit souhrn všech obrazovek zobrazených ve všech relacích aplikace:

    Podrobnosti o události aplikace.

Tip

K dispozici jsou další funkce Application Insights, například:

Vytvářejte vlastní události trasování

Vlastní stopy můžete psát přímo Application Insights a začít analyzovat informace specifické pro váš scénář. Funkce Trasování umožňuje shromažďovat:

  • Podrobné informace o použití ovládacích prvků na obrazovkách.
  • Kteří konkrétní uživatelé přistupují k vaší aplikaci.
  • Jaké chyby se vyskytují.

Sledování může také pomoci diagnostikovat problémy, protože můžete poslat stopu informací, protože uživatelé procházejí vaši aplikaci a provádějí různé akce. Sledování zpráv odeslaných do Application Insights má jednu ze tří závažnosti:

  • Informační
  • Upozorňující
  • Error

V závislosti na vašem scénáři můžete zvolit odeslání zprávy o trasování s odpovídající závažností. Můžete dotazovat data a provádět specifické akce na základě závažnosti.

Poznámka

Pokud protokolujete jakékoli osobní údaje, pamatujte na své závazky ohledně různých zákonů a předpisů na ochranu soukromí. Další informace najdete v částech Centrum zabezpečení společnosti Microsoft a Service Trust Portal.

Nyní ve své aplikaci vytvořte novou komponentu pro shromáždění názorů na každé obrazovce a zápis událostí do Application Insights.

  1. Přihlaste se do Power Apps.

  2. V levém navigačním podokně vyberte položku Aplikace. Ze seznamu aplikací vyberte aplikaci Kudos a poté vyberte Upravit.

    Poznámka

    Můžete také vytvořit novou aplikaci nebo upravit místo toho libovolnou existující aplikaci.

  3. Vyberte možnost Komponenty ve Stromovém pohledu:

    Součásti.

  4. Vyberte Nový komponent a poté změňte šířku na 200 a výšku na 75:

    Výška a šířka.

  5. Vyberte Vložit z nabídky a poté vyberte Ikony, chcete-li přidat Emoji - zamračil se a Emoji - Úsměv:

    Přidání ikon.

  6. Vyberte Nová vlastní vlastnost a vytvořte vlastní vlastnost:

    Vytvořit vlastní vlastnost.

  7. Zadejte název a zobrazované jméno vlastnosti jako FeedbackSceen.

  8. Zadejte Popis vlastnosti.

  9. Vyberte Typ vlastnosti Vstup a Datový typ Obrazovka:

    Vlastní vlastnost.

    Poznámka

    Vlastnost Vstup vám umožňuje zachytit jméno obrazovky a její komponentu, abyste mohli tyto informace zaprotokolovat do Application Insights.

  10. Vyberte komponentu ve Stromovém zobrazení, vyberte Více akcí () a poté vyberte Přejmenovat pro přejmenování komponenty se smysluplným názvem, například FeedbackComponent.

    Přejmenujte komponentu a ikony.

  11. Vyberte ikony, vyberte Více akcí () a poté vyberte Přejmenovat pro přejmenování ikon se srozumitelnými jmény, například FrownIcon a SmileIcon.

  12. Vyberte FrownIcon, vyberte vlastnost OnSelect a poté do řádku vzorců zadejte následující výraz:

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

    Vzorec ikony zamračení.

    Poznámka

    Výraz vzorce se odešle Uživatelské jméno, Uživatelský e-mail, Obrazovku a Zpětnou vazbu (s hodnotou -1) do Application Insights.

  13. Vyberte SmileIcon, vyberte vlastnost OnSelect a poté do řádku vzorců zadejte následující výraz:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeebackValue: "1"
           }
         );
    Notify("Thanks for your feedback!");
    
  14. Přidejte komponentu na jednu z obrazovek v aplikaci:

    Přidat komponentu zpětné vazby.

  15. Vyberte Uložit a poté vyberte Publikovat, chcete-li uložit a publikovat aplikaci.

  16. Spusťte publikovanou aplikaci a odešlete úsměv a zamračenou zpětnou vazbu ze svých obrazovek.

    Důležité

    Chcete-li odesílat události do Application Insights, musíte publikovanou aplikaci spustit. Události nejsou zaslány do Application Insights při zobrazení náhledu aplikace v Power Apps Studio.

    Spustit publikovanou aplikaci.

Analýza dat v Application Insights

Nyní můžete začít analyzovat data, která jste odeslali pomocí funkce Trasování z aplikace v Application Insights.

  1. Přihláste se do Azure portal a otevřete prostředek Application Insights, který jste vytvořili dříve:

    Vyberte Application Insights.

  2. Vyberte Protokoly v sekci Sledování v levém navigačním panelu:

    Vybrat protokoly.

  3. Zadejte následující dotaz a vyberte Spustit pro zobrazení názorů obdržených z vaší aplikace:

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

    Zobrazení zpětné vazby aplikace.

  4. Vyberte řádek ve výsledcích a rozbalte pole customDimensions.

    Hodnoty pro Obrazovka, Uživatelské jméno, Uživatelský e-mail a Hodnota zpětné vazby pro událost OnSelect byla zaznamenána ikona úsměvu nebo zamračení ve vaší komponentě. Pro každou událost zaslanou do Application Insights jsou také zaznamenány hodnoty jako appId, appName a appSessionId.

    Rozbalte vlastní dimenze.

  5. Pomocí následujícího příkladu dotazu můžete rozšířit vlastnosti vlastních dimenzí JSON a promítnout sloupce do zobrazení výsledků.

    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
    

    Rozšířit dotaz customDimensions.

    Tip

    Protokolované dotazy jsou extrémně silné. Můžete je použít k připojení více tabulek, agregaci velkého množství dat a provádění složitých operací. Další informace o protokolování dotazů.

Sledování neošetřených chyb (experimentální)

[Tato část obsahuje předběžnou dokumentaci a může se změnit.]

Důležité

  • Toto je experimentální funkce.
  • Experimentální funkce nejsou určené pro normální používání a mohou mít omezené fungování. Jsou to funkce, které jsou poskytnuté před svým oficiálním vydáním, aby si je zákazníci mohli co nejdříve vyzkoušet a mohli nám napsat své názory.

Nemůžete vždy předvídat a plánovat všechny chyby, které se mohou vyskytnout za běhu vaší aplikace. Nezpracované chyby vzorců Power Fx jsou uživatelům hlášeny jako bannerové zprávy. Lze je také vykázat do Application Insights, abyste se lépe seznámili s jejich četností a závažností, aniž byste se spoléhali, že uživatelé vaší aplikace nahlásí problémy. Můžete také zaujmout proaktivnější přístup a nastavit výstrahy v reálném čase při výskytu chyb běhu.

Povolení předávání chyb do Application Insights

Musíte povolit nastavení, které umožňuje Power Apps předávat neošetřené chyby běhu do Azure Application Insights.

Upozornění

Zapnutí tohoto nastavení může způsobit dodatečné náklady související s ukládáním protokolů Application Insights.

Chcete-li povolit předávání chyb, přejděte na nabídku Nastavení > Připravované funkce > Experimentální > Předávání chyb do Azure Application Insights a zároveň ponechte aplikaci plátna otevřenou pro úpravy. Uložte a publikujte aplikaci.

Zapnutí nastavení Předávání chyb do Azure Application Insights.

Chybové události v Application Insights

Neošetřené chyby Power Fx, se kterými se uživatelé za běhu aplikace setkali, jsou vykazovány do tabulky trasování. Neošetřené chyby lze identifikovat a odlišit od jiných chybových událostí pomocí zprávy události „Neošetřená chyba“. Dimenze „severityLevel“ těchto událostí je 3 (TraceSeverity.Error).

Podrobné chybové zprávy jsou uvedeny v dimenzi „errors“ vlastnosti customDimension. V situacích, kdy během stejné operace došlo k více chybám, jsou chyby sloučeny do dimenze „chyby“ jedné události trasování. Chybové zprávy jsou stejné, jako jsou vykázány v aplikaci Monitor během živé relace ladění.

Následující příklad dotazu identifikuje neošetřené chyby a rozbalí všechny chybové zprávy zahrnuté v události trasování:

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

Ukázkový výstup pro příklad dotazu.

Trasování korelace (experimentální)

[Tato část obsahuje předběžnou dokumentaci a může se změnit.]

Důležité

  • Toto je experimentální funkce.
  • Experimentální funkce nejsou určené pro normální používání a mohou mít omezené fungování. Jsou to funkce, které jsou poskytnuté před svým oficiálním vydáním, aby si je zákazníci mohli co nejdříve vyzkoušet a mohli nám napsat své názory.

Připojení k externím datům a službám jsou zásadním prvkem většiny aplikací. Trasování korelace generuje a šíří kontextové informace, které jsou připojeny k protokolům generovaným systémem napříč aplikací plátna a jejími připojeními a které podléhají určitým omezením. Vaše aplikace může například volat vlastní konektor, který zase volá funkci Azure nebo jinou funkci REST API. Trasování korelace vám umožňuje korelovat akce provedené v aplikaci se základními voláními rozhraní API napříč vrstvami. Může být užitečné při odstraňování problémů.

Trasování korelace aplikace plátna je implementací trasování kontextu a řídí se specifikacemi W3C.

Zapnutí trasování korelace

Upozornění

Zapnutí tohoto nastavení může způsobit dodatečné náklady související s ukládáním protokolů Application Insights.

Chcete-li povolit funkci trasování korelace, přejděte na Nastavení > Nadcházející funkce > Experimentální > Povolit trasování korelace Azure Application Insights a zároveň ponechte aplikaci plátna otevřenou pro úpravy. Uložte a publikujte aplikaci.

Zapnutí trasování korelace Azure Application Insights.

Omezení

  • Trasování korelace je dostupné pouze pro vlastní konektory. Jiné typy konektorů nejsou podporovány.
  • Požadavky HTTP jsou zachyceny v Application Insights, pouze pokud připojená služba je připojena také k Application Insights.

Používání trasování korelace

Je-li to povoleno, trasování korelace přidá do tabulky závislosti instance Application Insights aplikace plátna novou, systémem generovanou událost protokolu. Tato událost je zaznamenána v okamžiku přijetí odpovědi ze síťového volání. Události závislosti zachycují podrobnosti o síťovém volání, včetně záhlaví požadavku a odpovědi, kódu stavu odpovědi a době trvání volání.

Ukázková událost zaznamenaná v tabulce dependencies.

Pokud je připojená služba připojena také k Application Insights, v tabulce žádosti instance Application Insights služby je systémem vygenerována další událost protokolu zachycující požadavek. Některé služby Azure, jako jsou Azure Functions, lze připojit bez jakéhokoli kódování z Azure Portal. K totožné instanci Application Insights lze připojit aplikaci plátna i více aplikací a připojených služeb.

Ukázková událost zaznamenaná v tabulce requests.

Síťová volání pro podporované konektory lze spojit s jinými systémem generovanými protokoly v dimenzi „operation_Id“. Následující příklad dotazu ukazuje síťové volání, které se provádí spolu s událostmi trasování vytvořenými během relace aplikace.

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

Ukázkový výstup pro dřívější příklad dotazu.

Export dat do aplikace Power BI.

Můžete exportovat svá data Application Insights a výsledky dotazů do Power BI pro analýzu a prezentaci dat.

  1. Přihláste se do Azure portal a otevřete prostředek Application Insights, který jste vytvořili dříve:

  2. Vyberte Protokoly v sekci Sledování v levém navigačním panelu:

  3. V okně dotazu analytiky protokolů vyberte nabídku Export.

  4. Volbou Exportovat do Power BI (dotaz M) stáhněte soubor dotazu Power BI:

    Export dotazu Power BI.

  5. Otevřete stažený soubor v textovém editoru a zkopírujte dotaz do schránky.

  6. Otevře záznam typu Power BI.

  7. Vyberte nabídku Získat data v pásu karet Domů a poté vyberte Prázdný dotaz:

    Prázdný dotaz Power BI.

  8. V okně dotazu vyberte Rozšířený editor. Vložte dotaz do okna, vyberte Hotovo a poté vyberte Zavřít a použít:

    Rozšířený dotaz Power BI.

Grafy a vizualizace můžete také vytvářet v aplikaci Power BI a představovat tak zpětnou vazbu obdrženou ve vaší aplikaci a také přijímat rozhodnutí a akce založené na datech.

Grafy a vizualizace.

Výchozí kontext a dimenze události trasování

K výchozímu souboru je také přidána sada výchozích rozměrů do vlastnosti customDimensions v každé události trasování. Tyto dimenze lze použít k identifikaci aplikace a relací aplikace, ve kterých se události vyskytly. Pokud protokolujete další vlastní data pomocí funkce trasování, zobrazí se také ve vlastních dimenzích.

Název dimenze Reprezentuje
ms-appId ID aplikace, která odeslala událost.
ms-appname Název aplikace, která odeslala událost.
ms-appSessionId ID relace aplikace. Za některých okolností nemusí být tato hodnota naplněna. Pokud je tato hodnota k dispozici, přepíše standardní dimenzi sessionID Application Insights.
ms-tenantID Jedinečný identifikátor klienta, kde je aplikace publikována.
ms-environmentId Název prostředí, kde je aplikace publikována.
userId Jedinečný identifikátor uživatele přidruženého k relaci.
ms-duration Přičtená hodnota měřící dobu, kterou uživatel potřebuje k přechodu z jedné obrazovky na druhou. Tato hodnota přepíše standardní dimenzi doby trvání PageView pro Application Insights.
sessionId ID relace, které lze použít ke korelaci všech událostí přidružených k jedné relaci aplikace. Tato hodnota je vždy dostupná a je doporučena pro znalost počtu jedinečných relací. Tato hodnota je převzata z ID relace přehrávače a zobrazuje se při prohlížení podrobností relace během přehrávání aplikace. ID relace může někdy získat výchozí, náhodnou a jedinečnou generovanou hodnotu Application Insights. Tato výchozí hodnota není spolehlivá a nekoreluje s žádnými parametry konkrétní aplikace.
Duration Přičtená hodnota měřící dobu, kterou uživatel potřebuje k přechodu z jedné obrazovky na druhou. Tato hodnota je stejná jako doba trvání uváděná dimenzí ms-duration.
ms-isTest Označuje, zda je relace přidružena ke spouštěči testů Test Studio.
ms-currentScreenName Název stránky, ze které přechází uživatel (k dispozici pro události navigace na stránce).
ms-targetScreenName Název stránky, na kterou přechází uživatel (k dispozici pro události navigace na stránce).

Nepodporované scénáře

Application Insights nepodporuje následující scénáře.

  • Události offline přehrávače nejsou zachyceny.
  • Události mobilní aplikace (iOS i Android) se při pozastavení aplikace nezachycují.
  • GCC a neveřejné cloudy nejsou podporovány.

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).