Compartir vía


Habilite 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 Azure Monitor Application Insights. La distribución Azure Monitor OpenTelemetry:

  • Proporciona una distribución 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 datos de telemetría de aplicaciones web activas en producción.

Para obtener más información sobre las ventajas de usar la distribución de OpenTelemetry Azure Monitor, consulte Why should I use the Azure Monitor OpenTelemetry Distro.

Para más información sobre la recopilación de datos mediante OpenTelemetry, consulte Recopilación de OpenTelemetry (OTel) para experiencias de Application Insights o preguntas más frecuentes sobre OpenTelemetry.

Estado de la versión de OpenTelemetry

Las ofertas de OpenTelemetry están disponibles para aplicaciones de .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.

Nota:

Para las aplicaciones de Azure Function, consulte Usar OpenTelemetry con Azure Functions.

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 idioma.

Nota:

.NET trata varios escenarios, incluidos los ASP.NET clásicos, las aplicaciones de consola, Windows Forms (WinForms) y mucho más.

Requisitos previos

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 Azure.Monitor.OpenTelemetry.AspNetCoreNuGet más reciente:

dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore 

Modifique su aplicación

Importar el espacio de nombres Azure.Monitor.OpenTelemetry.AspNetCore, agregar OpenTelemetry y configurarlo 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();

Copia la cadena de conexión de tu recurso de Application Insights

La cadena de conexión es única y especifica adónde envía la telemetría que recopila Azure Monitor Distro OpenTelemetry.

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:

  1. Vaya al panel de Información general del recurso de Application Insights.
  2. Encuentre su cadena de conexión.
  3. Mantenga el puntero sobre la cadena de conexión y seleccione el icono Copiar al portapapeles.

Captura de pantalla que muestra información general de Application Insights y cadena de conexión.

Pega la cadena de conexión en tu 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 los entornos de desarrollo y prueba locales.

Para producción, use una variable de entorno o un archivo de configuración (solo Java).

  • Establecido a través de una variable de entornorecomendado

    Reemplace <Your cadena de conexión> en el siguiente comando con su cadena de conexión.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • Set a través del archivo de configuración - Solo Java

    Cree un archivo de configuración denominado y colóquelo en el mismo directorio que , con el siguiente contenido:

    {
      "connectionString": "<Your connection string>"
    }
    

    Reemplace <Your cadena de conexión> en el código JSON anterior por su cadena de conexión única.

  • Establecido a través de código - ASP.NET Core, Node.js y solo Python

    Consulte cadena de conexión configuration para obtener un ejemplo de configuración de cadena de conexión mediante código.

Nota:

Si establece la cadena de conexión en varios lugares, la variable de entorno se prioriza en el orden siguiente:

  1. Código
  2. Variable del entorno
  3. Archivo de configuración

Confirmación de que los datos fluyen

Ejecute la aplicación y abra Application Insights en el portal de Azure. Los datos pueden tardar unos minutos en aparecer.

Captura de pantalla de la pestaña "Información general" de Application Insights con las solicitudes de servidor y el tiempo de respuesta del servidor resaltados

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.

Nota:

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. Obtenga más información en preguntas más frecuentes sobre Application Insights.

Aplicaciones de ejemplo

Azure Monitor ofrece aplicaciones de ejemplo de OpenTelemetry que están disponibles para todos los idiomas admitidos.

Pasos siguientes