Logs de inicio

Los logs de inicio del rastreador capturan toda la información obtenible al inicio y la loguean como DATADOG TRACER CONFIGURATION, DATADOG TRACER DIAGNOSTICS, DATADOG ERROR, o DATADOG CONFIGURATION para simplificar la búsqueda dentro de tus logs.

Algunos lenguajes loguean en un archivo separado dependiendo de las convenciones del lenguaje y la seguridad de acceso a Stdout o equivalente. En esos casos, la localización de los logs se anotan en la pestaña de lenguaje a continuación. Algunos lenguajes no loguean entradas de diagnóstico, también se indica esto a continuación.

Los logs CONFIGURATION son una representación en formato JSON de los ajustes aplicados a tu rastreador. En los lenguajes en los que se realiza un check de conectividad del Agent, el JSON de configuración también incluirá una clave agent_error, que indica si se puede acceder al Agent.

Las entradas de log DIAGNOSTICS o ERROR, en los lenguajes que las producen, ocurren cuando el rastreador encuentra un error durante el inicio de la aplicación. Si ves líneas de log DIAGNOSTICS o ERROR, confirma desde el log indicado que los ajustes y configuraciones se aplican correctamente.

Si no ves logs en absoluto, asegúrate de que tus logs de aplicación no están silenciados y de que tu nivel de log es como mínimo INFO cuando proceda.

File Location:

Los archivos de log se guardan por defecto en los siguientes directorios. Utiliza la configuración de DD_TRACE_LOG_DIRECTORY para cambiar estas rutas.

PlataformaRuta
Windows%ProgramData%\Datadog .NET Tracer\logs\
Linux/var/log/datadog/dotnet/
Linux (cuando se utiliza la inyección de la biblioteca de Kubernetes)/datadog-lib/logs
Azure App Service%AzureAppServiceHomeDirectory%\LogFiles\datadog

Nota: En Linux, debes crear el directorio de logs antes de activar el modo de depuración.

Desde la versión 2.19.0, puedes utilizar el ajuste DD_TRACE_LOGFILE_RETENTION_DAYS para configurar el rastreador para borrar archivos de log del directorio de registro actual al iniciarse. El rastreador borra archivos de log de la misma antigüedad y más antiguos que el número de días dado, con un valor por defecto de 31.

  • dotnet-tracer-managed-{processName}-{timestamp}.log contiene los logs de configuración.

  • dotnet-tracer-native-{processName}-{processID}.log contiene los logs de diagnóstico, si se genera alguno.

Configuration:

2020-06-29 12:26:39.572 +02:00 [INF] DATADOG TRACER CONFIGURATION -
{"date":"2020-06-29T12:26:39.5615724+02:00","os_name":"Windows",
"os_version":"Microsoft Windows NT 6.2.9200.0","version":"1.17.1.0",
"platform":"x64","lang":".NET Framework","lang_version":"4.8+",
"env":null,"enabled":true,"service":"git-credential-manager",
"agent_url":"http://localhost:8126","debug":false,
"analytics_enabled":false,"sample_rate":null,"sampling_rules":null,
"tags":[],"log_injection_enabled":false,
"runtime_metrics_enabled":false,"disabled_integrations":[]}

Diagnostics:

El rastreador de .NET imprime las siguientes líneas de diagnóstico:

DATADOG TRACER DIAGNOSTICS - Profiler disabled in DD_TRACE_ENABLED
DATADOG TRACER DIAGNOSTICS - Profiler disabled: {process_name} not found in DD_PROFILER_PROCESSES
DATADOG TRACER DIAGNOSTICS - Profiler disabled: {process_name} found in DD_PROFILER_EXCLUDE_PROCESSES
DATADOG TRACER DIAGNOSTICS - Failed to attach profiler: interface ICorProfilerInfo3 not found
DATADOG TRACER DIAGNOSTICS - Profiler disabled: {application_pool} is recognized as an Azure App Services infrastructure process
DATADOG TRACER DIAGNOSTICS - Profiler disabled: {application_pool} is recognized as Kudu, an Azure App Services reserved process
DATADOG TRACER DIAGNOSTICS - Profiler disabled: no enabled integrations found
DATADOG TRACER DIAGNOSTICS - Failed to attach profiler: unable to set event mask
DATADOG TRACER DIAGNOSTICS - Error fetching configuration {exception}

Errores de conexión

Si la aplicación o los logs de inicio contienen errores o mensajes DIAGNOSTICS a los que el Agent no puede acceder o conectarse (varían en función del lenguaje), significa que el rastreador no puede enviar trazas al Datadog Agent.

Si tienes estos errores, comprueba que tu Agent está configurado para recibir trazas para ECS, Kubernetes, Docker o cualquier otra opción, o contacta con soporte para revisar tu rastreador y configuración del Agent.

Consulta Errores de conexión para obtener información sobre los errores que indican que tu aplicación instrumentada no puede comunicarse con el Datadog Agent.

Ajustes de configuración

Si tus logs contienen solo líneas de CONFIGURATION, un paso útil para solucionar problemas es confirmar que la configuración de salida del rastreador coincide con la configuración de tu despliegue y configuración del rastreador de Datadog. Además, si no ves trazas específicas en Datadog, revisa la sección Requisitos de compatibilidad de la documentación para confirmar que estas integraciones son compatibles.

Si una integración que estás utilizando no es compatible, o deseas un análisis nuevo de tu salida de configuración para entender por qué las trazas no están apareciendo como se esperaba en Datadog, ponte en contacto con el soporte que puede ayudarte a diagnosticar y crear una Solicitud de características para una nueva integración.

Desactivar los logs de inicio

Para cada lenguaje, puedes desactivar los logs de inicio configurando la variable de entorno DD_TRACE_STARTUP_LOGS=false, pero hazlo solo si los logs emitidos plantean un problema. Si más tarde envías logs de depuración, recuerda habilitar los logs de inicio y enviar todos los logs relevantes juntos para acelerar el análisis de tu caso de soporte.

Leer más

Más enlaces, artículos y documentación útiles:

PREVIEWING: brett.blue/add-otel-integrations