Arbetsytebaserade Application Insights-resurser
Azure Monitor Application Insights-arbetsytebaserade resurser integrerar Application Insights och Log Analytics.
Med arbetsytebaserade resurser skickar Application Insights telemetri till en gemensam Log Analytics-arbetsyta , vilket ger fullständig åtkomst till alla funktioner i Log Analytics samtidigt som dina program-, infrastruktur- och plattformsloggar hålls på en enda konsoliderad plats. Den här integreringen möjliggör gemensam rollbaserad åtkomstkontroll i Azure för dina resurser och eliminerar behovet av frågor mellan appar och arbetsytor.
Kommentar
Datainmatning och kvarhållning för arbetsytebaserade Application Insights-resurser faktureras via Log Analytics-arbetsytan där data finns. Mer information om fakturering för arbetsytebaserade Application Insights-resurser finns i prisinformation om Azure Monitor-loggar.
Nya funktioner
Arbetsytebaserade Application Insights integreras med Azure Monitor och Log Analytics för att förbättra funktionerna:
- Kundhanterad nyckel krypterar dina vilande data med nycklar som bara du har åtkomst till.
- Azure Private Link ansluter på ett säkert sätt Azure PaaS-tjänster till ditt virtuella nätverk med hjälp av privata slutpunkter.
- Med ByOS (Bring Your Own Storage) för Profiler och Snapshot Debugger kan du hantera data från Application Insights Profiler och Snapshot Debugger med principer för kryptering, livslängd och nätverksåtkomst.
- Åtagandenivåer erbjuder upp till 30 % besparingar jämfört med betala per användning-priser.
- Log Analytics-strömning bearbetar data snabbare.
Skapa en arbetsytebaserad resurs
Logga in på Azure Portal och skapa en Application Insights-resurs.
Om du inte har någon befintlig Log Analytics-arbetsyta kan du läsa dokumentationen om att skapa Log Analytics-arbetsytor.
Arbetsytebaserade resurser är för närvarande tillgängliga i alla kommersiella regioner och Azure Government. Att ha Application Insights och Log Analytics i två olika regioner kan påverka svarstiden och minska övervakningslösningens övergripande tillförlitlighet.
När du har skapat resursen visas motsvarande arbetsyteinformation i fönstret Översikt .
Välj den blå länktexten för att gå till den associerade Log Analytics-arbetsytan där du kan dra nytta av den nya enhetliga arbetsytans frågemiljö.
Kommentar
Vi tillhandahåller fortfarande fullständig bakåtkompatibilitet för dina klassiska Application Insights-resursfrågor, arbetsböcker och loggbaserade aviseringar. Om du vill fråga eller visa den nya arbetsytebaserade tabellstrukturen eller schemat måste du först gå till Log Analytics-arbetsytan. Välj Loggar (analys) i Application Insights-fönstret för åtkomst till den klassiska Application Insights-frågeupplevelsen.
Kopiera anslutningssträngen
Den anslutningssträng identifierar den resurs som du vill associera telemetridata med. Du kan också använda den för att ändra slutpunkterna som resursen använder som mål för telemetrin. Du måste kopiera anslutningssträng och lägga till den i programmets kod eller i en miljövariabel.
Konfigurera övervakning
När du har skapat en arbetsytebaserad Application Insights-resurs konfigurerar du övervakning.
Kodbaserad programövervakning
För kodbaserad programövervakning installerar du lämplig Application Insights SDK och pekar anslutningssträng på din nyligen skapade resurs.
Information om hur du konfigurerar en Application Insights SDK för kodbaserad övervakning finns i följande dokumentation som är specifik för språket eller ramverket:
- ASP.NET
- ASP.NET Core
- Bakgrundsuppgifter och moderna konsolprogram (.NET/.NET Core)
- Klassiska konsolprogram (.NET)
- Java
- JavaScript
- Node.js
- Python
Övervakning utan kod
För kodlös övervakning av tjänster som Azure Functions och Azure App Services kan du först skapa din arbetsytebaserade Application Insights-resurs. Sedan pekar du på den resursen när du konfigurerar övervakning. Du kan också skapa en ny Application Insights-resurs som en del av Application Insights-aktiveringen.
Skapa en resurs automatiskt
Azure CLI
För att få åtkomst till förhandsversionen av Application Insights Azure CLI-kommandon måste du först köra:
az extension add -n application-insights
Om du inte kör az extension add
kommandot visas ett felmeddelande som anger az : ERROR: az monitor: 'app-insights' is not in the 'az monitor' command group. See 'az monitor --help'
.
Nu kan du köra följande kod för att skapa din Application Insights-resurs:
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]
Exempel
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"
Den fullständiga Azure CLI-dokumentationen för det här kommandot finns i Azure CLI-dokumentationen.
Azure PowerShell
Skapa en ny arbetsytebaserad Application Insights-resurs.
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>]
Exempel
New-AzApplicationInsights -Kind java -ResourceGroupName testgroup -Name test1027 -location eastus -WorkspaceResourceId "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test1234/providers/microsoft.operationalinsights/workspaces/test1234555"
Den fullständiga PowerShell-dokumentationen för den här cmdleten och information om hur du hämtar anslutningssträng finns i Azure PowerShell-dokumentationen.
Azure Resource Manager-mallar
@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://learn.microsoft.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
}
}
Parameterfil
{
"$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"
}
}
}
Ändra den associerade arbetsytan
När du har skapat en arbetsytebaserad Application Insights-resurs kan du ändra den associerade Log Analytics-arbetsytan.
I resursfönstret Application Insights väljer du Egenskaper>Ändra arbetsytelogganalysarbetsytor.>
Exportera telemetri
Den äldre funktionen för kontinuerlig export stöds inte för arbetsytebaserade resurser. Välj i stället Diagnostikinställningar>Lägg till diagnostikinställning i Application Insights-resursen. Du kan välja alla tabeller, eller en delmängd tabeller, för att arkivera till ett lagringskonto. Du kan också strömma till en Azure-händelsehubb.
Kommentar
Export av diagnostikinställningar kan öka kostnaderna. Mer information finns i Exportera telemetri från Application Insights. Prisinformation för den här funktionen finns på sidan med priser för Azure Monitor. Innan faktureringen börjar skickas meddelanden. Om du fortsätter att använda telemetriexport efter meddelandeperioden debiteras du enligt tillämpligt pris.
Hur många Application Insights-resurser ska jag distribuera?
När du utvecklar nästa version av ett webbprogram vill du inte blanda ihop Application Insights-telemetrin från den nya versionen och den redan släppta versionen.
För att undvika förvirring skickar du telemetrin från olika utvecklingssteg för att separera Application Insights-resurser med separata anslutningssträng.
Om systemet är en instans av Azure Cloud Services finns det en annan metod för att ställa in separata anslutningssträng.
Om resurser och anslutningssträng
När du konfigurerar Application Insights-övervakning för din webbapp skapar du en Application Insights-resurs i Azure. Du öppnar resursen i Azure Portal för att se och analysera telemetrin som samlas in från din app. En anslutningssträng identifierar resursen. När du installerar Application Insights-paketet för att övervaka din app konfigurerar du det med anslutningssträng så att den vet var telemetrin ska skickas.
Varje Application Insights-resurs levereras med mått som är tillgängliga direkt. Om separata komponenter rapporterar till samma Application Insights-resurs kanske det inte är meningsfullt att avisera om dessa mått.
När du ska använda en enda Application Insights-resurs
Använd en enda Application Insights-resurs för:
- Effektivisera DevOps/ITOps-hantering för program som distribueras tillsammans, vanligtvis utvecklade och hanterade av samma team.
- Centralisera viktiga prestandaindikatorer, till exempel svarstider och felfrekvenser, på en instrumentpanel som standard. Segmentera efter rollnamn i metrics Explorer om det behövs.
- När det inte finns något behov av olika rollbaserad åtkomstkontroll i Azure mellan programkomponenter.
- När identiska måttaviseringsvillkor, kontinuerlig export och hantering av fakturering/kvoter mellan komponenter räcker.
- När det är acceptabelt för en API-nyckel att komma åt data från alla komponenter på samma sätt och 10 API-nycklar uppfyller behoven för alla komponenter.
- När samma inställningar för smart identifiering och arbetsobjektintegrering är lämpliga för alla roller.
Kommentar
Om du vill konsolidera flera Application Insights-resurser kan du peka dina befintliga programkomponenter på en ny konsoliderad Application Insights-resurs. Telemetrin som lagras i den gamla resursen överförs inte till den nya resursen. Ta bara bort den gamla resursen när du har tillräckligt med telemetri i den nya resursen för affärskontinuitet.
Övriga beaktanden
Om du vill aktivera portalupplevelser lägger du till anpassad kod för att tilldela meningsfulla värden till attributet Cloud_RoleName . Utan dessa värden fungerar inte portalfunktionerna.
För Azure Service Fabric-program och klassiska molntjänster konfigurerar SDK automatiskt tjänster genom att läsa från Azure-rollmiljön. För andra apptyper behöver du vanligtvis ange den explicit.
Live-mått kan inte dela upp data efter rollnamn.
Skapa fler Application Insights-resurser
Information om hur du skapar en Application Insights-resurs finns i Skapa en Application Insights-resurs.
Varning
Du kan medföra ytterligare nätverkskostnader om din Application Insights-resurs övervakar en Azure-resurs (t.ex. telemetriproducent) i en annan region. Kostnaderna varierar beroende på vilken region telemetrin kommer från och vart den är på väg. Mer information finns i Prissättning för Azure-bandbredd.
Hämta anslutningssträngen
Anslutningssträng identifierar resursen som du skapade.
Du behöver anslutningssträng för alla resurser som appen skickar data till.
Filtrera på versionsnumret
När du publicerar en ny version av appen vill du kunna separera telemetrin från olika versioner.
Du kan ange egenskapen Programversion så att du kan filtrera sök - och måttutforskarens resultat.
Det finns flera olika metoder för att ange egenskapen Programversion .
Ange direkt:
telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version;
Omslut den linjen i en telemetriinitierare för att säkerställa att alla
TelemetryClient
instanser anges konsekvent.ASP.NET: Ange versionen i
BuildInfo.config
. Webbmodulen hämtar versionen frånBuildLabel
noden. Inkludera den här filen i projektet och kom ihåg att ange egenskapen Kopiera alltid i Solution Explorer.<?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: Generera
BuildInfo.config
automatiskt i Microsoft Build Engine. Lägg till några rader i.csproj
filen:<PropertyGroup> <GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile> <IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo> </PropertyGroup>
Det här steget genererar en fil med namnet yourProjectName
.BuildInfo.config
. Publiceringsprocessen byter namn på den tillBuildInfo.config
.Byggetiketten innehåller en platshållare
(*AutoGen_...*)
när du skapar med Visual Studio. Men när den skapas med Microsoft Build Engine fylls den i med rätt versionsnummer.Om du vill tillåta att Microsoft Build Engine genererar versionsnummer anger du versionen som
1.0.*
iAssemblyReference.cs
.
Spårning av versionen och utgåva
Om du vill spåra programversionen kontrollerar du att din Microsoft Build Engine-process genererar buildinfo.config
. .csproj
Lägg till:
<PropertyGroup>
<GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
<IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
</PropertyGroup>
När Application Insights-webbmodulen har bygginformationen lägger den automatiskt till programversion som en egenskap till varje telemetriobjekt. Därför kan du filtrera efter version när du utför diagnostiska sökningar eller när du utforskar mått.
Microsoft Build Engine genererar exklusivt versionsnumret, inte utvecklarversionen från Visual Studio.
Versionsanteckningar
Om du använder Azure DevOps kan du få en anteckningsmarkör tillagd i dina diagram när du släpper en ny version.
Vanliga frågor och svar
Det här avsnittet innehåller svar på vanliga frågor.
Hur gör jag för att flytta en Application Insights-resurs till en ny region?
Överföring av befintliga Application Insights-resurser mellan regioner stöds inte och du kan inte migrera historiska data till en ny region. Lösningen omfattar:
- Skapa en ny arbetsytebaserad Application Insights-resurs i önskad region.
- Återskapa alla unika anpassningar från den ursprungliga resursen i den nya.
- Uppdatera programmet med den nya regionresursens anslutningssträng.
- Testa för att säkerställa att allt fungerar som förväntat med den nya Application Insights-resursen.
- Bestämmer dig för att behålla eller ta bort den ursprungliga Application Insights-resursen. Att ta bort en klassisk resurs innebär att alla historiska data går förlorade. Om resursen är arbetsytebaserad finns data kvar i Log Analytics, vilket ger åtkomst till historiska data tills kvarhållningsperioden upphör att gälla.
Unika anpassningar som vanligtvis behöver återskapas eller uppdateras manuellt för resursen i den nya regionen omfattar, men som inte är begränsade till:
- Återskapa anpassade instrumentpaneler och arbetsböcker.
- Återskapa eller uppdatera omfånget för anpassade logg-/måttaviseringar.
- Återskapa tillgänglighetsaviseringar.
- Återskapa alla anpassade rollbaserade åtkomstkontrollinställningar i Azure som krävs för att användarna ska få åtkomst till den nya resursen.
- Replikera inställningar som omfattar inmatningssampling, datakvarhållning, dagligt tak och anpassad måttaktivering. De här inställningarna styrs via fönstret Användning och uppskattade kostnader .
- Alla integreringar som förlitar sig på API-nycklar, till exempel versionsanteckningar och live-mått, skyddar kontrollkanalen. Du måste generera nya API-nycklar och uppdatera den associerade integreringen.
- Kontinuerlig export i klassiska resurser måste konfigureras igen.
- Diagnostikinställningar i arbetsytebaserade resurser måste konfigureras igen.
Kommentar
Om resursen du skapar i en ny region ersätter en klassisk resurs rekommenderar vi att du utforskar fördelarna med att skapa en ny arbetsytebaserad resurs. Du kan också migrera din befintliga resurs till arbetsytan baserat.
Kan jag använda providers('Microsoft.Insights', 'components').apiVersions[0] i mina Azure Resource Manager-distributioner?
Vi rekommenderar inte att du använder den här metoden för att fylla i API-versionen. Den senaste versionen kan representera förhandsversioner, som kan innehålla icke-bakåtkompatibla ändringar. Även med nyare versioner som inte är förhandsversioner är API-versionerna inte alltid bakåtkompatibla med befintliga mallar. I vissa fall kanske API-versionen inte är tillgänglig för alla prenumerationer.