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.

PHP Info: Obtén la cadena JSON de logs de inicio de una página phpinfo() junto a “DATADOG TRACER CONFIGURATION” (Configuración del rastreador de Datadog). Crea el siguiente archivo PHP y accede a él desde un navegador en la máquina de host.

<?php phpinfo(); ?>

La información de diagnóstico se muestra en una tabla separada para ayudar a diagnosticar problemas comunes.

PHP Info

CLI SAPI:

Obtén la información de CLI SAPI ejecutando php --ri=ddtrace.

ddtrace


Datadog PHP tracer extension
For help, check out the documentation at https://docs.datadoghq.com/tracing/languages/php/
(c) Datadog 2020

Datadog tracing support => enabled
Version => 1.0.0-nightly
DATADOG TRACER CONFIGURATION => {"date":"2020-07-01T17:43:54Z","os_name":"Linux 49b1cb4bdd12 4.19.76-linuxkit #1 SMP Tue May 26 11:42:35 UTC 2020 x86_64","os_version":"4.19.76-linuxkit","version":"1.0.0-nightly","lang":"php","lang_version":"7.4.5","env":null,"enabled":true,"service":null,"enabled_cli":false,"agent_url":"https://localhost:8126","debug":false,"analytics_enabled":false,"sample_rate":1.000000,"sampling_rules":null,"tags":null,"service_mapping":null,"distributed_tracing_enabled":true,"priority_sampling_enabled":true,"dd_version":null,"architecture":"x86_64","sapi":"cli","ddtrace.request_init_hook":null,"open_basedir_configured":false,"uri_fragment_regex":null,"uri_mapping_incoming":null,"uri_mapping_outgoing":null,"auto_flush_enabled":false,"generate_root_span":true,"http_client_split_by_domain":false,"measure_compile_time":true,"report_hostname_on_root_span":false,"traced_internal_functions":null,"auto_prepend_file_configured":false,"integrations_disabled":null,"enabled_from_env":true,"opcache.file_cache":null,"agent_error":"Couldn't connect to server","ddtrace.request_init_hook_reachable":false}

                               Diagnostics
agent_error => Couldn't connect to server
ddtrace.request_init_hook_reachable => false

Directive => Local Value => Master Value
ddtrace.disable => Off => Off
...

Configuration:

Si el rastreador está en modo DEBUG (depuración), los logs de inicio aparecerán en error_log una vez por proceso en la primera solicitud.

DATADOG TRACER CONFIGURATION - {"agent_error":"Couldn't connect to server","ddtrace.request_init_hook_reachable":false,"date":"2020-07-01T17:42:50Z","os_name":"Linux 49b1cb4bdd12 4.19.76-linuxkit #1 SMP Tue May 26 11:42:35 UTC 2020 x86_64","os_version":"4.19.76-linuxkit","version":"1.0.0-nightly","lang":"php","lang_version":"7.4.5","env":null,"enabled":true,"service":null,"enabled_cli":false,"agent_url":"https://localhost:8126","debug":false,"analytics_enabled":false,"sample_rate":1.000000,"sampling_rules":null,"tags":null,"service_mapping":null,"distributed_tracing_enabled":true,"priority_sampling_enabled":true,"dd_version":null,"architecture":"x86_64","sapi":"cgi-fcgi","ddtrace.request_init_hook":null,"open_basedir_configured":false,"uri_fragment_regex":null,"uri_mapping_incoming":null,"uri_mapping_outgoing":null,"auto_flush_enabled":false,"generate_root_span":true,"http_client_split_by_domain":false,"measure_compile_time":true,"report_hostname_on_root_span":false,"traced_internal_functions":null,"auto_prepend_file_configured":false,"integrations_disabled":null,"enabled_from_env":true,"opcache.file_cache":null}

Diagnostics:

Los diagnósticos fallidos del rastreador de PHP se imprimen en error_log si el rastreador está en modo DEBUG (depuración).

DATADOG TRACER DIAGNOSTICS - agent_error: Couldn't connect to server
DATADOG TRACER DIAGNOSTICS - ddtrace.request_init_hook_reachable: false

Tiempo de ejecución:

Accede a los logs de inicio como una cadena JSON en tiempo de ejecución con \DDTrace\startup_logs().

echo \DDTrace\startup_logs() . PHP_EOL;

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: aliciascott/DOCS-10258