Op werkruimte gebaseerde Application Insights-resources

Azure MonitorApplication Insights-resources op basis van werkruimten integreren Application Insights en Log Analytics.

Met op werkruimte gebaseerde resources verzendt Application Insights telemetrie naar een gemeenschappelijke Log Analytics-werkruimte , waardoor volledige toegang wordt geboden tot alle functies van Log Analytics , terwijl uw toepassing, infrastructuur en platformlogboeken op één geconsolideerde locatie blijven. Met deze integratie kunt u algemene op rollen gebaseerd toegangsbeheer van Azure in uw resources uitvoeren en hoeft u geen query's voor meerdere apps/werkruimten uit te voeren.

Notitie

Gegevensopname en -retentie voor Application Insights-resources op basis van een werkruimte worden gefactureerd via de Log Analytics-werkruimte waar de gegevens zich bevinden. Zie prijzen voor Azure Monitor-logboeken voor meer informatie over facturering voor Application Insights-resources op basis van een werkruimte.

Nieuwe mogelijkheden

Application Insights op basis van werkruimten kan worden geïntegreerd met Azure Monitor en Log Analytics om de mogelijkheden te verbeteren:

Een resource op basis van een werkruimte maken

Meld u aan bij Azure Portal en maak een Application Insights-resource.

Schermopname van een Application Insights-resource op basis van een werkruimte.

Als u geen bestaande Log Analytics-werkruimte hebt, raadpleegt u de documentatie voor het maken van een Log Analytics-werkruimte.

Resources op basis van werkruimten zijn momenteel beschikbaar in alle commerciële regio's en Azure Government. Het gebruik van Application Insights en Log Analytics in twee verschillende regio's kan de latentie beïnvloeden en de algehele betrouwbaarheid van de bewakingsoplossing verminderen.

Nadat u de resource hebt gemaakt, ziet u de bijbehorende werkruimtegegevens in het deelvenster Overzicht .

Schermopname van de naam van een werkruimte.

Selecteer de blauwe koppelingstekst om naar de bijbehorende Log Analytics-werkruimte te gaan, waar u kunt profiteren van de nieuwe queryomgeving voor een geïntegreerde werkruimte.

Notitie

We bieden nog steeds volledige compatibiliteit met eerdere versies voor uw klassieke Application Insights-resourcequery's, werkmappen en waarschuwingen op basis van logboeken. Als u een query wilt uitvoeren op de nieuwe tabelstructuur of het nieuwe schema op basis van een werkruimte, moet u eerst naar uw Log Analytics-werkruimte gaan. Selecteer Logboeken (Analytics) in de Application Insights-deelvensters voor toegang tot de klassieke Application Insights-query-ervaring.

De verbindingsreeks kopiëren

De verbindingsreeks identificeert de resource waarmee u uw telemetriegegevens wilt koppelen. U kunt deze ook gebruiken om de eindpunten te wijzigen die uw resource gebruikt als bestemming voor uw telemetrie. U moet de verbindingsreeks kopiëren en toevoegen aan de code van uw toepassing of aan een omgevingsvariabele.

Bewaking configureren

Nadat u een Application Insights-resource op basis van een werkruimte hebt gemaakt, configureert u bewaking.

Toepassingsbewaking op basis van code

Voor toepassingsbewaking op basis van code installeert u de juiste Application Insights SDK en wijst u de verbindingsreeks aan uw zojuist gemaakte resource.

Zie de volgende documentatie die specifiek is voor de taal of het framework voor het instellen van een Application Insights SDK voor bewaking op basis van code:

Bewaking zonder code

Voor codeloze bewaking van services zoals Azure Functions en Azure-app Services kunt u eerst uw Application Insights-resource op basis van een werkruimte maken. Vervolgens wijst u die resource aan wanneer u bewaking configureert. U kunt ook een nieuwe Application Insights-resource maken als onderdeel van Application Insights-activering.

Automatisch een resource maken

Azure-CLI

Als u toegang wilt krijgen tot de Azure CLI-opdrachten van Preview, moet u eerst het volgende uitvoeren:

 az extension add -n application-insights

Als u de az extension add opdracht niet uitvoert, ziet u een foutbericht met de az : ERROR: az monitor: 'app-insights' is not in the 'az monitor' command group. See 'az monitor --help'status .

U kunt nu de volgende code uitvoeren om uw Application Insights-resource te maken:

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]

Opmerking

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"

Raadpleeg de Azure CLI-documentatie voor de volledige Azure CLI-documentatie voor deze opdracht.

Azure PowerShell

Maak een nieuwe Application Insights-resource op basis van een werkruimte.

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>]

Opmerking

New-AzApplicationInsights -Kind java -ResourceGroupName testgroup -Name test1027 -location eastus -WorkspaceResourceId "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test1234/providers/microsoft.operationalinsights/workspaces/test1234555"

Zie de Azure PowerShell-documentatie voor de volledige PowerShell-documentatie voor deze cmdlet en voor meer informatie over het ophalen van de verbindingsreeks.

Azure Resource Manager-sjablonen

@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
  }
}

Parameterbestand

{
  "$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"
    }
  }
}

De gekoppelde werkruimte wijzigen

Nadat u een Application Insights-resource op basis van een werkruimte hebt gemaakt, kunt u de bijbehorende Log Analytics-werkruimte wijzigen.

Selecteer In het deelvenster Application Insights-resource eigenschappen>wijzigen Log>Analytics-werkruimten.

Telemetrie exporteren

De verouderde functionaliteit voor continue export wordt niet ondersteund voor resources op basis van werkruimten. Selecteer in plaats daarvan Diagnostische instellingen>Diagnostische instelling toevoegen in uw Application Insights-resource. U kunt alle tabellen of een subset van tabellen selecteren om te archiveren naar een opslagaccount. U kunt ook streamen naar een Azure Event Hub.

Notitie

Het exporteren van diagnostische instellingen kan de kosten verhogen. Bekijk Telemetrie exporteren van Application Insights voor meer informatie. Zie de pagina met prijzen van Azure Monitor voor informatie over prijzen voor deze functie. Vóór het begin van de facturering worden meldingen verzonden. Als u na de kennisgevingsperiode telemetrie-export blijft gebruiken, wordt u gefactureerd tegen het toepasselijke tarief.

Hoeveel Application Insights-resources moet ik implementeren?

Wanneer u de volgende versie van een webtoepassing ontwikkelt, wilt u de Application Insights-telemetrie niet combineren met de nieuwe versie en de reeds uitgebrachte versie.

Om verwarring te voorkomen, verzendt u de telemetrie vanuit verschillende ontwikkelingsfasen om Application Insights-resources te scheiden met afzonderlijke verbindingsreeks s.

Als uw systeem een exemplaar van Azure Cloud Services is, is er een andere methode voor het instellen van afzonderlijke verbindingsreeks s.

Over resources en verbindingsreeks s

Wanneer u Application Insights-bewaking instelt voor uw web-app, maakt u een Application Insights-resource in Azure. U opent de resource in Azure Portal om de telemetriegegevens te bekijken en te analyseren die zijn verzameld vanuit uw app. Een verbindingsreeks identificeert de resource. Wanneer u het Application Insights-pakket installeert om uw app te bewaken, configureert u het met de verbindingsreeks, zodat het weet waar de telemetrie moet worden verzonden.

Elke Application Insights-resource wordt geleverd met metrische gegevens die standaard beschikbaar zijn. Als afzonderlijke onderdelen rapporteren aan dezelfde Application Insights-resource, is het mogelijk niet zinvol om waarschuwingen over deze metrische gegevens te geven.

Wanneer u één Application Insights-resource gebruikt

Gebruik één Application Insights-resource voor:

  • Het stroomlijnen van DevOps/ITOps-beheer voor toepassingen die samen zijn geïmplementeerd, doorgaans ontwikkeld en beheerd door hetzelfde team.
  • Het centraliseren van key performance indicators, zoals reactietijden en foutpercentages, in een dashboard standaard. Segmenteer indien nodig op rolnaam in de Metrics Explorer.
  • Wanneer u geen ander op rollen gebaseerd toegangsbeheer van Azure tussen toepassingsonderdelen nodig hebt.
  • Wanneer identieke waarschuwingscriteria voor metrische gegevens, continue exports en facturering/quotabeheer voor onderdelen voldoende zijn.
  • Wanneer het acceptabel is voor een API-sleutel voor toegang tot gegevens van alle onderdelen, en 10 API-sleutels voldoen aan de behoeften van alle onderdelen.
  • Wanneer dezelfde instellingen voor slimme detectie en integratie van werkitems geschikt zijn voor alle rollen.

Notitie

Als u meerdere Application Insights-resources wilt samenvoegen, kunt u uw bestaande toepassingsonderdelen naar een nieuwe, geconsolideerde Application Insights-resource laten verwijzen. De telemetrie die is opgeslagen in uw oude resource, wordt niet overgebracht naar de nieuwe resource. Verwijder alleen de oude resource wanneer u voldoende telemetrie hebt in de nieuwe resource voor bedrijfscontinuïteit.

Andere overwegingen

Als u portalervaringen wilt activeren, voegt u aangepaste code toe om zinvolle waarden toe te wijzen aan het kenmerk Cloud_RoleName . Zonder deze waarden werken portalfuncties niet.

Voor Azure Service Fabric-toepassingen en klassieke cloudservices configureert de SDK automatisch services door te lezen uit de Azure-rolomgeving. Voor andere app-typen moet u deze doorgaans expliciet instellen.

Live Metrics kan geen gegevens splitsen op rolnaam.

Meer Application Insights-resources maken

Zie Een Application Insights-resource maken om een Application Insights-resource te maken.

Waarschuwing

Mogelijk worden er extra netwerkkosten in rekening gebracht als uw Application Insights-resource een Azure-resource (bijvoorbeeld telemetrieproducent) in een andere regio bewaakt. De kosten variëren, afhankelijk van de regio van waaruit de telemetrie afkomstig is en waar deze naartoe gaat. Raadpleeg de prijzen voor Azure-bandbreedte voor meer informatie.

De verbindingsreeks ophalen

De verbindingsreeks identificeert de resource die u hebt gemaakt.

U hebt de verbindingsreeks van alle resources nodig waarnaar uw app gegevens verzendt.

Filteren op het buildnummer

Wanneer u een nieuwe versie van uw app publiceert, wilt u de telemetrie van verschillende builds kunnen scheiden.

U kunt de eigenschap Toepassingsversie zo instellen dat u zoekresultaten en metric explorer-resultaten kunt filteren.

Er zijn verschillende methoden voor het instellen van de eigenschap Toepassingsversie .

  • Rechtstreeks instellen:

    telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version;

  • Verpakt die lijn in een initialisatiefunctie voor telemetrie om ervoor te zorgen dat alle TelemetryClient exemplaren consistent worden ingesteld.

  • ASP.NET: Stel de versie in BuildInfo.config. De webmodule haalt de versie van het BuildLabel knooppunt op. Neem dit bestand op in uw project en vergeet niet om de eigenschap Altijd kopiëren in Solution Explorer in te stellen.

    <?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: Automatisch genereren BuildInfo.config in de Microsoft Build Engine. Voeg een paar regels toe aan uw .csproj bestand:

    <PropertyGroup>
      <GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>    <IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
    </PropertyGroup>
    

    Met deze stap wordt een bestand met de naam yourProjectName.BuildInfo.config gegenereerd. De naam van het publicatieproces wordt gewijzigd in BuildInfo.config.

    Het buildlabel bevat een tijdelijke aanduiding (*AutoGen_...*) wanneer u met Visual Studio bouwt. Maar wanneer deze is gebouwd met de Microsoft Build Engine, wordt het gevuld met het juiste versienummer.

    Als u wilt toestaan dat de Microsoft Build Engine versienummers genereert, stelt u de versie in zoals 1.0.* in AssemblyReference.cs.

Versie en release bijhouden

Als u de versie van de toepassing wilt bijhouden, moet u ervoor zorgen dat uw Microsoft Build Engine-proces wordt gegenereerd buildinfo.config. Voeg in uw .csproj bestand het volgende toe:

<PropertyGroup>
  <GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
  <IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
</PropertyGroup>

Wanneer de Application Insights-webmodule de buildgegevens bevat, wordt de toepassingsversie automatisch als eigenschap toegevoegd aan elk item van telemetrie. Daarom kunt u filteren op versie wanneer u diagnostische zoekopdrachten uitvoert of wanneer u metrische gegevens verkent.

De Microsoft Build Engine genereert uitsluitend het buildversienummer, niet de build van Visual Studio.

Release-aantekeningen

Als u Azure DevOps gebruikt, kunt u een aantekeningsmarkering aan uw grafieken toevoegen wanneer u een nieuwe versie vrijgeeft.

Veelgestelde vragen

In deze sectie vindt u antwoorden op veelgestelde vragen.

Hoe kan ik een Application Insights-resource verplaatsen naar een nieuwe regio?

Het overdragen van bestaande Application Insights-resources tussen regio's wordt niet ondersteund en u kunt geen historische gegevens migreren naar een nieuwe regio. De tijdelijke oplossing omvat:

  • Een nieuwe Application Insights-resource op basis van een werkruimte maken in de gewenste regio.
  • Maak eventuele unieke aanpassingen opnieuw op basis van de oorspronkelijke resource in de nieuwe.
  • Uw toepassing bijwerken met de verbindingsreeks van de nieuwe regioresource.
  • Testen om ervoor te zorgen dat alles werkt zoals verwacht met de nieuwe Application Insights-resource.
  • Besluit de oorspronkelijke Application Insights-resource te behouden of te verwijderen. Het verwijderen van een klassieke resource betekent dat alle historische gegevens verloren gaan. Als de resource is gebaseerd op een werkruimte, blijven de gegevens in Log Analytics, waardoor toegang tot historische gegevens mogelijk is totdat de bewaarperiode verloopt.

Unieke aanpassingen die doorgaans handmatig opnieuw moeten worden gemaakt of bijgewerkt voor de resource in de nieuwe regio zijn opgenomen, maar die niet beperkt zijn tot:

  • Aangepaste dashboards en werkmappen opnieuw maken.
  • Maak of werk het bereik van aangepaste waarschuwingen voor logboeken/metrische gegevens opnieuw in of bij.
  • Maak beschikbaarheidswaarschuwingen opnieuw.
  • Maak aangepaste instellingen voor op rollen gebaseerd toegangsbeheer van Azure die vereist zijn voor uw gebruikers om toegang te krijgen tot de nieuwe resource.
  • Repliceer instellingen met betrekking tot opnamesampling, gegevensretentie, dagelijkse limiet en aangepaste metrische gegevens. Deze instellingen worden beheerd via het deelvenster Gebruik en geschatte kosten .
  • Elke integratie die afhankelijk is van API-sleutels, zoals releaseaantekeningen en live metrische gegevens, beveiligd beheerkanaal. U moet nieuwe API-sleutels genereren en de bijbehorende integratie bijwerken.
  • Continue export in klassieke resources moet opnieuw worden geconfigureerd.
  • Diagnostische instellingen in op werkruimte gebaseerde resources moeten opnieuw worden geconfigureerd.

Notitie

Als de resource die u in een nieuwe regio maakt, een klassieke resource vervangt, raden we u aan de voordelen te verkennen van het maken van een nieuwe resource op basis van een werkruimte. U kunt ook uw bestaande resource migreren naar de werkruimte.

Kan ik providers('Microsoft.Insights', 'components').apiVersions[0] gebruiken in mijn Azure Resource Manager-implementaties?

We raden u niet aan deze methode te gebruiken om de API-versie in te vullen. De nieuwste versie kan preview-versies vertegenwoordigen, die mogelijk belangrijke wijzigingen bevatten. Zelfs bij nieuwere versies die niet worden gezien, zijn de API-versies niet altijd achterwaarts compatibel met bestaande sjablonen. In sommige gevallen is de API-versie mogelijk niet beschikbaar voor alle abonnementen.

Volgende stappen