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
- Subskrypcja platformy Azure: tworzenie bezpłatnej subskrypcji platformy Azure
- Zasób usługi Application Insights: tworzenie zasobu usługi Application Insights
- ASP.NET Core Application przy użyciu oficjalnie obsługiwanej wersji platformy .NET
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:
- Przejdź do okienka Przegląd zasobu usługi Application Insights.
- Znajdź parametry połączenia.
- Umieść kursor na parametry połączenia i wybierz ikonę Kopiuj do schowka.
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.json
i umieść go w tym samym katalogu, coapplicationinsights-agent-3.6.2.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:
- Kod
- Zmienna środowiskowa
- 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.
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:
- przykładowa aplikacja ASP.NET Core
- Przykładowa aplikacja platformy NET
- Przykładowe aplikacje w języku Java
- Przykładowe aplikacje java GraalVM
- przykładowa aplikacja Node.js
- Przykładowe aplikacje języka Python
Następne kroki
- Aby uzyskać szczegółowe informacje na temat dodawania i modyfikowania usługi Azure Monitor OpenTelemetry, zobacz Dodawanie i modyfikowanie funkcji OpenTelemetry usługi Azure Monitor.
- Aby jeszcze bardziej skonfigurować dystrybucję OpenTelemetry, zobacz Azure Monitor OpenTelemetry configuration (Konfiguracja biblioteki OpenTelemetry w usłudze Azure Monitor).
- Aby przejrzeć kod źródłowy, zobacz repozytorium GitHub aspnetcore usługi Azure Monitor.
- Aby zainstalować pakiet NuGet, sprawdź dostępność aktualizacji lub wyświetl informacje o wersji, zobacz stronę Pakiet NuGet platformy AspNetCore usługi Azure Monitor.
- Aby zapoznać się z usługami Azure Monitor i OpenTelemetry, zobacz Przykładowa aplikacja usługi Azure Monitor.
- Aby dowiedzieć się więcej na temat biblioteki OpenTelemetry i jej społeczności, zobacz repozytorium GitHub OpenTelemetry .NET.
- Aby włączyć środowiska użycia, włącz monitorowanie użytkowników sieci Web lub przeglądarki.
- Aby zapoznać się z często zadawanymi pytaniami, krokami rozwiązywania problemów, opcjami pomocy technicznej lub przekazać opinię na temat funkcji OpenTelemetry, zobacz Pomoc, pomoc techniczna i opinie dotyczące usługi Azure Monitor Application Insights.