Udostępnij za pośrednictwem


Przykład: używanie biblioteki OpenTelemetry z usługami Azure Monitor i Application Insights

Istnieje wiele komercyjnych systemów zarządzania wydajnością aplikacji (APM) dostępnych do wyboru. Na platformie Azure podstawowym produktem do monitorowania aplikacji jest usługa Application Insights, która jest częścią usługi Azure Monitor. Jedną z zalet zintegrowanego produktu APM jest skorelowanie różnych źródeł danych z obserwacją. Usługa Application Insights oferuje zaawansowane widoki i możliwości analizy.

1. Dodawanie dystrybucji usługi Application Insights

Aby ułatwić korzystanie z ASP.NET z usługą Azure Monitor, pakiet otoki (nazywany dystrybucją w parlance OTel) jest dostarczany, który wykonuje większość ciężkich czynności związanych z konfigurowaniem biblioteki OpenTelemetry.

Ten przykład jest oparty na przewodniku OTLP. Wykonaj kroki 1–5, aby utworzyć kod aplikacji przy użyciu eksportera OTLP. W tym przykładzie rozszerzymy kod w celu wysyłania danych do usługi Application Insights.

Wykonaj ten sam projekt z kroku 5 i dodaj następujący pakiet NuGet:

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

Uwaga

Zamień wersję na najnowszą dostępną

2. Konfigurowanie eksportera

Dodaj następujący kod inicjowania OTel przed :builder.Build();

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

UseAzureMonitor() to magia, która doda wspólne biblioteki instrumentacji i eksporterów dla usługi Application Insights. Wystarczy dodać niestandardowe Meter nazwy i ActivitySource nazwy do rejestracji.

Ta sama inicjalizacja OTel działa w przypadku protokołu OTLP co w przypadku usługi Application Insights. Różnica polega na tym, że wybrani eksporterzy. Można użyć obu tych elementów w tej samej aplikacji i wybrać między nimi, definiując odpowiednie zmienne środowiskowe.

3. Określ parametry połączenia

Jeśli nie jesteś jeszcze klientem platformy Azure, możesz utworzyć bezpłatne konto na stronie https://azure.microsoft.com/free/. Zaloguj się do witryny Azure Portal i wybierz istniejący zasób usługi Application Insights lub utwórz nowy za pomocą polecenia https://ms.portal.azure.com/#create/Microsoft.AppInsights.

Usługa Application Insights identyfikuje wystąpienie używane do przechowywania i przetwarzania danych za pomocą klucza instrumentacji oraz parametry połączenia, które znajdują się w prawym górnym rogu interfejsu użytkownika portalu.

Parametry połączenia w witrynie Azure Portal

Jeśli używasz usługi aplikacja systemu Azure, ta parametry połączenia jest automatycznie przekazywana do aplikacji jako zmienna środowiskowa. W przypadku innych usług lub w przypadku uruchamiania lokalnego należy przekazać ją przy użyciu zmiennej środowiskowej APPLICATIONINSIGHTS_CONNECTION_STRING lub w appsettings.json. W przypadku uruchamiania lokalnego najłatwiej jest dodać wartość do appsettings.development.json:

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

Uwaga

Zastąp wartość wartością z wystąpienia.

4. Badanie aplikacji w usłudze Application Insights

Po uruchomieniu aplikacji dane telemetryczne zostaną wysłane do usługi Application Insights. Teraz należy pobrać dzienniki, metryki i rozproszone ślady dla aplikacji. Otwórz zasób usługi Application Insights w witrynie Azure Portal.

Dzienniki

Widok dzienników usługi App Insights

Metryki

Widok metryk usługi App Insights

Śledzenie rozproszone

Widok transakcji usługi App Insights