Delen via


Voorbeeld: OpenTelemetry gebruiken met Azure Monitor en Application Insights

Er zijn veel commerciële APM-systemen (Application Performance Management) beschikbaar waaruit u kunt kiezen. In Azure is het primaire toepassingsbewakingsproduct Application Insights, dat deel uitmaakt van Azure Monitor. Een van de voordelen van een geïntegreerd APM-product is dat het de verschillende waarneembaarheidsgegevensbronnen kan correleren. Application Insights biedt uitgebreide weergaven en analysemogelijkheden.

1. De Application Insights-distributie toevoegen

Om de ASP.NET ervaring met Azure Monitor eenvoudiger te maken, wordt een wrapper-pakket (een distro in OTel-parlance genoemd) geleverd dat het grootste deel van het zware werk doet voor het configureren van OpenTelemetry.

Dit voorbeeld is gebaseerd op het OTLP-scenario. Volg de stappen 1-5 om de toepassingscode te maken met behulp van de OTLP-exporteur. In dit voorbeeld breiden we de code uit om gegevens naar Application Insights te verzenden.

Neem hetzelfde project uit stap 5 en voeg het volgende NuGet-pakket toe:

<ItemGroup>
  <PackageReference Include="Azure.Monitor.OpenTelemetry.AspNetCore" Version="1.3.0-beta.1" />
</ItemGroup>

Notitie

Vervang de versie door de meest recente versie die beschikbaar is

2. De exporteur instellen

Voeg eerder builder.Build();de volgende OTel-initialisatiecode toe:

if (!string.IsNullOrEmpty(builder.Configuration["APPLICATIONINSIGHTS_CONNECTION_STRING"]))
{
    otel.UseAzureMonitor();
}

UseAzureMonitor() is de magie waarmee de algemene instrumentatiebibliotheken en exporteurs voor Application Insights worden toegevoegd. U hoeft alleen uw aangepaste Meter namen en ActivitySource namen toe te voegen aan de registratie.

Dezelfde OTel-initialisatie werkt voor OTLP als voor Application Insights, het verschil is welke exporteurs u selecteert. U kunt beide in dezelfde toepassing gebruiken en ertussen selecteren door de juiste omgevingsvariabelen te definiëren.

3. Geef de verbindingsreeks

Als u nog geen Azure-klant bent, kunt u een gratis account maken op https://azure.microsoft.com/free/. Meld u aan bij Azure Portal en selecteer een bestaande Application Insights-resource of maak een nieuwe met https://ms.portal.azure.com/#create/Microsoft.AppInsights.

Application Insights identificeert welk exemplaar moet worden gebruikt om gegevens op te slaan en te verwerken via een instrumentatiesleutel en verbindingsreeks die zich rechtsboven in de gebruikersinterface van de portal bevinden.

Verbindingsreeks in Azure Portal

Als u Azure-app Service gebruikt, wordt deze verbindingsreeks automatisch als omgevingsvariabele doorgegeven aan de toepassing. Voor andere services of wanneer u lokaal uitvoert, moet u deze doorgeven met behulp van de APPLICATIONINSIGHTS_CONNECTION_STRING omgevingsvariabele of in appsettings.json. Als u lokaal wilt uitvoeren, kunt u de waarde het eenvoudigst toevoegen aan appsettings.development.json:

"AzureMonitor": {
    "ConnectionString": "InstrumentationKey=12345678-abcd-abcd-abcd-12345678..."
}

Notitie

Vervang de waarde door de waarde uit uw exemplaar.

4. Uw app onderzoeken in Application Insights

Wanneer u de toepassing uitvoert, wordt telemetrie verzonden naar Application Insights. U moet nu logboeken, metrische gegevens en gedistribueerde traceringen voor uw toepassing ophalen. Open de Application Insights-resource in Azure Portal.

Logbestanden

Weergave App Insights-logboeken

Metrische gegevens

Weergave metrische gegevens van App Insights

Gedistribueerde tracering

App Insights-transactieweergave