Włączanie 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 technologii OpenTelemetry w Azure Monitor Application Insights przy użyciu dystrybucji Azure Monitor OpenTelemetry. OpenTelemetry jest otwartym standardem obserwowalności CNCF; Azure Monitor OpenTelemetry Distro to dystrybucja tego standardu firmy Microsoft, zoptymalizowana pod kątem usługi Azure Monitor. Dystrybucja:

Aby uzyskać więcej informacji na temat zalet korzystania z dystrybucji Azure Monitor OpenTelemetry, zobacz Dlaczego powinienem używać dystrybucji Azure Monitor OpenTelemetry.

Aby dowiedzieć się więcej na temat zbierania danych przy użyciu biblioteki OpenTelemetry, zapoznaj się z omówieniem usługi Application Insights lub często zadawanymi pytaniami dotyczącymi biblioteki OpenTelemetry.

Wykonaj kroki opisane w tym artykule, aby zainstalować dystrybucję, połączyć ją z zasobem usługi Application Insights i sprawdzić, czy dane telemetryczne przepływa do Azure Monitor.

Napiwek

Aby zapoznać się z ogólnym omówieniem opcji OpenTelemetry w Azure Monitor — natywnego pozyskiwania danych OTLP, dystrybucji Microsoft OpenTelemetry oraz kompleksowych rozwiązań obserwowalności — zobacz OpenTelemetry w Azure Monitor.

Stan wydania openTelemetry

Oferty OpenTelemetry są dostępne dla aplikacji .NET, Node.js, Python i Java. Aby uzyskać stan wersji dla poszczególnych funkcji, zobacz FAQ.

Uwaga

Dla aplikacji funkcji Azure zobacz Use OpenTelemetry with Azure Functions.

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.

Poniższa tabela zawiera podsumowanie pakietów i poleceń instalacji dla każdego obsługiwanego języka:

Język Package Zainstaluj polecenie
ASP.NET Core Azure.Monitor.OpenTelemetry.AspNetCore dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore
.NET Azure.Monitor.OpenTelemetry.Exporter dotnet add package Azure.Monitor.OpenTelemetry.Exporter
Java applicationinsights-agent-3.7.9.jar Pobierz z GitHub
Node.js @azure/monitor-opentelemetry npm install @azure/monitor-opentelemetry
Python azure-monitor-opentelemetry pip install azure-monitor-opentelemetry

Uwaga

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

Wymagania wstępne

Napiwek

Jeśli migrujesz ze starszych zestawów SDK usługi Application Insights, zapoznaj się z naszą dokumentacją migracji.

Instalowanie biblioteki klienta

Zainstaluj najnowszy pakiet Azure.Monitor.OpenTelemetry.AspNetCoreNuGet:

dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore

Modyfikowanie aplikacji

Zaimportuj przestrzeń nazw Azure.Monitor.OpenTelemetry.AspNetCore, dodaj bibliotekę OpenTelemetry i skonfiguruj ją do używania Azure Monitor w klasie program.cs:

// 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();

Skopiuj łańcuch połączenia z zasobu Application Insights

Ciąg połączeniowy jest unikatowy i określa, gdzie Azure Monitor OpenTelemetry Distro wysyła zebrane dane telemetryczne.

Napiwek

Jeśli nie masz jeszcze zasobu usługi Application Insights, utwórz go, postępując zgodnie z tym przewodnikiem. Zalecamy utworzenie nowego zasobu zamiast używania istniejącego zasobu.

Aby skopiować ten ciąg połączenia:

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

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

Wklej ciąg połączenia w swoim środowisku.

Aby wkleić parametry połączenia, użyj jednej z następujących metod:

Metoda Obsługiwane języki Zalecane dla
Zmienna środowiskowa Wszystko Produkcja
Plik konfiguracji (applicationinsights.json) Tylko Java Produkcja (Java)
Code ASP.NET Core, Node.js, Python Tylko lokalne tworzenie i testowanie

Ważne

Zalecamy ustawienie ciągu połączenia (parametry połączenia) poprzez kodowanie tylko w lokalnych środowiskach deweloperskich i testowych.

W przypadku środowiska produkcyjnego należy użyć zmiennej środowiskowej lub pliku konfiguracji (tylko Java).

  • Ustaw parametry połączenia usługi Application Insights jako zmienną środowiskową (zalecane w środowisku produkcyjnym)

    Zastąp <Your parametry połączenia> w poniższym poleceniu ciągiem połączenia.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • Ustaw parametry połączenia usługi Application Insights w pliku konfiguracji - Tylko dla języka Java

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

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

    Zastąp <Your parametry połączenia> w poprzednim pliku JSON swoją unikatową wartością parametry połączenia.

  • Ustaw parametry połączenia Application Insights w kodzie - Tylko ASP.NET Core, Node.js i Python

    Zobacz parametry połączenia configuration przykład ustawienia parametry połączenia za pomocą kodu.

Uwaga

Jeśli ustawisz parametry połączenia w wielu miejscach, obowiązuje następująca kolejność pierwszeństwa (od najwyższego do najniższego):

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

Potwierdzanie, że dane przepływają

Po skonfigurowaniu dystrybucji Azure Monitor OpenTelemetry oraz ustawieniu parametrów połączenia uruchom aplikację i otwórz zasób usługi Application Insights w portalu Azure, aby sprawdzić, czy pojawiają się ślady, metryki i dzienniki. 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.

Uwaga

W ramach instrumentacji usługi Application Insights zbieramy i wysyłamy dane diagnostyczne do Microsoft. Te dane pomagają nam uruchamiać i ulepszać usługę Application Insights. Dowiedz się więcej w artykule Application Insights FAQ (Często zadawane pytania dotyczące usługi Application Insights).

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.

Rozwiązywanie problemów, opinie i pomoc techniczna

Napiwek

Poniższe sekcje są dostępne we wszystkich artykułach dotyczących dystrybucji OpenTelemetry.

Troubleshooting

Opinie dotyczące usługi OpenTelemetry

Aby przekazać opinię:

Support

Wybierz kartę dla wybranego języka, aby odnaleźć opcje pomocy technicznej.

  • W przypadku problemów z obsługą Azure otwórz zgłoszenie do obsługi Azure.
  • W przypadku problemów z funkcją OpenTelemetry skontaktuj się bezpośrednio z OpenTelemetry .NET community.
  • Aby uzyskać listę otwartych problemów związanych z eksporterem Azure Monitor, zobacz stronę GitHub Problemy.

Następne kroki