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
- Musíte mít přístup k Azure portal.
- Musíte mít oprávnění vytvářet zdroje Azure.
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é
- Stáhněte a nainstalujte aplikaci Kudos z úvodní sady Možnosti zaměstnanců. Místo toho můžete také použít existující aplikaci.
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í.
Přihlaste se k portálu Azure.
Vyhledejte hodnotu Application Insights:
Vytvořte prostředek Application Insights:
Zadejte příslušné hodnoty a vyberte Recenze + vytvoření.
Pro více informací si přečtěte Vytvořte zdroj Application Insights.
Po vytvoření instance Application Insights zkopírujte Instrumentační klíč v přehledu instance pro použití v nadcházejícím kroku.
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.
Přihlaste se do Power Apps.
V levém navigačním podokně vyberte položku Aplikace. Ze seznamu aplikací vyberte aplikaci Kudos a poté vyberte Upravit:
Vyberte objekt Aplikace v zobrazení stromu navigace vlevo a vložte Instrumentační klíč:
Uložte a publikujte svou aplikaci.
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
Přihláste se do Azure portal a otevřete prostředek Application Insights, který jste vytvořili dříve.
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.
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:
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:
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.
Přihlaste se do Power Apps.
V levém navigačním podokně vyberte položku Aplikace. Ze seznamu aplikací vyberte aplikaci Kudos a poté vyberte Upravit.
Vyberte možnost Komponenty ve Stromovém pohledu:
Vyberte Nový komponent a poté změňte šířku na 200 a výšku na 75:
Vyberte Vložit z nabídky a poté vyberte Ikony, chcete-li přidat Emoji - zamračil se a Emoji - Úsměv:
Vyberte Nová vlastní vlastnost a vytvořte vlastní vlastnost:
Zadejte název a zobrazované jméno vlastnosti jako FeedbackSceen.
Zadejte Popis vlastnosti.
Vyberte Typ vlastnosti Vstup a Datový typ Obrazovka:
Poznámka
Vlastnost Vstup vám umožňuje zachytit jméno obrazovky a její komponentu, abyste mohli tyto informace zaprotokolovat do Application Insights.
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.
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.
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!");
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.
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!");
Přidejte komponentu na jednu z obrazovek v aplikaci:
Vyberte Uložit a poté vyberte Publikovat, chcete-li uložit a publikovat aplikaci.
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.
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.
Přihláste se do Azure portal a otevřete prostředek Application Insights, který jste vytvořili dříve:
Vyberte Protokoly v sekci Sledování v levém navigačním panelu:
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
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.
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
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.
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
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.
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í.
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.
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
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.
Přihláste se do Azure portal a otevřete prostředek Application Insights, který jste vytvořili dříve:
Vyberte Protokoly v sekci Sledování v levém navigačním panelu:
V okně dotazu analytiky protokolů vyberte nabídku Export.
Volbou Exportovat do Power BI (dotaz M) stáhněte soubor dotazu Power BI:
Otevřete stažený soubor v textovém editoru a zkopírujte dotaz do schránky.
Otevře záznam typu Power BI.
Vyberte nabídku Získat data v pásu karet Domů a poté vyberte Prázdný dotaz:
V okně dotazu vyberte Rozšířený editor. Vložte dotaz do okna, vyberte Hotovo a poté vyberte Zavřít a použít:
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.
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ů).