Rastreo de aplicaciones .NET Framework
Requisitos de compatibilidad
Tiempos de ejecución de .NET Framework compatibles
El rastreador .NET es compatible con la instrumentación en .NET Framework desde 4.6.1 en adelante.
Para ver la lista completa de los requisitos de compatibilidad para las bibliotecas .NET Framework y de la arquitectura de procesadores de Datadog (incluidas las versiones heredadas y de mantenimiento), consulta los requisitos de compatibilidad.
Para instalar y empezar a utilizar
Nota: La instrumentación automática de Datadog se basa en la API de generación de perfiles CLR de .NET. Esta API sólo permite un suscriptor (por ejemplo, Datadog APM). Para garantizar la máxima visibilidad, ejecuta sólo una solución APM en tu entorno de aplicación.
Instalación
Antes de empezar, asegúrate de haber instalado y configurado el Agent.
- Instala el rastreador.
- Activa el rastreador para tu servicio.
- Visualiza tus datos en directo.
Instalación del rastreador
Después de instalar y configurar tu Datadog Agent, el siguiente paso es añadir la biblioteca de rastreo directamente en la aplicación para instrumentarla. Consulta más bibliografía con información sobre la compatibilidad.
Instala el rastreador .NET de Datadog en toda la máquina para que se instrumenten todos los servicios de la máquina, o puedes instalarlo aplicación por aplicación para que los desarrolladores gestionen la instrumentación a través de las dependencias de la aplicación. Para ver más instrucciones sobre la instalación en toda la máquina, haz clic en la pestaña de Windows. Para ver más instrucciones sobre la instalación aplicación por aplicación, haz clic en la pestaña de NuGet.
Para instalar el rastreador .NET en toda la máquina:
Descarga el instalador de .NET Tracer MSI. Utiliza el instalador MSI x64 si estás ejecutando Windows de 64 bits; éste puede instrumentar tanto aplicaciones de 64 bits como de 32 bits. Elige el instalador x86 sólo si estás ejecutando Windows de 32 bits. A partir de la versión 3.0.0, sólo se proporciona el instalador x64, ya que no admitimos sistemas operativos de 32 bits.
Ejecuta el instalador MSI del rastreador .NET con privilegios administrativos.
También puedes aplicar un script para la configuración del MSI ejecutando lo siguiente en PowerShell: Start-Process -Wait msiexec -ArgumentList '/qn /i datadog-apm.msi'
Nota: Esta instalación no instrumenta aplicaciones que se ejecutan en IIS. En el caso de aplicaciones que se ejecutan en IIS, sigue el proceso de Windows para la instalación en toda la máquina.
Para instalar el rastreador .NET aplicación por aplicación:
- Añade el paquete NuGet
Datadog.Trace.Bundle
a tu aplicación.
Activación del rastreador para tu servicio
Para activar el rastreador .NET para tu servicio, configura las variables de entorno necesarias y reinicia la aplicación.
Para obtener más información sobre los diferentes métodos de configurar variables de entorno, consulta Proceso de configuración de variables de entorno.
El instalador MSI del rastreador .NET añade todas las variables de entorno necesarias. No necesitas configurar ninguna variable de entorno.
Para instrumentar aplicaciones alojadas en IIS automáticamente, ejecuta los siguientes comandos como administrador para detener e reiniciar IIS completamente:
net stop /y was
net start w3svc
# Also, start any other services that were stopped when WAS was shut down.
Note: Always use the commands above to completely stop and restart IIS to enable the tracer. Avoid using the IIS Manager GUI application or iisreset.exe
.
Servicios fuera de IIS
Nota: El tiempo de ejecución de .NET intenta cargar el .NET biblioteca en cualquier.NET proceso que se inicie con estas variables entorno configuradas. Debe limitar Instrumentación sólo a las aplicaciones que necesitan ser instrumentadas. No configure estas variables entorno de forma global, ya que esto provocaría la instrumentación de todas las aplicaciones .NET procesos en host.
Configura las siguientes variables de entorno, obligatorias para la instrumentación automática, a fin de adjuntarlas a tu aplicación:
En el caso de aplicaciones y servicios de Windows independientes, debes reiniciar la aplicación manualmente.
Sigue las instrucciones Readme (Léeme) del paquete, también disponibles en el repositorio dd-trace-dotnet
.
En el repositorio, también hay ejemplos de Docker disponibles.
Visualización en directo de tus datos
Después de activar el rastreador .NET para tu servicio:
Reinicia tu servicio.
Crea la carga de la aplicación.
En Datadog, ve a APM > APM Traces (APM* > **Trazas APM).
Configuración
Si es necesario, configura la biblioteca de rastreo para que envíe datos de telemetría sobre el rendimiento de la aplicación, incluida la configuración del etiquetado unificado de servicios. Para ver más detalles, consulta la configuración de bibliotecas.
Instrumentación personalizada
La instrumentación personalizada depende de tu instrumentación automática e incluye pasos adicionales según el método:
Nota: A partir de la versión 3.0.0, la instrumentación personalizada requiere el uso de la instrumentación automática. Debes intentar mantener sincronizadas las versiones automáticas y personalizadas del paquete de instrumentación (por ejemplo: MSI y NuGet) y asegurarte de no mezclar versiones principales de paquetes.
Para utilizar la instrumentación personalizada en tu aplicación .NET:
- Instrumenta tu aplicación utilizando la instrumentación automática.
- Añade el paquete NuGet
Datadog.Trace
a tu aplicación. - En tu código de aplicación, accede al rastreador global a través de la propiedad de
Datadog.Trace.Tracer.Instance
para crear nuevos tramos (spans).
Para utilizar la instrumentación personalizada en tu aplicación .NET:
- En tu código de aplicación, accede al rastreador global a través de la propiedad de
Datadog.Trace.Tracer.Instance
para crear nuevos tramos.
Para obtener más información sobre cómo añadir tramos y etiquetas (tags) para la instrumentación personalizada, consulta la documentación para la instrumentación personalizada de .NET.
Configuración de variables de entorno para procesos
Para adjuntar la instrumentación automática a tu servicio, debes configurar las variables de entorno obligatorias antes de iniciar la aplicación. Consulta la sección Activar el rastreador para tu servicio para identificar las variables de entorno que debes configurar, dependiendo del método que has utilizado para instalar el rastreador .NET y sigue los siguientes ejemplos para configurar las variables de entorno correctamente, según el entorno de tu servicio instrumentado.
Nota: El tiempo de ejecución de .NET intenta cargar el .NET biblioteca en cualquier.NET proceso que se inicie con estas variables entorno configuradas. Debe limitar Instrumentación sólo a las aplicaciones que necesitan ser instrumentadas. No configure estas variables entorno de forma global, ya que esto provocaría la instrumentación de todas las aplicaciones .NET procesos en host.
Servicios de Windows
En el Editor de registro, crea un valor de cadena múltiple llamado Environment
en la clave HKLM\System\CurrentControlSet\Services\<SERVICE NAME>
y configura los datos de valor como:
Set-ItemProperty HKLM:SYSTEM\CurrentControlSet\Services\<SERVICE NAME> -Name Environment -Value 'COR_ENABLE_PROFILING=1'
IIS
Una vez instalado el MSI, no es necesaria ninguna configuración adicional para instrumentar tus sitios de IIS automáticamente. Sigue los siguientes pasos para configurar variables de entorno adicionales, heredadas por todos los sitios de IIS:
- Abre el Editor de registro, busca el valor de cadena múltiple llamado
Environment
en la clave HKLM\System\CurrentControlSet\Services\WAS
y añade las variables de entorno, una por cada línea. Por ejemplo, para añadir la inyección de logs y métricas de tiempos de ejecución, añade las siguientes líneas a los datos de valor:DD_LOGS_INJECTION=true
DD_RUNTIME_METRICS_ENABLED=true
- Ejecuta los siguientes comandos para reiniciar los IIS:
net stop /y was
net start w3svc
# Also, start any other services that were stopped when WAS was shut down.
Aplicaciones de consola
Para instrumentar una aplicación de consola automáticamente, antes de iniciar tu aplicación configura las variables de entorno desde un archivo de lote:
rem Set required environment variables
SET COR_ENABLE_PROFILING=1
rem (Optionally) Set additional Datadog environment variables, for example:
SET DD_LOGS_INJECTION=true
SET DD_RUNTIME_METRICS_ENABLED=true
rem Start application
dotnet.exe example.dll
Referencias adicionales
Más enlaces, artículos y documentación útiles: