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 usłudze OpenTelemetry w celu obsługi środowisk w usłudze Azure Monitor Application Insights. Omówimy sposób instalowania dystrybucji "Azure Monitor OpenTelemetry". Dystrybucja automatycznie zbiera ślady, metryki, dzienniki i wyjątki w aplikacji i jej zależnościach. Aby dowiedzieć się więcej na temat zbierania danych przy użyciu technologii OpenTelemetry, zobacz 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.

Język Stan wydania
ASP.NET Core ⚠✔ 2
.NET (eksporter) 1
Java 1
Node.js 1
Python 1

Przypisy dolne

Uwaga

Aby uzyskać informacje o stanie wydania funkcji po funkcji, zobacz często zadawane pytania. Dystrybucja ASP.NET Core jest poddawana dodatkowym testom stabilności przed ga. Możesz użyć eksportera .NET, jeśli potrzebujesz w pełni obsługiwanego rozwiązania OpenTelemetry dla aplikacji ASP.NET Core.

Rozpoczęcie pracy

Wykonaj kroki opisane w tej sekcji, aby instrumentować aplikację przy użyciu usługi OpenTelemetry.

Wymagania wstępne

Porada

Nie zalecamy używania zestawu SDK/interfejsu API społeczności OTel z usługą Azure Monitor OTel Distro, ponieważ automatycznie ładuje je jako zależności.

Instalowanie biblioteki klienta

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

dotnet add package --prerelease Azure.Monitor.OpenTelemetry.AspNetCore 

Włączanie usługi Azure Monitor Application Insights

Aby włączyć usługę Azure Monitor Application Insights, wprowadzasz drobne modyfikacje aplikacji i ustawiasz wartość "Parametry połączenia". Parametry połączenia informują aplikację, gdzie mają być wysyłane dane telemetryczne zbierane przez dystrybucję, i są one unikatowe dla Ciebie.

Modyfikowanie aplikacji

Dodaj UseAzureMonitor() element do uruchamiania aplikacji. W zależności od używanej wersji platformy .NET jest ona w startup.cs klasie lub program.cs .

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

// Create a new WebApplicationBuilder instance.
var builder = WebApplication.CreateBuilder(args);

// Add the OpenTelemetry NuGet package to the application's services and configure OpenTelemetry to use Azure Monitor.
builder.Services.AddOpenTelemetry().UseAzureMonitor();

// Build the application.
var app = builder.Build();

// Run the application.
app.Run();

Kopiowanie parametrów połączenia z zasobu usługi Application Insights

Porada

Jeśli jeszcze go nie masz, teraz jest to świetny czas na utworzenie zasobu usługi Application Insights. W tym przypadku zalecamy utworzenie nowego zasobu usługi Application Insights w porównaniu z użyciem istniejącego zasobu.

Aby skopiować unikatowe parametry połączenia:

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

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

Wklej parametry połączenia w środowisku

Aby wkleić parametry połączenia, wybierz następujące opcje:

A. Ustaw za pomocą zmiennej środowiskowej (zalecane)

Zastąp <Your Connection String> ciąg w poniższym poleceniu unikatowymi parametrami połączenia.

APPLICATIONINSIGHTS_CONNECTION_STRING=<Your Connection String>

B. Ustaw za pomocą pliku konfiguracji — tylko Java (zalecane)

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

{
  "connectionString": "<Your Connection String>"
}

Zastąp <Your Connection String> element w poprzednim formacie JSON unikatowymi parametrami połączenia.

C. Ustaw za pomocą kodu — ASP.NET Core, Node.js i Tylko język Python (niezalecane)

Zobacz Konfiguracja parametrów połączenia , aby zapoznać się z przykładem ustawienia parametrów połączenia za pomocą kodu.

Uwaga

Jeśli ustawisz parametry połączenia w więcej niż jednym miejscu, przestrzegamy następującej precendencji:

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

Potwierdzanie przepływu danych

Uruchom aplikację i otwórz kartę Zasób usługi Application Insights w Azure Portal. Wyświetlenie danych w portalu 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.

Teraz włączono usługę Application Insights dla aplikacji. Wszystkie 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).

Rozwiązywanie problemów

Nie działa? Zapoznaj się ze stroną rozwiązywania problemów dla ASP.NET Core.

Pomoc techniczna

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

Opinie dotyczące programu OpenTelemetry

Aby przekazać opinię:

Następne kroki