Habilitación de Azure Monitor OpenTelemetry para aplicaciones de .NET, Node.js, Python y Java
En este artículo, se describe cómo habilitar y configurar la recopilación de datos basada en OpenTelemetry en Application Insights. Distribución de OpenTelemetry de Azure Monitor:
- Proporciona una distribución de OpenTelemetry que incluye compatibilidad con características específicas de Azure Monitor.
- Habilita la telemetría automática mediante la inclusión de bibliotecas de instrumentación de OpenTelemetry para recopilar seguimientos, métricas, registros y excepciones.
- Permite recopilar telemetría personalizada.
- Admite Live Metrics para supervisar y recopilar más datos de telemetría de aplicaciones web activas en producción.
Para más información sobre las ventajas de usar la distribución de OpenTelemetry de Azure Monitor, consulte ¿Por qué debo usar la distribución de OpenTelemetry de Azure Monitor?.
Para más información sobre la recopilación de datos mediante OpenTelemetry, consulte Conceptos básicos de recopilación de datos o Preguntas más frecuentes sobre OpenTelemetry.
Estado de la versión de OpenTelemetry
Las ofertas de OpenTelemetry están disponibles para aplicaciones .NET, Node.js, Python y Java. Para obtener un estado de versión de característica por característica, consulte las preguntas más frecuentes.
Habilitación de OpenTelemetry con Application Insights
Siga los pasos de esta sección para instrumentar la aplicación con OpenTelemetry. Seleccione una pestaña para obtener instrucciones específicas del lenguaje.
Nota:
.NET cubre varios escenarios, incluido ASP.NET clásico, las aplicaciones de consola, Windows Forms (WinForms) y mucho más.
Requisitos previos
- Una suscripción de Azure: Creación de una suscripción de Azure gratis
- Recurso de Application Insights: Creación de un recurso de Application Insights.
- Aplicación de ASP.NET Core con una versión oficialmente compatible de .NET
Sugerencia
Si va a migrar desde la API clásica de Application Insights, consulte nuestra documentación de migración.
Instalación de la biblioteca cliente
Instale el paquete NuGet Azure.Monitor.OpenTelemetry.AspNetCore
más reciente:
dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore
Modifique su aplicación
Importe el espacio de nombres Azure.Monitor.OpenTelemetry.AspNetCore
, agregue OpenTelemetry y configúrelo para usar Azure Monitor en la clase program.cs
:
// 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();
Copie la cadena de conexión de su recurso de Application Insights
La cadena de conexión es única y especifica donde la distribución de OpenTelemetry de Azure Monitor envía la telemetría que recopila.
Sugerencia
Si aún no tiene un recurso de Application Insights, cree uno siguiendo esta guía. Se recomienda crear un nuevo recurso en lugar de usar uno existente.
Para copiar la cadena de conexión:
- Vaya al panel de Información general del recurso de Application Insights.
- Busque su cadena de conexión.
- Mantenga el puntero sobre la cadena de conexión y seleccione el icono Copiar al Portapapeles.
Pegue la cadena de conexión en su entorno
Para pegar la cadena de conexión, seleccione entre las opciones siguientes:
Importante
Se recomienda establecer la cadena de conexión a través del código solo en entornos de prueba y desarrollo locales.
Para producción, use una variable de entorno o un archivo de configuración (solo Java).
Establecer a través de la variable de entorno - recomendado
Sustituya
<Your connection string>
en el siguiente comando por su cadena de conexión.APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
Establecer mediante el archivo de configuración - solo Java
Cree un archivo de configuración denominado
applicationinsights.json
y colóquelo en el mismo directorio queapplicationinsights-agent-.jar
, con el siguiente contenido:{ "connectionString": "<Your connection string>" }
Sustituya
<Your connection string>
en el JSON anterior por su cadena de conexión única.Establecer mediante código - solo ASP.NET Core, Node.js y Python
Consulte configuración de cadena de conexión para ver un ejemplo de configuración de la cadena de conexión mediante código.
Nota:
Si establece la cadena de conexión en varios lugares, la variable de entorno se priorizará en el orden siguiente:
- Código
- Variable del entorno
- Archivo de configuración
Confirmación de que los datos fluyen
Ejecute la aplicación y abra Application Insights en Azure Portal. Los datos pueden tardar unos minutos en aparecer.
Application Insights ahora está habilitado para su aplicación. Los pasos siguientes son opcionales y permiten una mayor personalización.
Importante
Si tiene dos o más servicios que emiten datos de telemetría al mismo recurso de Application Insights, es obligatorio establecer nombres de rol en la nube para representarlos correctamente en el mapa de aplicación.
Como parte del uso de la instrumentación de Application Insights, se recopilan y envían datos de diagnóstico a Microsoft. Estos datos ayudan a ejecutar y mejorar Application Insights. Para obtener más información, consulte Statsbeat en Azure Application Insights.
Aplicaciones de ejemplo
Las aplicaciones de ejemplo de OpenTelemetry de Azure Monitor están disponibles para todos los lenguajes admitidos:
- Aplicación de ejemplo de ASP.NET Core
- Aplicación de ejemplo de NET
- Aplicaciones de ejemplo de Java
- Aplicaciones de ejemplo nativas de GraalVM de Java
- Aplicación de ejemplo de Node.js
- Aplicaciones de ejemplo de Python
Pasos siguientes
- Para más información sobre cómo agregar y modificar OpenTelemetry de Azure Monitor, consulte Agregar y modificar OpenTelemetry de Azure Monitor.
- Para configurar aún más la distribución de OpenTelemetry, consulte Configuración de OpenTelemetry de Azure Monitor.
- Para revisar el código fuente, consulte el repositorio de GitHub de Azure Monitor AspNetCore.
- Para instalar el paquete NuGet, buscar actualizaciones o consultar las notas de la versión, visite la página Paquete NuGet de Azure Monitor AspNetCore.
- Para familiarizarse con Azure Monitor y OpenTelemetry, consulte la aplicación de ejemplo de Azure Monitor.
- Para obtener más información sobre OpenTelemetry y su comunidad, visite el repositorio de GitHub de .NET para OpenTelemetry.
- Habilite la supervisión de usuarios web o de explorador para habilitar las experiencias de uso.
- Para revisar las preguntas frecuentes, los pasos de solución de problemas, las opciones de soporte técnico o para proporcionar comentarios sobre OpenTelemetry, consulte Ayuda, soporte técnico y comentarios sobre Azure Monitor Application Insights.