Prostředky Application Insights v pracovním prostoru
Prostředky založené na pracovních prostorech služby Azure Monitor integrují Application Insights a Log Analytics.
Díky prostředkům založeným na pracovním prostoru odesílá Application Insights telemetrii do společného pracovního prostoru služby Log Analytics a poskytuje úplný přístup ke všem funkcím Služby Log Analytics a přitom uchovává protokoly vaší aplikace, infrastruktury a platformy v jediném konsolidovaném umístění. Tato integrace umožňuje běžné řízení přístupu na základě role v Azure napříč prostředky a eliminuje potřebu dotazů napříč aplikacemi a pracovními prostory.
Poznámka:
Příjem a uchovávání dat pro prostředky Application Insights založené na pracovních prostorech se účtují prostřednictvím pracovního prostoru služby Log Analytics, ve kterém se data nacházejí. Další informace o fakturaci prostředků Application Insights založených na pracovních prostorech najdete v podrobnostech o cenách protokolů služby Azure Monitor.
Nové možnosti
Application Insights založená na pracovních prostorech se integruje se službou Azure Monitor a Log Analytics, aby se zlepšily možnosti:
- Klíč spravovaný zákazníkem šifruje neaktivní uložená data jenom pomocí klíčů, ke kterým přistupujete.
- Azure Private Link bezpečně propojuje služby Azure PaaS s vaší virtuální sítí pomocí privátních koncových bodů.
- Používání vlastního úložiště (BYOS) pro Profiler a Snapshot Debugger umožňuje spravovat data z Profileru Application Insights a snapshot Debuggeru pomocí zásad šifrování, životnosti a síťového přístupu.
- Úrovně závazku nabízejí až 30% úsporu oproti cenám průběžných plateb.
- Streamování Log Analytics zpracovává data rychleji.
Vytvoření prostředku založeného na pracovním prostoru
Přihlaste se k webu Azure Portal a vytvořte prostředek Application Insights.
Pokud nemáte existující pracovní prostor služby Log Analytics, přečtěte si dokumentaci k vytvoření pracovního prostoru služby Log Analytics.
Prostředky založené na pracovních prostorech jsou aktuálně dostupné ve všech komerčních oblastech a ve službě Azure Government. Mít Application Insights a Log Analytics ve dvou různých oblastech může mít vliv na latenci a snížit celkovou spolehlivost řešení monitorování.
Po vytvoření prostředku se v podokně Přehled zobrazí odpovídající informace o pracovním prostoru.
Výběrem modrého textu odkazu přejděte do přidruženého pracovního prostoru služby Log Analytics, kde můžete využít nové prostředí pro dotazování sjednoceného pracovního prostoru.
Poznámka:
Stále poskytujeme úplnou zpětnou kompatibilitu pro klasické dotazy na prostředky Application Insights, sešity a upozornění založená na protokolech. Pokud chcete dotazovat nebo zobrazit novou strukturu nebo schéma tabulky založené na pracovním prostoru, musíte nejprve přejít do pracovního prostoru služby Log Analytics. V podoknech Application Insights vyberte protokoly (Analytics), abyste mohli získat přístup k klasickému prostředí dotazů Application Insights.
Zkopírování připojovacího řetězce
Připojovací řetězec identifikuje prostředek, ke kterému chcete přidružit telemetrická data. Můžete ho také použít k úpravě koncových bodů, které prostředek používá jako cíl pro vaši telemetrii. Musíte zkopírovat připojovací řetězec a přidat ho do kódu aplikace nebo do proměnné prostředí.
Konfigurace sledování
Po vytvoření prostředku Application Insights založeného na pracovním prostoru nakonfigurujete monitorování.
Monitorování aplikací založených na kódu
Pro monitorování aplikací založených na kódu nainstalujete příslušnou sadu Application Insights SDK a nasměrujete připojovací řetězec na nově vytvořený prostředek.
Informace o nastavení sady Application Insights SDK pro monitorování založené na kódu najdete v následující dokumentaci týkající se jazyka nebo architektury:
- ASP.NET
- ASP.NET Core
- Úlohy na pozadí a moderní konzolové aplikace (.NET/.NET Core)
- Klasické konzolové aplikace (.NET)
- Java
- JavaScript
- Node.js
- Python
Monitorování bez kódu
Pro monitorování bez kódu služeb, jako jsou Azure Functions a Aplikace Azure Services, můžete nejprve vytvořit prostředek Application Insights založený na pracovním prostoru. Při konfiguraci monitorování pak na tento prostředek nasměrujete. Alternativně můžete vytvořit nový prostředek Application Insights jako součást povolení Application Insights.
Automatické vytvoření prostředku
Azure CLI
Pokud chcete získat přístup k příkazům Azure CLI služby Application Insights ve verzi Preview, musíte nejprve spustit:
az extension add -n application-insights
Pokud příkaz nespustíte az extension add
, zobrazí se chybová zpráva se zprávou az : ERROR: az monitor: 'app-insights' is not in the 'az monitor' command group. See 'az monitor --help'
.
Teď můžete spustit následující kód a vytvořit prostředek Application Insights:
az monitor app-insights component create --app
--location
--resource-group
[--application-type]
[--ingestion-access {Disabled, Enabled}]
[--kind]
[--only-show-errors]
[--query-access {Disabled, Enabled}]
[--tags]
[--workspace]
Příklad
az monitor app-insights component create --app demoApp --location eastus --kind web -g my_resource_group --workspace "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test1234/providers/microsoft.operationalinsights/workspaces/test1234555"
Úplnou dokumentaci k Azure CLI pro tento příkaz najdete v dokumentaci k Azure CLI.
Azure PowerShell
Vytvořte nový prostředek Application Insights založený na pracovním prostoru.
New-AzApplicationInsights -Name <String> -ResourceGroupName <String> -Location <String> -WorkspaceResourceId <String>
[-SubscriptionId <String>]
[-ApplicationType <ApplicationType>]
[-DisableIPMasking]
[-DisableLocalAuth]
[-Etag <String>]
[-FlowType <FlowType>]
[-ForceCustomerStorageForProfiler]
[-HockeyAppId <String>]
[-ImmediatePurgeDataOn30Day]
[-IngestionMode <IngestionMode>]
[-Kind <String>]
[-PublicNetworkAccessForIngestion <PublicNetworkAccessType>]
[-PublicNetworkAccessForQuery <PublicNetworkAccessType>]
[-RequestSource <RequestSource>]
[-RetentionInDays <Int32>]
[-SamplingPercentage <Double>]
[-Tag <Hashtable>]
[-DefaultProfile <PSObject>]
[-Confirm]
[-WhatIf]
[<CommonParameters>]
Příklad
New-AzApplicationInsights -Kind java -ResourceGroupName testgroup -Name test1027 -location eastus -WorkspaceResourceId "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test1234/providers/microsoft.operationalinsights/workspaces/test1234555"
Úplnou dokumentaci k PowerShellu pro tuto rutinu a informace o načtení připojovací řetězec najdete v dokumentaci k Azure PowerShellu.
Šablony Azure Resource Manageru
@description('Name of Application Insights resource.')
param name string
@description('Type of app you are deploying. This field is for legacy reasons and will not impact the type of App Insights resource you deploy.')
param type string
@description('Which Azure Region to deploy the resource to. This must be a valid Azure regionId.')
param regionId string
@description('See documentation on tags: https://video2.skills-academy.com/azure/azure-resource-manager/management/tag-resources.')
param tagsArray object
@description('Source of Azure Resource Manager deployment')
param requestSource string
@description('Log Analytics workspace ID to associate with your Application Insights resource.')
param workspaceResourceId string
resource component 'Microsoft.Insights/components@2020-02-02' = {
name: name
location: regionId
tags: tagsArray
kind: 'other'
properties: {
Application_Type: type
Flow_Type: 'Bluefield'
Request_Source: requestSource
WorkspaceResourceId: workspaceResourceId
}
}
Soubor parametrů
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "my_workspace_based_resource"
},
"type": {
"value": "web"
},
"regionId": {
"value": "westus2"
},
"tagsArray": {
"value": {}
},
"requestSource": {
"value": "CustomDeployment"
},
"workspaceResourceId": {
"value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testxxxx/providers/microsoft.operationalinsights/workspaces/testworkspace"
}
}
}
Úprava přidruženého pracovního prostoru
Po vytvoření prostředku Application Insights založeného na pracovním prostoru můžete upravit přidružený pracovní prostor služby Log Analytics.
V podokně prostředků Application Insights vyberte Možnosti>změnit pracovní prostory> služby Log Analytics.
Export telemetrie
Starší funkce průběžného exportu se u prostředků založených na pracovních prostorech nepodporuje. Místo toho vyberte Nastavení>diagnostiky Přidat nastavení diagnostiky v prostředku Application Insights. Pokud chcete archivovat účet úložiště, můžete vybrat všechny tabulky nebo podmnožinu tabulek. Můžete také streamovat do centra událostí Azure.
Poznámka:
Export nastavení diagnostiky může zvýšit náklady. Další informace získáte v tématu Export telemetrie z Application Insights. Informace o cenách pro tuto funkci najdete na stránce s cenami služby Azure Monitor. Před zahájením fakturace se budou odesílat oznámení. Pokud po období oznámení budete dál používat export telemetrie, bude se vám účtovat příslušná sazba.
Kolik prostředků Application Insights mám nasadit?
Při vývoji další verze webové aplikace nechcete kombinovat telemetrická data Application Insights z nové verze a již vydané verze.
Abyste se vyhnuli nejasnostem, odešlete telemetrii z různých fází vývoje k oddělení prostředků Application Insights pomocí samostatných připojovací řetězec.
Pokud je váš systém instancí Azure Cloud Services, existuje jiná metoda nastavení samostatných připojovací řetězec.
Informace o prostředcích a připojovací řetězec
Při nastavování monitorování Application Insights pro webovou aplikaci vytvoříte prostředek Application Insights v Azure. Otevřete prostředek na webu Azure Portal, abyste viděli a analyzovali telemetrická data shromážděná z vaší aplikace. Připojovací řetězec identifikuje prostředek. Když nainstalujete balíček Application Insights pro monitorování aplikace, nakonfigurujete ho pomocí připojovací řetězec, aby věděl, kam se má telemetrie odesílat.
Každý prostředek Application Insights obsahuje metriky, které jsou k dispozici. Pokud jsou samostatné komponenty sestavy se stejným prostředkem Application Insights, nemusí dávat smysl na tyto metriky upozorňovat.
Kdy použít jeden prostředek Application Insights
Použijte jeden prostředek Application Insights pro:
- Zjednodušení správy DevOps/ITOps pro aplikace nasazené společně, obvykle vyvinuté a spravované stejným týmem.
- Centralizace klíčových ukazatelů výkonu, jako jsou doby odezvy a míry selhání, na řídicím panelu ve výchozím nastavení V případě potřeby segmentujte podle názvu role v Průzkumníku metrik.
- Pokud není potřeba spravovat řízení přístupu na základě role v Azure mezi komponentami aplikace.
- Pokud jsou identická kritéria upozornění na metriky, průběžný export a správa fakturace nebo kvót napříč komponentami stačí.
- Pokud je přijatelné, aby klíč rozhraní API přistupoval k datům ze všech komponent stejně a 10 klíčů rozhraní API splňovalo potřeby napříč všemi komponentami.
- Pokud jsou stejná inteligentní detekce a nastavení integrace pracovních položek vhodné pro všechny role.
Poznámka:
Pokud chcete konsolidovat více prostředků Application Insights, můžete stávající komponenty aplikace nasměrovat na nový konsolidovaný prostředek Application Insights. Telemetrie uložená ve starém prostředku se do nového prostředku nepřenese. Starý prostředek odstraňte jenom v případě, že máte v novém prostředku dostatek telemetrie pro zajištění kontinuity podnikových procesů.
Ostatní úvahy
Pokud chcete aktivovat prostředí portálu, přidejte vlastní kód, který přiřadí smysluplné hodnoty atributu Cloud_RoleName . Bez těchto hodnot funkce portálu nefungují.
V případě aplikací Azure Service Fabric a klasických cloudových služeb sada SDK automaticky konfiguruje služby čtením z prostředí role Azure. U jiných typů aplikací je obvykle potřeba ho explicitně nastavit.
Živé metriky nemůžou rozdělit data podle názvu role.
Vytvoření dalších prostředků Application Insights
Pokud chcete vytvořit prostředek Application Insights, přečtěte si téma Vytvoření prostředku Application Insights.
Upozorňující
Pokud prostředek Application Insights monitoruje prostředek Azure (tj. producent telemetrie) v jiné oblasti, může vám vzniknout další náklady na síť. Náklady se budou lišit v závislosti na oblasti, ze které telemetrie pochází, a na tom, kam se chystá. Podrobnosti najdete v cenách šířky pásma Azure.
Získání připojovacího řetězce
Připojovací řetězec identifikuje prostředek, který jste vytvořili.
Potřebujete připojovací řetězec všech prostředků, do kterých vaše aplikace odesílá data.
Filtrování čísla buildu
Když publikujete novou verzi aplikace, chcete mít možnost oddělit telemetrii od různých buildů.
Vlastnost Verze aplikace můžete nastavit tak, abyste mohli filtrovat výsledky hledání a průzkumníka metrik.
Existuje několik různých metod nastavení vlastnosti Verze aplikace.
Nastavit přímo:
telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version;
Zabalte tento řádek do inicializátoru telemetrie, aby se zajistilo, že jsou všechny
TelemetryClient
instance nastavené konzistentně.ASP.NET: Nastavte verzi v souboru
BuildInfo.config
. Webový modul převezme verzi zBuildLabel
uzlu. Zahrňte tento soubor do projektu a nezapomeňte nastavit vlastnost Copy Always v Průzkumník řešení.<?xml version="1.0" encoding="utf-8"?> <DeploymentEvent xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/DeploymentEvent/2013/06"> <ProjectName>AppVersionExpt</ProjectName> <Build type="MSBuild"> <MSBuild> <BuildLabel kind="label">1.0.0.2</BuildLabel> </MSBuild> </Build> </DeploymentEvent>
ASP.NET: Vygenerujte
BuildInfo.config
automaticky v modulu Microsoft Build Engine. Přidejte do.csproj
souboru několik řádků:<PropertyGroup> <GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile> <IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo> </PropertyGroup>
Tento krok vygeneruje soubor s názvem yourProjectName
.BuildInfo.config
. Proces publikování ho přejmenuje naBuildInfo.config
.Popisek sestavení obsahuje zástupný symbol
(*AutoGen_...*)
při sestavování pomocí sady Visual Studio. Při sestavování pomocí modulu Microsoft Build Engine se ale naplní správným číslem verze.Pokud chcete modulu Microsoft Build Engine povolit generování čísel verzí, nastavte verzi jako
1.0.*
vAssemblyReference.cs
.
Sledování verzí a vydání
Pokud chcete sledovat verzi aplikace, ujistěte se, že proces Microsoft Build Engine generuje buildinfo.config
. .csproj
Do souboru přidejte:
<PropertyGroup>
<GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
<IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
</PropertyGroup>
Pokud webový modul Application Insights obsahuje informace o sestavení, automaticky přidá verzi aplikace jako vlastnost do každé položky telemetrie. Z tohoto důvodu můžete filtrovat podle verze při provádění diagnostických hledání nebo při zkoumání metrik.
Modul Microsoft Build Engine výhradně generuje číslo verze sestavení, nikoli sestavení vývojáře ze sady Visual Studio.
Poznámky k verzi
Pokud používáte Azure DevOps, můžete získat značku poznámek přidanou do grafů pokaždé, když vydáte novou verzi.
Nejčastější dotazy
Tato část obsahuje odpovědi na běžné otázky.
Návody přesun prostředku Application Insights do nové oblasti?
Přenos existujících prostředků Application Insights mezi oblastmi se nepodporuje a nemůžete migrovat historická data do nové oblasti. Alternativní řešení zahrnuje:
- Vytvoření nového prostředku Application Insights založeného na pracovním prostoru v požadované oblasti
- Znovu vytvořte všechna jedinečná přizpůsobení z původního prostředku v novém.
- Aktualizace aplikace pomocí připojovací řetězec nového prostředku oblasti
- Testováním zajistíte, že všechno funguje podle očekávání s novým prostředkem Application Insights.
- Rozhodněte se zachovat nebo odstranit původní prostředek Application Insights. Odstranění klasického prostředku znamená ztrátu všech historických dat. Pokud je prostředek založený na pracovním prostoru, zůstanou data v Log Analytics a umožňují přístup k historickým datům až do vypršení doby uchovávání.
Mezi jedinečná přizpůsobení, která obvykle potřebujete ručně znovu vytvořit nebo aktualizovat pro prostředek v nové oblasti, patří mimo jiné:
- Znovu vytvořte vlastní řídicí panely a sešity.
- Znovu vytvořte nebo aktualizujte rozsah všech vlastních upozornění protokolu nebo metrik.
- Znovu vytvořte upozornění na dostupnost.
- Znovu vytvořte vlastní nastavení řízení přístupu na základě role Azure, která jsou potřebná pro přístup k novému prostředku uživatelům.
- Replikace nastavení zahrnující vzorkování příjmu dat, uchovávání dat, denní limit a povolení vlastních metrik Tato nastavení se řídí pomocí podokna Využití a odhadované náklady .
- Veškerá integrace, která závisí na klíčích rozhraní API, jako jsou poznámky k vydaným verzím a kanál zabezpečeného řízení metrik za provozu. Potřebujete vygenerovat nové klíče rozhraní API a aktualizovat přidruženou integraci.
- Průběžný export v klasických prostředcích musí být znovu nakonfigurovaný.
- Nastavení diagnostiky v prostředcích založených na pracovním prostoru musí být znovu nakonfigurováno.
Poznámka:
Pokud prostředek, který vytváříte v nové oblasti, nahrazuje klasický prostředek, doporučujeme prozkoumat výhody vytvoření nového prostředku založeného na pracovním prostoru. Případně můžete existující prostředek migrovat na základě pracovního prostoru.
Můžu v nasazeních Azure Resource Manageru používat poskytovatele (Microsoft.Insights, Components).apiVersions[0]?
Tuto metodu naplnění verze rozhraní API nedoporučujeme používat. Nejnovější verze může představovat verze Preview, které můžou obsahovat zásadní změny. I v novějších verzích bezpreview nejsou verze rozhraní API vždy zpětně kompatibilní s existujícími šablonami. V některých případech nemusí být verze rozhraní API dostupná pro všechna předplatná.