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
- ✅ 1: Usługa OpenTelemetry jest dostępna dla wszystkich klientów z formalną pomocą techniczną.
- ⚠✔ 2: Funkcja OpenTelemetry jest dostępna jako publiczna wersja zapoznawcza. Dodatkowe warunki użytkowania dotyczące wersji zapoznawczych platformy Microsoft Azure
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
- Subskrypcja platformy Azure: tworzenie bezpłatnej subskrypcji platformy Azure
- Zasób usługi Application Insights: tworzenie zasobu usługi Application Insights
- ASP.NET Core aplikacji przy użyciu oficjalnie obsługiwanej wersji platformy .NET Core
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:
- Przejdź do okienka Przegląd zasobu usługi Application Insights.
- Znajdź parametry połączenia.
- 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.json
i 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:
- Kod
- Zmienna środowiskowa
- 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.
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.
- W przypadku pomoc techniczna platformy Azure problemów otwórz bilet pomoc techniczna platformy Azure.
- W przypadku problemów z funkcją OpenTelemetry skontaktuj się bezpośrednio ze społecznością platformy .NET OpenTelemetry .
- Aby uzyskać listę otwartych problemów związanych z eksporterem usługi Azure Monitor, zobacz stronę Problemów z usługą GitHub.
Opinie dotyczące programu OpenTelemetry
Aby przekazać opinię:
- Wypełnij ankietę opinii klientów społeczności OpenTelemetry.
- Poinformuj firmę Microsoft o sobie, dołączając do społeczności wczesnego wdrażania OpenTelemetry.
- Skontaktuj się z innymi użytkownikami usługi Azure Monitor w Microsoft Tech Community.
- Wyślij żądanie funkcji na forum opinii platformy Azure.
Następne kroki
- Aby uzyskać szczegółowe informacje na temat dodawania i modyfikowania usługi Azure Monitor OpenTelemetry, zobacz Dodawanie i modyfikowanie biblioteki OpenTelemetry usługi Azure Monitor
- Aby jeszcze bardziej skonfigurować dystrybucję OpenTelemetry, zobacz Konfigurowanie usługi Azure Monitor OpenTelemetry
- Aby przejrzeć kod źródłowy, zobacz repozytorium GitHub usługi Azure Monitor AspNetCore.
- Aby zainstalować pakiet NuGet, sprawdź aktualizacje 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 technologii 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.