Włączanie usługi Azure Monitor OpenTelemetry dla aplikacji .NET, Node.js, Python i Java

W tym artykule opisano sposób włączania i konfigurowania zbierania danych opartych na protokole OpenTelemetry w usłudze Application Insights. Dystrybucja opentelemetrii usługi Azure Monitor:

  • Udostępnia dystrybucję OpenTelemetry, która obejmuje obsługę funkcji specyficznych dla usługi Azure Monitor.
  • Włącza automatyczne dane telemetryczne, włączając biblioteki instrumentacji OpenTelemetry do zbierania śladów, metryk, dzienników i wyjątków.
  • Umożliwia zbieranie niestandardowych danych telemetrycznych .
  • Obsługuje metryki na żywo do monitorowania i zbierania większej ilości danych telemetrycznych z aplikacji internetowych w środowisku produkcyjnym.

Aby uzyskać więcej informacji na temat zalet korzystania z dystrybucji OpenTelemetry usługi Azure Monitor, zobacz Dlaczego należy używać dystrybucji OpenTelemetry usługi Azure Monitor.

Aby dowiedzieć się więcej na temat zbierania danych przy użyciu biblioteki OpenTelemetry, zapoznaj się z tematem Data Collection Basics (Podstawy zbierania danych) lub OpenTelemetry FAQ (Często zadawane pytania dotyczące zbierania danych).

Stan wydania openTelemetry

Oferty OpenTelemetry są dostępne dla aplikacji .NET, Node.js, Python i Java. Aby uzyskać stan wersji funkcji po funkcji, zobacz często zadawane pytania.

Włączanie funkcji OpenTelemetry za pomocą usługi Application Insights

Wykonaj kroki opisane w tej sekcji, aby instrumentować aplikację przy użyciu funkcji OpenTelemetry. Wybierz kartę dla instrukcji specyficznych dla języka.

Uwaga

Platforma .NET obejmuje wiele scenariuszy, w tym klasycznych ASP.NET, aplikacji konsolowych, formularzy systemu Windows (WinForms) i innych.

Wymagania wstępne

Napiwek

Jeśli przeprowadzasz migrację z klasycznego interfejsu API usługi Application Insights, zapoznaj się z naszą dokumentacją migracji.

Instalowanie biblioteki klienta

Zainstaluj najnowszy Azure.Monitor.OpenTelemetry.AspNetCore pakiet NuGet:

dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore 

Modyfikowanie aplikacji

Zaimportuj przestrzeń nazw, dodaj bibliotekę Azure.Monitor.OpenTelemetry.AspNetCore OpenTelemetry i skonfiguruj ją tak, aby korzystała z usługi Azure Monitor w program.cs klasie:

// Import the Azure.Monitor.OpenTelemetry.AspNetCore namespace.
using Azure.Monitor.OpenTelemetry.AspNetCore;

var builder = WebApplication.CreateBuilder(args);

// Add OpenTelemetry and configure it to use Azure Monitor.
builder.Services.AddOpenTelemetry().UseAzureMonitor();

var app = builder.Build();

app.Run();

Kopiowanie parametry połączenia z zasobu usługi Application Insights

Parametry połączenia jest unikatowa i określa, gdzie usługa Azure Monitor OpenTelemetry Distro wysyła zebrane dane telemetryczne.

Napiwek

Jeśli nie masz jeszcze zasobu usługi Application Insights, utwórz go w tym przewodniku. Zalecamy utworzenie nowego zasobu zamiast używania istniejącego zasobu.

Aby skopiować parametry połączenia:

  1. Przejdź do okienka Przegląd zasobu usługi Application Insights.
  2. Znajdź parametry połączenia.
  3. Umieść kursor na parametry połączenia i wybierz ikonę Kopiuj do schowka.

Zrzut ekranu przedstawiający przegląd i parametry połączenia usługi Application Insights.

Wklej parametry połączenia w środowisku

Aby wkleić parametry połączenia, wybierz spośród następujących opcji:

Ważne

Zalecamy ustawienie parametry połączenia za pomocą kodu tylko w lokalnych środowiskach deweloperskich i testowych.

W przypadku środowiska produkcyjnego użyj zmiennej środowiskowej lub pliku konfiguracji (tylko język Java).

  • Ustawianie za pomocą zalecanej zmiennej środowiskowej -

    Zastąp <Your connection string> ciąg w poniższym poleceniu swoim parametry połączenia.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • Ustawianie tylko za pomocą pliku - konfiguracji w języku Java

    Utwórz plik konfiguracji o nazwie applicationinsights.jsoni umieść go w tym samym katalogu, co applicationinsights-agent-3.6.0.jar w przypadku następującej zawartości:

    {
      "connectionString": "<Your connection string>"
    }
    

    Zastąp <Your connection string> element w poprzednim formacie JSON unikatowym parametry połączenia.

  • Ustaw tylko za pomocą kodu - ASP.NET Core, Node.js i Python

    Zobacz parametry połączenia konfiguracji, aby zapoznać się z przykładem ustawienia parametry połączenia za pomocą kodu.

Uwaga

Jeśli ustawisz parametry połączenia w wielu miejscach, zmienna środowiskowa będzie określana priorytetowo w następującej kolejności:

  1. Kod
  2. Zmienna środowiskowa
  3. Plik konfiguracji

Potwierdzanie, że dane przepływają

Uruchom aplikację, a następnie otwórz usługę Application Insights w witrynie Azure Portal. Wyświetlenie danych może potrwać kilka minut.

Zrzut ekranu przedstawiający kartę Przegląd usługi Application Insights z wyróżnionymi żądaniami serwera i czasem odpowiedzi serwera.

Usługa Application Insights jest teraz włączona dla aplikacji. Poniższe kroki są opcjonalne i umożliwiają dalsze dostosowywanie.

Ważne

Jeśli masz co najmniej dwie usługi, które emitują dane telemetryczne do tego samego zasobu usługi Application Insights, musisz ustawić nazwy ról w chmurze, aby reprezentować je prawidłowo na mapie aplikacji.

W ramach instrumentacji usługi Application Insights zbieramy i wysyłamy dane diagnostyczne do firmy Microsoft. Te dane pomagają nam uruchamiać i ulepszać usługę Application Insights. Aby dowiedzieć się więcej, zobacz Statsbeat in aplikacja systemu Azure Insights (Statystyki w usłudze aplikacja systemu Azure Insights).

Przykładowe aplikacje

Przykładowe aplikacje OpenTelemetry w usłudze Azure Monitor są dostępne dla wszystkich obsługiwanych języków:

Następne kroki