Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Application Insights shromažďuje telemetrii z vaší aplikace, aby pomohla diagnostikovat selhání a prošetřovat pomalé transakce. Obsahuje čtyři základní nástroje:
Zobrazení chyb – Sleduje chyby, výjimky a chyby a nabízí jasné přehledy pro rychlé řešení problémů a vylepšenou stabilitu.
Zobrazení výkonu – Rychle identifikuje a pomáhá vyřešit kritické body aplikace zobrazením doby odezvy a počtu operací.
Zobrazení hledání – Umožňuje uživatelům vyhledávat a zkoumat jednotlivé položky telemetrie, jako jsou zobrazení stránek, výjimky a vlastní události.
Diagnostika transakcí – Pomáhá rychle identifikovat problémy v komponentách prostřednictvím komplexního přehledu o komplexních podrobnostech o transakcích.
Tyto nástroje společně zajišťují průběžný stav a efektivitu webových aplikací. Můžete je použít k určení problémů nebo vylepšení, které by měly největší dopad na uživatele.
Pokud se chcete dostat do zobrazení Selhání v Application Insights, vyberte graf Neúspěšné žádosti v podokně Přehled nebo Selhání v kategorii Prošetření v nabídce prostředků.
K zobrazení selhání se můžete dostat také z mapy aplikace tak, že vyberete prostředek a pak v části prošetříte selhání .
Poznámka:
Diagnostiku transakce můžete získat prostřednictvím některého z dalších tří prostředí. Další informace najdete v tématu Zkoumání telemetrie.
Přehled
Zobrazení Selhání zobrazuje seznam všech neúspěšných operací shromážděných pro vaši aplikaci s možností přejít k podrobnostem jednotlivých operací. Umožňuje zobrazit jejich četnost a počet ovlivněných uživatelů, abyste se mohli zaměřit na problémy s nejvyšším dopadem.
Poznámka:
Kromě vestavěné telemetrie posílané distribucí Azure Monitor OpenTelemetry nebo JavaScript SDK můžete přidávat a upravovat telemetrii (například vlastní události).
Další informace najdete v tématu Přidat a upravit Azure Monitor OpenTelemetry pro .NET, Javu, Node.jsa aplikace Pythonu.
Filtrování telemetrie
Výchozí filtry
Všechna prostředí umožňují filtrovat telemetrii podle časového rozsahu. Každé prostředí má navíc vlastní výchozí filtr:
Z nabídky filtru rolí můžete vybrat, která služba (název cloudové role) nebo počítač nebo kontejner (instance cloudové role) se má zobrazit. Tato akce umožňuje izolovat problémy nebo trendy výkonu v konkrétních částech aplikace.
Informace o tom, jak nastavit Cloud Role Name a Cloud Role Instance, najdete v tématu Konfigurace Azure Monitor OpenTelemetry.
Přidat filtry
Události můžete filtrovat podle hodnot jejich vlastností. Dostupné vlastnosti závisí na vybraných typech událostí nebo telemetrie. Přidání filtru:
Výběrem
přidáte filtr.
V levém rozevíracím seznamu vyberte vlastnost.
V rozevíracím seznamu center vyberte jeden z následujících operátorů:
=,!=,contains, nebonot contains.V pravém rozevíracím seznamu vyberte všechny hodnoty vlastností, podle které chcete filtrovat.
Poznámka:
Všimněte si, že počty napravo od hodnot filtru ukazují, kolik výskytů existuje v aktuální filtrované sadě.
Pokud chcete přidat další filtr, znovu vyberte
.
Telemetrie vyhledávání
Konkrétní operace můžete vyhledat pomocí vyhledávacího pole pro filtrování položek... nad seznamem operací.
Použití analytických dat
Všechna data shromážděná službou Application Insights se ukládají v Log Analytics. Poskytuje bohatý dotazovací jazyk pro analýzu požadavků, které vygenerovaly výjimku, kterou prošetřujete.
Návod
Jednoduchý režim v Log Analytics nabízí intuitivní rozhraní typu point-and-click pro analýzu a vizualizaci dat protokolu.
V zobrazení výkonu, selhání nebo hledání vyberte Možnost Zobrazit v protokolech v horním navigačním panelu a v rozevírací nabídce vyberte dotaz.
Tato akce vás provede zobrazením Protokolů , kde můžete dotaz dále upravit nebo vybrat jiný z bočního panelu.
Zkoumání telemetrie
Pokud chcete prozkoumat původní příčinu chyby nebo výjimky, můžete přejít k podrobnému zobrazení podrobností o komplexní transakci, které obsahuje závislosti a podrobnosti o výjimce.
Výběrem operace zobrazíte Top 3 kódy odpovědí, Top 3 typy výjimek a Top 3 selhání závislostí pro danou operaci.
V části Přejít k podrobnostem vyberte tlačítko s počtem filtrovaných výsledků a zobrazte seznam ukázkových operací.
Výběrem ukázkové operace otevřete zobrazení podrobností o celé transakci .
Poznámka:
Navrhované vzorové vzorky obsahují související telemetrii ze všech komponentů, i když je v některé z nich vzorkování.
Návod
Pokud potřebujete zásobník volání pro selhání, otevřete související výjimku v podrobnostech koncové transakce nebo na kartě Výjimky. Trasování zásobníku se zobrazí jen v případě, že byla pro danou operaci zachycena telemetrie výjimek.
Analýza výkonu a selhání na straně klienta
Pokud instrumentujete webové stránky pomocí Application Insights, můžete získat přehled o zobrazeních stránek, operacích prohlížeče a závislostech. Shromažďování těchto dat prohlížeče vyžaduje přidání skriptu na webové stránky.
Po přidání skriptu můžete access zobrazení stránek a související metriky výkonu tak, že vyberete přepínač Browser v zobrazení Performance nebo Failures.
Toto zobrazení poskytuje vizuální souhrn různých telemetrických dat vaší aplikace z pohledu prohlížeče.
Návod
V jednostránkových aplikacích (SPA) zapněte
enableAutoRouteTrackingpro změny cest, aby každá logická stránka vytvářela vlastní zobrazení a operaci. V opačném případě může být několik změn tras korelováno s jednou operací a některé doby zobrazení stránky se mohou zobrazit jako0.V případě operací prohlížeče se v zobrazení podrobností o celé transakci zobrazí vlastnosti zobrazení stránky klienta žádajícího o stránku, včetně typu prohlížeče a jeho umístění. Tyto informace vám můžou pomoct určit, jestli existují problémy s výkonem související s konkrétními typy klientů.
Poznámka:
Stejně jako data shromážděná pro výkon serveru zpřístupňuje Application Insights všechna klientská data pro hloubkovou analýzu pomocí protokolů.
Zkušenost s diagnostikou transakcí
Prostředí diagnostiky transakcí , označované také jako zobrazení podrobností o transakcích typu End-to-end , zobrazuje Ganttův diagram transakce, který uvádí všechny události s jejich dobou trvání a kódem odpovědi.
Toto prostředí diagnostiky automaticky koreluje telemetrii na straně serveru ze všech monitorovaných komponent Application Insights do jednoho zobrazení a podporuje více prostředků. Application Insights detekuje základní relaci a umožňuje snadno diagnostikovat komponentu aplikace, závislost nebo výjimku, která způsobila zpomalení nebo selhání transakce.
Když vyberete konkrétní událost, zobrazí se její vlastnosti, včetně dalších informací, jako je podkladový příkaz nebo zásobník volání.
Toto zobrazení má čtyři klíčové části:
V tomto sbalitelném podokně se zobrazí další výsledky, které splňují kritéria filtru. Výběrem libovolného výsledku aktualizujte příslušné podrobnosti předchozích tří částí. Snažíme se najít vzorky, které mají s největší pravděpodobností k dispozici podrobnosti ze všech komponent, i když se vzorkování projeví v některé z nich. Tyto ukázky se zobrazují jako návrhy.
Poznámka:
Prostředí pro diagnostiku transakcí teď nabízí jednoduché zobrazení, které zobrazuje kroky agenta příběhovým způsobem. Další informace najdete v tématu Monitorování agentů AI pomocí Application Insights.
Poznámky k vydání
Poznámky k verzi označují nasazení a další významné události v grafech Application Insights, což umožňuje korelaci změn s výkonem, selháními a využitím.
Automatické poznámky s Azure Pipelines
Azure Pipelines vytvoří během nasazování poznámku k verzi, pokud jsou splněny všechny následující podmínky:
- Cílový prostředek odkazuje na Application Insights prostřednictvím nastavení aplikace
APPLICATIONINSIGHTS_CONNECTION_STRING. - Prostředek Application Insights je ve stejném předplatném jako cílový prostředek.
- Nasazení používá jednu z následujících Azure Pipelines úloh:
| Kód úkolu | Název úkolu | Versions |
|---|---|---|
| AzureAppServiceSettings | Nastavení Azure App Service | Jakýkoliv |
| AzureRmWebAppDeployment | Azure App Service | V3+ |
| AzureFunctionApp | Azure Functions | Jakýkoliv |
| AzureFunctionAppContainer | Azure Functions pro kontejner | Jakýkoliv |
| AzureWebAppContainer | Platforma pro kontejnery Azure Web App | Jakýkoliv |
| AzureWebApp | Webová aplikace Azure | Jakýkoliv |
Poznámka:
Pokud stále používáte starší úlohu nasazení poznámek Application Insights, odstraňte ji.
Konfigurace poznámek v kanálu pomocí vloženého skriptu
Pokud úlohy v předchozí části nepoužíváte, přidejte do fáze nasazení vložený skript.
Otevřete existující kanál nebo vytvořte nový a vyberte úlohu v části Fáze.
Přidejte novou úlohu Azure CLI.
Vyberte Azure předplatné. Nastavte typ skriptu na PowerShell a nastavte umístění skriptu na vložené.
Přidejte skript PowerShellu z kroku 2 v Vytvoření poznámek k verzi pomocí Azure CLI do Inline Script.
Přidejte argumenty skriptu. Nahraďte zástupné symboly v úhlových závorkách.
-aiResourceId "<aiResourceId>" ` -releaseName "<releaseName>" ` -releaseProperties @{"ReleaseDescription"="<a description>"; "TriggerBy"="<Your name>" }Následující příklad ukazuje metadata, která můžete nastavit v volitelném
releasePropertiesargumentu pomocí proměnných sestavení a vydané verze. Vyberte Uložit.-releaseProperties @{ "BuildNumber"="$(Build.BuildNumber)"; "BuildRepositoryName"="$(Build.Repository.Name)"; "BuildRepositoryProvider"="$(Build.Repository.Provider)"; "ReleaseDefinitionName"="$(Build.DefinitionName)"; "ReleaseDescription"="Triggered by $(Build.DefinitionName) $(Build.BuildNumber)"; "ReleaseEnvironmentName"="$(Release.EnvironmentName)"; "ReleaseId"="$(Release.ReleaseId)"; "ReleaseName"="$(Release.ReleaseName)"; "ReleaseRequestedFor"="$(Release.RequestedFor)"; "ReleaseWebUrl"="$(Release.ReleaseWebUrl)"; "SourceBranch"="$(Build.SourceBranch)"; "TeamFoundationCollectionUri"="$(System.TeamFoundationCollectionUri)" }
Vytváření poznámek k verzi pomocí Azure CLI
Pomocí následujícího skriptu PowerShellu vytvořte poznámku k verzi z libovolného procesu bez Azure DevOps.
Přihlaste se k Azure CLI.
Uložte následující skript jako
CreateReleaseAnnotation.ps1.param( [parameter(Mandatory = $true)][string]$aiResourceId, [parameter(Mandatory = $true)][string]$releaseName, [parameter(Mandatory = $false)]$releaseProperties = @() ) # Function to ensure all Unicode characters in a JSON string are properly escaped function Convert-UnicodeToEscapeHex { param ( [parameter(Mandatory = $true)][string]$JsonString ) $JsonObject = ConvertFrom-Json -InputObject $JsonString foreach ($property in $JsonObject.PSObject.Properties) { $name = $property.Name $value = $property.Value if ($value -is [string]) { $value = [regex]::Unescape($value) $OutputString = "" foreach ($char in $value.ToCharArray()) { $dec = [int]$char if ($dec -gt 127) { $hex = [convert]::ToString($dec, 16) $hex = $hex.PadLeft(4, '0') $OutputString += "\u$hex" } else { $OutputString += $char } } $JsonObject.$name = $OutputString } } return ConvertTo-Json -InputObject $JsonObject -Compress } $annotation = @{ Id = [GUID]::NewGuid(); AnnotationName = $releaseName; EventTime = (Get-Date).ToUniversalTime().GetDateTimeFormats("s")[0]; Category = "Deployment"; #Application Insights only displays annotations from the "Deployment" Category Properties = ConvertTo-Json $releaseProperties -Compress } $annotation = ConvertTo-Json $annotation -Compress $annotation = Convert-UnicodeToEscapeHex -JsonString $annotation $accessToken = (az account get-access-token | ConvertFrom-Json).accessToken $headers = @{ "Authorization" = "Bearer $accessToken" "Accept" = "application/json" "Content-Type" = "application/json" } $params = @{ Headers = $headers Method = "Put" Uri = "https://management.azure.com$($aiResourceId)/Annotations?api-version=2015-05-01" Body = $annotation } Invoke-RestMethod @params
Poznámka:
Nastavte Category jako Deployment, jinak se anotace neobjeví v portálu Azure.
Zavolejte skript a předejte hodnoty parametrů. Parametr -releaseProperties je volitelný.
.\CreateReleaseAnnotation.ps1 `
-aiResourceId "<aiResourceId>" `
-releaseName "<releaseName>" `
-releaseProperties @{"ReleaseDescription"="<a description>";
"TriggerBy"="<Your name>" }
| Argument | Definition | Poznámka: |
|---|---|---|
aiResourceId |
ID cílového prostředku Application Insights | Příklad: /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyRGName/providers/microsoft.insights/components/MyResourceName |
releaseName |
Název nové poznámky k verzi | |
releaseProperties |
Vlastní metadata pro připojení k poznámce | Volitelný |
Zobrazení poznámek
Poznámka:
Poznámky k verzi nejsou dostupné v podokně Metriky .
Application Insights zobrazuje poznámky k verzi v následujících prostředích:
- Výkon a selhání
- Použití
- Sešity (pro jakoukoli vizualizaci časových řad)
Poznámky se vizualizují jako značky v horní části grafů.
Pokud chcete povolit poznámky v sešitu, otevřete Upřesnit nastavení a pak vyberte Zobrazit poznámky. Výběrem libovolné značky anotace otevřete podrobnosti o verzi, jako je žadatel, větev správy zdrojového kódu, nasazovací kanál a prostředí.
Nejčastější dotazy
Tato část obsahuje odpovědi na běžné otázky.
Zobrazení hledání
Co je komponenta?
Komponenty jsou nezávisle nasaditelné části distribuované aplikace nebo aplikace mikroslužeb. Vývojáři a provozní týmy mají přístup na úrovni kódu nebo k telemetrii generované těmito komponenty aplikací.
- Komponenty se liší od "sledovaných" externích závislostí, jako jsou SQL a event huby, ke kterým váš tým nebo organizace nemusí mít přístup (kód nebo telemetrie).
- Komponenty běží na libovolném počtu serverů, rolí nebo container instances.
- Komponenty můžou být samostatné připojovací řetězce Application Insights, i když se předplatná liší. Komponenty mohou také zaujímat různé role, které se hlásí k jednomu připojovacímu řetězci Application Insights. Nové prostředí zobrazuje podrobnosti napříč všemi komponentami bez ohledu na to, jak byly nastaveny.
Kolik dat se uchovává?
Podívejte se na souhrn limitů.
Jak na serverových požadavcích vidím data POST?
POST data nezaznamenáváme automaticky. Protokolování aplikace pečlivě používejte, pokud potřebujete zachytit podrobnosti textu požadavku a vyhnout se shromažďování citlivých dat.
Proč se moje vyhledávání funkce Azure nevrací žádné výsledky?
Azure Functions nezaznamenává řetězce dotazu adresy URL.
Diagnostika transakcí
Proč se v grafu zobrazuje jedna komponenta a ostatní komponenty se zobrazují jenom jako externí závislosti bez jakýchkoli podrobností?
Možné důvody:
- Jsou ostatní komponenty instrumentované pomocí Application Insights?
- Používají nejnovější stabilní sadu Application Insights SDK?
- Pokud jsou tyto komponenty samostatné prostředky Application Insights, ověřte, že máte access. Pokud máte přístup a komponenty jsou instrumentované s nejnovějšími sadami nástrojů pro vývoj softwaru Application Insights (SDK), dejte nám vědět prostřednictvím kanálu zpětné vazby v pravém horním rohu.
Zobrazují se duplicitní řádky pro závislosti. Je toto chování očekávané?
V současné době zobrazujeme odchozí volání závislostí odděleně od příchozího požadavku. Tato dvě volání jsou obvykle stejná, s výjimkou hodnoty doby trvání, která se liší kvůli odezvě sítě. Úvodní ikona a odlišné styly pruhů doby trvání pomáhají rozlišovat mezi nimi. Je tato prezentace dat matoucí? Pošlete nám svůj názor!
A co časové nepřesnosti hodin mezi různými instancemi komponent?
Časové osy jsou upraveny pro nerovnoměrné distribuce hodin v transakčním grafu. Přesné časové razítko můžete zobrazit v podokně podrobností nebo pomocí Log Analytics.
Proč v novém prostředí chybí většina dotazů souvisejících položek?
Toto chování je záměrné. Všechny související položky napříč všemi komponentami jsou již k dispozici na levé straně v horních a dolních částech. Nové prostředí obsahuje dvě související položky, které levá strana nepokrývá: veškerá telemetrie z pěti minut před a po této události a časové ose uživatele.
Existuje způsob, jak zobrazit méně událostí na transakci při použití sady Application Insights JavaScript SDK?
Prostředí diagnostiky transakcí zobrazuje veškerou telemetrii v jedné operaci , která sdílí ID operace. Sada Application Insights SDK pro JavaScript ve výchozím nastavení vytvoří novou operaci pro každé jedinečné zobrazení stránky. V jednostránkové aplikaci (SPA) se vytvoří pouze jedna událost zobrazení stránky a pro generovanou veškerou telemetrii se použije jedno ID operace. V důsledku toho může být mnoho událostí korelováno se stejnou operací.
V těchto scénářích můžete pomocí automatického sledování tras automaticky vytvářet nové operace pro navigaci v spa. Musíte zapnout enableAutoRouteTracking , aby systém vytvořil zobrazení stránky pokaždé, když je trasa url aktualizována (dojde k logickému zobrazení stránky). Pokud chcete ID operace aktualizovat ručně, zavolejte appInsights.properties.context.telemetryTrace.traceID = Microsoft.ApplicationInsights.Telemetry.Util.generateW3CId(). Ruční aktivace události PageView také resetuje ID operace.
Proč se doba trvání podrobností transakcí nepřidá do doby trvání nejvyšší žádosti?
Čas, který není v Ganttově diagramu vysvětlený, je čas, který není pokryt sledovaným závislostem. K tomuto problému může dojít, protože externí volání nebyla instrumentována automaticky nebo ručně. Může k tomu dojít také proto, že doba potřebná ke zpracování nebyla způsobená externím voláním.
Pokud byla všechna volání instrumentována, pravděpodobnou hlavní příčinou stráveného času je proces. Užitečným nástrojem pro diagnostiku procesu je .NET Profiler.
Co dělat, když se při procházení Application Insights v portálu Azure zobrazí zpráva "Chyba při načítání dat"?
Tato chyba znamená, že prohlížeč nemohl volat požadované rozhraní API nebo že rozhraní API vrátilo odpověď o selhání. Pokud chcete vyřešit potíže s chováním, otevřete okno InPrivate prohlížeče a zakažte všechna spuštěná rozšíření prohlížeče a zjistěte, jestli můžete chování portálu reprodukovat. Pokud k chybě portálu stále dochází, zkuste otestovat jiné prohlížeče nebo jiné počítače, prozkoumejte problémy se systémem DNS (Domain Name System) nebo jinými problémy souvisejícími se sítí z klientského počítače, kde selhávají volání rozhraní API. Pokud chyba portálu přetrvává, nasbírejte trasování sítě prohlížeče při reprodukci neočekávaného chování. Potom otevřete případ podpory z Azure portal.
Další kroky
- Přečtěte si další informace o použití mapy aplikací ke sledování kritických bodů výkonu a hotspotů selhání ve všech komponentách vaší aplikace.
- Přečtěte si další informace o použití zobrazení Dostupnosti ke konfiguraci pravidelných testů sledování dostupnosti a odezvy vaší aplikace.
- Naučte se používat Log Analytics a psát složité dotazy k získání hlubších přehledů z vašich telemetrických dat.
- Zjistěte, jak odesílat vlastní telemetrická data do Application Insights pro komplexnější monitorování.
- Úvod do monitorování doby provozu a odezvy najdete v přehledu dostupnosti.