Příklad: Použití OpenTelemetry se službou Azure Monitor a Application Insights
Existuje mnoho komerčních systémů pro správu výkonu aplikací (APM), ze kterých si můžete vybrat. Primárním produktem pro monitorování aplikací v Azure je Application Insights, což je součást služby Azure Monitor. Jednou z výhod integrovaného produktu APM je, že může korelovat různé zdroje dat pozorovatelnosti. Application Insights má bohaté možnosti zobrazení a analýzy.
1. Přidání distribuce Application Insights
Aby bylo ASP.NET prostředí se službou Azure Monitor jednodušší, je k dispozici balíček obálky (označovaný jako Distro v OTel parlance), který většinu náročné konfigurace OpenTelemetry provádí.
Tento příklad vychází z návodu OTLP. Postupujte podle kroků 1 až 5 a vytvořte kód aplikace pomocí vývozce OTLP. V tomto příkladu rozšíříme kód tak, aby odesílal data do Application Insights.
Proveďte stejný projekt z kroku 5 a přidejte následující balíček NuGet:
<ItemGroup>
<PackageReference Include="Azure.Monitor.OpenTelemetry.AspNetCore" Version="1.3.0-beta.1" />
</ItemGroup>
Poznámka:
Nahraďte verzi nejnovější dostupnou verzí.
2. Nastavení vývozce
Před přidejte následující inicializační kód builder.Build();
OTel:
if (!string.IsNullOrEmpty(builder.Configuration["APPLICATIONINSIGHTS_CONNECTION_STRING"]))
{
otel.UseAzureMonitor();
}
UseAzureMonitor()
je magie, která přidá společné knihovny instrumentace a exportéry pro Application Insights. Stačí do registrace přidat vlastní Meter
jména a ActivitySource
jména.
Stejné inicializace OTel funguje pro OTLP jako pro Application Insights, rozdíl je, který exportér vyberete. Obě můžete použít ve stejné aplikaci a vybrat mezi nimi definováním vhodných proměnných prostředí.
3. Zadejte připojovací řetězec
Pokud ještě nejste zákazníkem Azure, můžete si vytvořit bezplatný účet na adrese https://azure.microsoft.com/free/. Přihlaste se k webu Azure Portal a buď vyberte existující prostředek Application Insights, nebo vytvořte nový.https://ms.portal.azure.com/#create/Microsoft.AppInsights
Application Insights identifikuje, která instance se má použít k ukládání a zpracování dat prostřednictvím instrumentačního klíče a připojovací řetězec, které se nacházejí v pravém horním rohu uživatelského rozhraní portálu.
Pokud používáte službu Aplikace Azure Service, tato připojovací řetězec se automaticky předá aplikaci jako proměnná prostředí. V případě jiných služeb nebo při místním spuštění je potřeba ji předat pomocí APPLICATIONINSIGHTS_CONNECTION_STRING
proměnné prostředí nebo v appsettings.json. Pro místní spuštění je nejjednodušší přidat hodnotu do appsettings.development.json:
"AzureMonitor": {
"ConnectionString": "InstrumentationKey=12345678-abcd-abcd-abcd-12345678..."
}
Poznámka:
Nahraďte hodnotu hodnotou z vaší instance.
4. Prozkoumání aplikace v Application Insights
Při spuštění aplikace se telemetrie odešle do Application Insights. Teď byste měli získat protokoly, metriky a distribuované trasování pro vaši aplikaci. Na webu Azure Portal otevřete prostředek Application Insights.