Přehled služby Application Insights
Application Insights je rozšířením služby Azure Monitor a poskytuje funkce monitorování výkonu aplikací (APM). Nástroje APM jsou užitečné k monitorování aplikací od vývoje přes testování až po produkční prostředí následujícími způsoby:
- Proaktivně pochopit, jak aplikace funguje.
- Reaktivně zkontrolujte data o spouštění aplikací a určete příčinu incidentu.
Spolu se shromažďováním metrik a telemetrických dat aplikací, která popisují aktivity a stav aplikace, můžete pomocí Application Insights shromažďovat a ukládat data protokolování trasování aplikace.
Trasování protokolu je přidružené k další telemetrii, aby bylo k aktivitě podrobné zobrazení. Přidání protokolování trasování do existujících aplikací vyžaduje pouze zadání cíle pro protokoly. Architekturu protokolování není nutné měnit jen zřídka.
Application Insights poskytuje další funkce, mezi které mimo jiné patří:
- Live Metrics: Sledujte aktivitu nasazené aplikace v reálném čase bez vlivu na hostitelské prostředí.
- Dostupnost: Označuje se také jako monitorování syntetických transakcí. Otestujte externí koncové body vašich aplikací a otestujte celkovou dostupnost a odezvu v průběhu času.
- Integrace GitHubu nebo Azure DevOps: Vytvořte pracovní položky GitHubu nebo Azure DevOps v kontextu dat Application Insights.
- Použití: Zjistěte, které funkce jsou oblíbené u uživatelů a jak uživatelé interagují a používají vaši aplikaci.
- Inteligentní zjišťování: Automaticky detekuje selhání a anomálie prostřednictvím proaktivní analýzy telemetrie.
Application Insights podporuje distribuované trasování, které se označuje také jako korelace distribuovaných komponent. Tato funkce umožňuje vyhledat a vizualizovat kompletní tok konkrétního spuštění nebo transakce. Možnost trasování aktivity od konce do konce je důležitá pro aplikace vytvořené jako distribuované komponenty nebo mikroslužby.
Mapa aplikace umožňuje zobrazení architektury aplikace na vysoké úrovni shora dolů a přehledné vizuální odkazy na stav komponent a rychlost odezvy.
Pokud chcete pochopit počet prostředků Application Insights potřebných k pokrytí vaší aplikace nebo komponent napříč prostředími, projděte si průvodce plánováním nasazení Application Insights.
Jak se Application Insights dá využít?
Služba Application Insights se povoluje prostřednictvím automatické instrumentace (agenta) nebo přidáním sady Application Insights SDK nebo distribuce OpenTelemetry služby Azure Monitor do kódu aplikace. Podporuje se mnoho jazyků . Aplikace můžou být v Azure, v místním prostředí nebo hostované v jiném cloudu. Pokud chcete zjistit, jaký typ instrumentace je pro vás nejvhodnější, přečtěte si téma Návody instrumentace aplikace..
Agent Application Insights nebo sada SDK před odesláním dat do Azure předzpracuje telemetrii a metriky. Potom se ingestuje a dále zpracuje, než se uloží do protokolů služby Azure Monitor (Log Analytics). Z tohoto důvodu se k používání Application Insights vyžaduje účet Azure.
Nejjednodušší způsob, jak začít používat Application Insights, je prostřednictvím Azure Portal a integrovaných vizuálních prostředí. Pokročilí uživatelé se můžou dotazovat na podkladová data přímo a vytvářet vlastní vizualizace prostřednictvím řídicích panelů a sešitů Služby Azure Monitor.
Zvažte, že začnete s mapou aplikace , která vám poskytne zobrazení na vysoké úrovni. Pomocí vyhledávání můžete rychle zúžit telemetrii a data podle typu a data a času. Nebo můžete vyhledávat v datech (například pomocí trasování protokolů) a filtrovat podle dané korelované operace, která vás zajímá.
Zvlášť užitečné jsou dvě zobrazení:
- Zobrazení výkonu: Získejte podrobné přehledy o výkonu vaší aplikace nebo rozhraní API a podřízených závislostí. Můžete také najít reprezentativní ukázku, kterou můžete prozkoumat od konce do konce.
- Zobrazení selhání: Seznamte se s komponentami nebo akcemi, které generují chyby a výjimky pro posouzení. Integrovaná zobrazení jsou užitečná k aktivnímu sledování stavu aplikace a k analýze reaktivních původních příčin.
Vytvořte upozornění Služby Azure Monitor , která budou signalizovat potenciální problémy v případě, že se vaše aplikace nebo součásti komponent odchylují od stanoveného směrného plánu.
Ceny Application Insights se odvíjí od spotřeby. Platíte jenom za to, co používáte. Další informace o cenách najdete tady:
Návody instrumentovat aplikaci?
Upřednostňovanou metodou instrumentace je automatická instrumentace . Nevyžaduje žádné investice vývojářů a eliminuje budoucí režii související s aktualizací sady SDK. Je to také jediný způsob instrumentace aplikace, ve které nemáte přístup ke zdrojovému kódu.
Sadu Application Insights SDK potřebujete nainstalovat jenom v následujících případech:
- Vyžadujete vlastní události a metriky.
- Vyžadujete kontrolu nad tokem telemetrie.
- Automatická infrastruktura není dostupná, obvykle kvůli jazykovým nebo platformovým omezením.
Pokud chcete použít sadu SDK, nainstalujete do aplikace malý instrumentační balíček a pak na webových stránkách instrumentujete webovou aplikaci, všechny komponenty na pozadí a JavaScript. Aplikace a její komponenty nemusí být hostované v Azure.
Instrumentace monitoruje vaši aplikaci a pomocí jedinečného tokenu směruje telemetrická data do prostředku Application Insights. Vliv na výkon vaší aplikace je malý. Volání sledování se neblokují a jsou rozdělená do dávek, aby se odeslala v samostatném vlákně.
Integrovaná automatická příprava je k dispozici pro Azure App Service .NET, Azure App Service .NET Core, Azure Functions a Azure Virtual Machines.
Agent Application Insights služby Azure Monitor je k dispozici pro úlohy spuštěné v místních virtuálních počítačích.
Podrobný přehled všech prostředí, jazyků a poskytovatelů prostředků podporovaných automatickou infrastrukturou najdete v tématu Co je automatická příprava pro Azure Monitor Application Insights?.
V jiných scénářích se vyžaduje sada Application Insights SDK .
K dispozici je také nabídka OpenTelemetry ve verzi Preview.
Podporované jazyky
Tato část popisuje podporované scénáře.
Podporované platformy a architektury
Tato část obsahuje seznam všech podporovaných platforem a architektur.
Integrace služeb Azure (povolení portálu, nasazení Azure Resource Manager)
- Azure Virtual Machines a Azure Virtual Machine Scale Sets
- Azure App Service
- Azure Functions
- Azure Spring Apps
- Azure Cloud Services, včetně webových rolí i rolí pracovního procesu
Automatickáinstrumentace (povolení bez změn kódu)
- ASP.NET: Webové aplikace hostované se službou IIS
- ASP.NET Core: Pro webové aplikace hostované se službou IIS
- Java
Ruční instrumentace nebo sada SDK (některé změny kódu se vyžadují)
Poznámka
Instrumentace založená na OpenTelemetry je dostupná ve verzi Preview pro C#, Node.js a Python. Projděte si omezení, která jsou uvedena na začátku oficiální dokumentace jednotlivých jazyků. Pokud potřebujete plnohodnotné prostředí, použijte existující sady Application Insights SDK.
Protokolování rozhraní
- ILogger
- Log4Net, NLog nebo System.Diagnostics.Trace
- Log4J, Logback nebo java.util.logging
- Modul plug-in LogStash
- Azure Monitor
Export a analýza dat
Nepodporované sady SDK
Existuje několik dalších sad Application Insights SDK podporovaných komunitou. Azure Monitor poskytuje podporu pouze v případě, že použijete podporované možnosti instrumentace uvedené v tomto článku.
Neustále vyhodnocujeme příležitosti k rozšíření podpory pro další jazyky. Nejnovější informace o sadě SDK najdete v tématu Aktualizace Azure pro Application Insights.
Nejčastější dotazy
Přečtěte si nejčastější dotazy.
Řešení potíží
Projděte si vyhrazené články o řešení potíží pro Application Insights.
Nápověda a podpora
Technická podpora Azure
V případě podpora Azure problémů otevřete lístek podpora Azure.
Fórum microsoft Q&A pro otázky
Publikujte obecné dotazy na fóru Microsoft Q&A answers (Odpovědi na otázky a odpovědi).
Stack Overflow
Pokládání otázek na Stack Overflow pomocí značky Application Insights
Komunita zpětné vazby
Zanechte svůj názor na produkt technickému týmu v komunitě Feedback.