Povolení OpenTelemetry služby Azure Monitor pro aplikace .NET, Node.js, Python a Java
Článek
Tento článek popisuje, jak povolit a nakonfigurovat shromažďování dat založených na OpenTelemetry v rámci Application Insights. Distribuce OpenTelemetry služby Azure Monitor:
Poskytuje distribuci OpenTelemetry, která zahrnuje podporu funkcí specifických pro Azure Monitor.
Umožňuje automatickou telemetrii zahrnutím knihoven instrumentace OpenTelemetry ke shromažďování trasování, metrik, protokolů a výjimek.
Podporuje živé metriky pro monitorování a shromažďování dalších telemetrických dat z živých webových aplikací v produkčním prostředí.
Další informace o výhodách používání distrou OpenTelemetry služby Azure Monitor najdete v tématu Proč používat distro openTelemetry služby Azure Monitor.
Další informace o shromažďování dat pomocí OpenTelemetry najdete v tématu Základy shromažďování dat nebo nejčastější dotazy k OpenTelemetry.
Stav vydání OpenTelemetry
Nabídky OpenTelemetry jsou k dispozici pro aplikace .NET, Node.js, Python a Java. Informace o stavu vydání funkcí podle funkcí najdete v nejčastějších dotazech.
Povolení OpenTelemetry pomocí Application Insights
Pomocí kroků v této části instrumentujte aplikaci pomocí OpenTelemetry. Vyberte kartu pro pokyny specifické pro jazyk.
Poznámka:
.NET se zabývá několika scénáři, včetně klasických ASP.NET, konzolových aplikací, model Windows Forms (WinForms) a dalších.
Pokud se nespoléháte na žádné vlastnosti uvedené v tabulce, které nejsou podporované, bude shim ApplicationInsights vaší nejjednodušší cestou vpřed po přechodu z beta verze.
Pokud se na některé z těchto vlastností spoléháte, pokračujte v distribuci OpenTelemetry služby Azure Monitor. Brzy vám poskytneme průvodce migrací.
Tip
Pokud migrujete z klasického rozhraní API Application Insights, prohlédni si naše dokumentace k migraci.
Aplikace Pythonu využívající Python 3.8 nebo novější
Tip
Pokud migrujete z OpenCensus, prohlédni si naše dokumentace k migraci.
Pokud upgradujete ze starší verze 3.x, může to mít vliv na změnu výchozích hodnot nebo drobných rozdílů ve shromažďovaných datech. Další informace najdete v části migrace v poznámkách k verzi.
3.5.0, 3.4.0, 3.3.0, 3.2.0 a 3.1.0
Azure.Monitor.OpenTelemetry.AspNetCore Naimportujte obor názvů, přidejte OpenTelemetry a nakonfigurujte ho tak, aby používal Azure Monitor ve vaší program.cs třídě:
// 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();
Přidejte exportér Azure Monitoru do každého signálu program.cs OpenTelemetry ve třídě:
// Create a new tracer provider builder and add an Azure Monitor trace exporter to the tracer provider builder.
// It is important to keep the TracerProvider instance active throughout the process lifetime.
// See https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/docs/trace#tracerprovider-management
var tracerProvider = Sdk.CreateTracerProviderBuilder()
.AddAzureMonitorTraceExporter();
// Add an Azure Monitor metric exporter to the metrics provider builder.
// It is important to keep the MetricsProvider instance active throughout the process lifetime.
// See https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/docs/metrics#meterprovider-management
var metricsProvider = Sdk.CreateMeterProviderBuilder()
.AddAzureMonitorMetricExporter();
// Create a new logger factory.
// It is important to keep the LoggerFactory instance active throughout the process lifetime.
// See https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/docs/logs#logger-management
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddOpenTelemetry(logging =>
{
logging.AddAzureMonitorLogExporter();
});
});
Automatická správa je povolená prostřednictvím změn konfigurace. Nejsou vyžadovány žádné změny kódu.
Nasměrujte virtuální počítač Java (JVM) na soubor JAR přidáním -javaagent:"path/to/applicationinsights-agent-3.6.2.jar" do prostředků JVM vaší aplikace.
Poznámka:
Vzorkování je ve výchozím nastavení povolené rychlostí 5 požadavků za sekundu a pomáhá tak s řízením nákladů. Ve scénářích překračujících tuto rychlost můžou chybět telemetrická data. Další informace o úpravě konfigurace vzorkování najdete v tématu přepsání vzorkování.
Automatická správa je povolená prostřednictvím změn konfigurace. Nejsou vyžadovány žádné změny kódu.
// Import the `useAzureMonitor()` function from the `@azure/monitor-opentelemetry` package.
const { useAzureMonitor } = require("@azure/monitor-opentelemetry");
// Call the `useAzureMonitor()` function to configure OpenTelemetry to use Azure Monitor.
useAzureMonitor();
# Import the `configure_azure_monitor()` function from the
# `azure.monitor.opentelemetry` package.
from azure.monitor.opentelemetry import configure_azure_monitor
# Import the tracing api from the `opentelemetry` package.
from opentelemetry import trace
# Configure OpenTelemetry to use Azure Monitor with the
# APPLICATIONINSIGHTS_CONNECTION_STRING environment variable.
configure_azure_monitor()
Zkopírování připojovací řetězec z prostředku Application Insights
Připojovací řetězec je jedinečný a určuje, kde distro Služby Azure Monitor OpenTelemetry odesílá telemetrii, která shromažďuje.
Vytvořte konfigurační soubor s názvem applicationinsights.jsona umístěte ho do stejného adresáře jako applicationinsights-agent-3.6.2.jar s následujícím obsahem:
Pokud nastavíte připojovací řetězec na více místech, proměnná prostředí bude mít prioritu v následujícím pořadí:
Kód
Proměnná prostředí
Konfigurační soubor
Potvrzení toku dat
Spusťte aplikaci a pak otevřete Application Insights na webu Azure Portal. Zobrazení dat může trvat několik minut.
Application Insights je teď pro vaši aplikaci povolená. Následující kroky jsou volitelné a umožňují další přizpůsobení.
Důležité
Pokud máte dvě nebo více služeb, které generují telemetrii do stejného prostředku Application Insights, musíte nastavit názvy cloudových rolí tak, aby je správně představovaly na mapě aplikace.
V rámci instrumentace Application Insights shromažďujeme a odesíláme diagnostická data do Microsoftu. Tato data nám pomáhají spouštět a vylepšovat Application Insights. Další informace najdete v tématu Statsbeat v Aplikace Azure lication Insights.
Ukázkové aplikace
Ukázkové aplikace Azure Monitor OpenTelemetry jsou dostupné pro všechny podporované jazyky:
Podrobnosti o přidávání a úpravách OpenTelemetry služby Azure Monitor najdete v tématu Přidání a úprava OpenTelemetry služby Azure Monitor.
Další konfiguraci distribuce OpenTelemetry najdete v tématu Konfigurace OpenTelemetry služby Azure Monitor.
Informace o zdrojovém kódu najdete v úložišti Azure Monitor AspNetCore na GitHubu.
Pokud chcete nainstalovat balíček NuGet, vyhledat aktualizace nebo zobrazit poznámky k verzi, podívejte se na stránku balíčku NuGet AspNetCore služby Azure Monitor.
Pokud se chcete seznámit se službou Azure Monitor a OpenTelemetry, podívejte se na ukázkovou aplikaci Azure Monitoru.
Další informace o OpenTelemetry a její komunitě najdete v úložišti OpenTelemetry .NET Na GitHubu.
Pokud chcete povolit používání, povolte monitorování uživatelů ve webovém nebo prohlížeči.
Podrobnosti o přidávání a úpravách OpenTelemetry služby Azure Monitor najdete v tématu Přidání a úprava OpenTelemetry služby Azure Monitor.
Další konfiguraci distribuce OpenTelemetry najdete v tématu Konfigurace OpenTelemetry služby Azure Monitor.
Pokud chcete zkontrolovat zdrojový kód, projděte si úložiště GitHubu exportéru služby Azure Monitor.
Pokud chcete nainstalovat balíček NuGet, vyhledat aktualizace nebo zobrazit poznámky k verzi, podívejte se na stránku balíčku NuGet exportéru služby Azure Monitor.
Pokud se chcete seznámit se službou Azure Monitor a OpenTelemetry, podívejte se na ukázkovou aplikaci Azure Monitoru.
Další informace o OpenTelemetry a její komunitě najdete v úložišti OpenTelemetry .NET Na GitHubu.
Pokud chcete povolit používání, povolte monitorování uživatelů ve webovém nebo prohlížeči.