Vyhledávání transakcí je funkce Application Insights , kterou používáte k vyhledání a prozkoumání jednotlivých položek telemetrie, jako jsou zobrazení stránek, výjimky nebo webové požadavky. Můžete také zobrazit trasování protokolů a události, které kódujete.
Pro složitější dotazy nad vašimi daty použijte Log Analytics.
Kde se zobrazuje hledání?
Hledání najdete na webu Azure Portal nebo v sadě Visual Studio.
Na webu Azure Portal
Vyhledávání transakcí můžete otevřít na kartě Přehled Application Insights vaší aplikace. Můžete také vybrat možnost Hledat v části Prošetření v nabídce vlevo.
Přejděte do rozevírací nabídky Typy událostí a zobrazte seznam položek telemetrie, jako jsou požadavky serveru, zobrazení stránek a vlastní události, které jste naprogramovali. V horní části seznamu výsledků je souhrnný graf zobrazující počty událostí v průběhu času.
Vraťte se z rozevírací nabídky nebo vyberte Aktualizovat a získejte nové události.
V nástroji Visual Studio
V sadě Visual Studio je k dispozici také okno hledání Application Insights. Nejužitečnější je zobrazení telemetrických událostí vygenerovaných aplikací, kterou ladíte. Může ale také zobrazit události shromážděné z publikované aplikace na webu Azure Portal.
Otevřete okno hledání Application Insights v sadě Visual Studio:
Okno Vyhledávání Application Insights obsahuje funkce podobné webovému portálu:
Karta Sledovat operaci je dostupná při otevření požadavku nebo zobrazení stránky. Operace je posloupnost událostí přidružených k jednomu požadavku nebo zobrazení stránky. Můžou být například volání závislostí, výjimky, protokoly trasování a vlastní události součástí jedné operace. Karta Sledovat operaci zobrazuje graficky časování a dobu trvání těchto událostí ve vztahu k požadavku nebo zobrazení stránky.
Kontrola jednotlivých položek
Výběrem libovolné položky telemetrie zobrazíte klíčová pole a související položky.
Otevře se zobrazení podrobností o celé transakci.
Filtrování typů událostí
Otevřete rozevírací nabídku Typy událostí a zvolte typy událostí, které chcete zobrazit. Pokud chcete filtry obnovit později, vyberte Obnovit.
Typy událostí:
- Trasování: Diagnostické protokoly , včetně volání TrackTrace, log4Net, NLog a System.Diagnostic.Trace.
- Požadavek: Požadavky HTTP přijaté serverovými aplikacemi, včetně stránek, skriptů, obrázků, souborů stylů a dat. Tyto události se používají k vytvoření grafů přehledu požadavků a odpovědí.
- Zobrazení stránky: Telemetrie odeslaná webovým klientem , která slouží k vytváření sestav zobrazení stránky.
- Vlastní událost: Pokud jste vložili volání pro
TrackEvent()
monitorování využití, můžete je tady vyhledat.
- Výjimka: Nezachycené výjimky na serveru a výjimky, které protokolujete pomocí
TrackException()
.
- Závislost: Volání ze serverové aplikace do jiných služeb, jako jsou rozhraní REST API nebo databáze, a volání AJAX z vašeho klientského kódu.
- Dostupnost: Výsledky testů dostupnosti
Filtrování hodnot vlastností
Události můžete filtrovat podle hodnot jejich vlastností. Dostupné vlastnosti závisí na vybraných typech událostí. Vyberte Filtr, který chcete spustit.
Volba žádné hodnoty konkrétní vlastnosti nemá stejný účinek jako výběr všech hodnot. Vypne filtrování této vlastnosti.
Všimněte si, že počty napravo od hodnot filtru ukazují, kolik výskytů existuje v aktuální filtrované sadě.
Vyhledání událostí se stejnou vlastností
Pokud chcete najít všechny položky se stejnou hodnotou vlastnosti, zadejte je do vyhledávacího pole nebo zaškrtněte políčko při procházení vlastností na kartě Filtr .
Hledání dat
Poznámka:
Pokud chcete psát složitější dotazy, otevřete protokoly (Analytics) v horní části podokna Hledání .
Výrazy můžete vyhledat v libovolné z hodnot vlastností. Tato funkce je užitečná, pokud píšete vlastní události s hodnotami vlastností.
Možná budete chtít nastavit časový rozsah, protože hledání v kratším rozsahu je rychlejší.
Vyhledejte úplná slova, ne podřetěžce. K uzavření speciálních znaků použijte uvozovky.
String |
Nenalezena |
Založit |
HomeController.About |
home
controller
out |
homecontroller
about
"homecontroller.about" |
USA |
Uni
ted |
united
states
united AND states
"united states" |
Můžete použít následující vyhledávací výrazy:
Ukázkový dotaz |
Účinnost |
apple |
Vyhledá všechny události v časovém rozsahu, jejichž pole obsahují slovo apple . |
apple AND banana
apple banana |
Vyhledejte události, které obsahují obě slova. Použít kapitál AND , ne and . Krátká forma. |
apple OR banana |
Vyhledá události, které obsahují některé slovo. Použít OR , ne or . |
apple NOT banana |
Vyhledá události, které obsahují jedno slovo, ale ne druhé. |
Vzorkování
Pokud vaše aplikace generuje významnou telemetrii a používá ASP.NET SDK verze 2.0.0-beta3 nebo novější, automaticky sníží svazek odeslaný na portál prostřednictvím adaptivního vzorkování. Tento modul odesílá pouze reprezentativní zlomek událostí. Vybere nebo zruší výběr událostí souvisejících se stejným požadavkem jako skupina, takže můžete přecházet mezi souvisejícími událostmi.
Přečtěte si o vzorkování.
Vytvořit pracovní položku
V GitHubu nebo Azure DevOps můžete vytvořit chybu s podrobnostmi z jakékoli položky telemetrie.
Výběrem libovolné položky telemetrie přejděte do zobrazení podrobností o komplexní transakci. Pak vyberte Vytvořit pracovní položku.
Při prvním dokončení tohoto kroku se zobrazí výzva ke konfiguraci odkazu na organizaci a projekt Azure DevOps. Můžete také nakonfigurovat odkaz na kartě Pracovní položky .
Odeslání další telemetrie do Application Insights
Kromě předem zadané telemetrie odesílané sadou Application Insights SDK můžete:
Zachyťte trasování protokolů z oblíbeného rozhraní protokolování v .NET nebo Javě. To znamená, že můžete prohledávat trasování protokolu a korelovat je se zobrazeními stránek, výjimkami a dalšími událostmi.
Napište kód pro odesílání vlastních událostí, zobrazení stránek a výjimek.
Zjistěte, jak odesílat protokoly a vlastní telemetrii do Application Insights.
Nejčastější dotazy
Najděte odpovědi na běžné dotazy.
Kolik dat se uchovává?
Podívejte se na souhrn limitů.
Jak na serverových požadavcích vidím data POST?
Data POST nezapíšeme automaticky, ale můžete použít volání TrackTrace nebo protokolu. Vložte data POST do parametru zprávy. Zprávu nemůžete filtrovat stejným způsobem, jako můžete filtrovat vlastnosti, ale limit velikosti je delší.
Proč moje funkce Azure Functions nevrací žádné výsledky?
Azure Functions neprotokoluje řetězce dotazu adresy URL.
Jednotné prostředí diagnostiky automaticky koreluje telemetrii na straně serveru ze všech monitorovaných komponent Application Insights do jediného zobrazení. Nezáleží na tom, jestli máte 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.
Co je součást?
Komponenty jsou nezávisle nasaditelné části distribuované aplikace nebo aplikace mikroslužeb. Vývojáři a provozní týmy mají viditelnost na úrovni kódu nebo přístup k telemetrii generovaným těmito komponentami aplikace.
- Komponenty se liší od "pozorovaných" externích závislostí, jako jsou SQL a centra událostí, ke kterým váš tým nebo organizace nemusí mít přístup (kód nebo telemetrie).
- Komponenty běží na libovolném počtu instancí serveru, role nebo kontejneru.
- Komponenty můžou být samostatné instrumentační klíče Application Insights, i když se liší předplatná. Komponenty můžou být také různé role, které hlásí jeden instrumentační klíč Application Insights. Nové prostředí zobrazuje podrobnosti napříč všemi komponentami bez ohledu na to, jak byly nastaveny.
Poznámka:
Chybí vám odkazy na související položky? Veškerá související telemetrie je na levé straně v horních a dolních částech.
Prostředí pro diagnostiku transakcí
Toto zobrazení má čtyři klíčové části:
- seznam výsledků
- graf transakcí mezi komponentními komponentními grafy
- seznam časových sekvencí všech telemetrických dat souvisejících s touto operací
- podokno podrobností pro libovolnou vybranou položku telemetrie
Graf transakcí mezi komponentními komponentními grafy
Tento graf poskytuje časovou osu s vodorovnými pruhy během požadavků a závislostí napříč komponentami. Všechny shromážděné výjimky se také označí na časové ose.
- Horní řádek v tomto grafu představuje vstupní bod. Jedná se o příchozí požadavek na první komponentu volanou v této transakci. Doba trvání je celková doba potřebná k dokončení transakce.
- Všechna volání externích závislostí jsou jednoduché nekompilovatelné řádky s ikonami, které představují typ závislosti.
- Volání jiných komponent jsou sbalitelné řádky. Každý řádek odpovídá konkrétní operaci vyvolanou v komponentě.
- Ve výchozím nastavení se na straně zobrazí vybraný požadavek, závislost nebo výjimka. Výběrem libovolného řádku zobrazíte jeho podrobnosti.
Poznámka:
Volání dalších součástí mají dva řádky. Jeden řádek představuje odchozí volání (závislost) ze komponenty volajícího. Druhý řádek odpovídá příchozímu požadavku na volanou komponentu. Úvodní ikona a odlišné styly pruhů doby trvání pomáhají rozlišovat mezi nimi.
Veškerá telemetrie s tímto ID operace
Tato část zobrazuje ploché zobrazení seznamu v časovém pořadí všech telemetrických dat souvisejících s touto transakcí. Zobrazuje také vlastní události a trasování, které se nezobrazují v transakčním grafu. Tento seznam můžete filtrovat na telemetrii vygenerovanou konkrétní komponentou nebo voláním. Pokud chcete zobrazit odpovídající podrobnosti na straně, můžete vybrat libovolnou položku telemetrie v tomto seznamu.
Podrobnosti o vybrané telemetrii
Toto sbalitelné podokno zobrazuje podrobnosti o všech vybraných položkách z transakčního grafu nebo seznamu. Zobrazí všechny seznamy všech standardních atributů, které jsou shromažďovány. Všechny vlastní atributy jsou uvedeny samostatně ve standardní sadě. Výběrem tlačítka se třemi tečkou (...) v okně trasování zásobníku volání získáte možnost trasování zkopírovat. Otevřete trasování profileru a otevřete snímek ladění zobrazte diagnostiku na úrovni kódu v odpovídajících podoknech podrobností.
Výsledky hledání
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.
.NET Profiler a Snapshot Debugger
Pomoc s diagnostikou výkonu a selhání v rozhraní .NET Profiler nebo Snapshot Debugger Díky tomuto prostředí můžete sledovat trasování nebo snímky profileru .NET z libovolné komponenty s jedním výběrem.
Pokud nemůžete získat funkční profiler .NET, obraťte serviceprofilerhelp@microsoft.comse na .
Pokud ladicí program snapshotu nefunguje, obraťte snapshothelp@microsoft.comse na .
Nejčastější dotazy
Tato část obsahuje odpovědi na běžné otázky.
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 přístup.
Pokud máte přístup a komponenty jsou instrumentované pomocí nejnovějších sad SDK Application Insights, dejte nám vědět prostřednictvím kanálu pro zpětnou vazbu 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í obvykle vypadají stejně jako hodnota doby trvání, která se kvůli odezvě sítě liší. Ú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 hodiny nerovnoměrné distribuce napříč 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.
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 vygeneruje pouze jedna událost zobrazení stránky a pro vygenerování všech telemetrických dat 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 povoleníAutoRouteTracking , aby se při každé aktualizaci trasy URL vygenerovalo zobrazení stránky (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, je v procesu pravděpodobnou hlavní příčinou času stráveného časem. Užitečným nástrojem pro diagnostiku procesu je .NET Profiler.
Co když se při procházení Application Insights na webu Azure Portal 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 s DNS nebo jinými problémy souvisejícími se sítí z klientského počítače, ve kterém se volání rozhraní APIlhávají. Pokud chyba portálu pokračuje a potřebuje další šetření, shromážděte trasování sítě prohlížeče při reprodukci neočekávaného chování portálu a otevřete případ podpory na webu Azure Portal.