Recopilación de logs e integraciones

Información general

Elige una de las siguientes opciones de configuración para empezar a ingerir tus logs. Si ya utilizas un daemon cargador de logs, consulta la documentación específica de Rsyslog, Syslog-ng, NXlog, FluentD o Logstash.

Consulta la lista de endpoints de recopilación de logs de Datadog disponibles si quieres enviar tus logs directamente a Datadog.

Nota: A la hora de enviar logs en un formato JSON a Datadog, hay un conjunto de atributos reservados que poseen un significado específico en Datadog. Consulta la sección Atributos reservados para obtener más información.

Configuración

  1. Instala el Datadog Agent.
  2. Para activar la recopilación de logs, cambia logs_enabled: false a logs_enabled: true en el archivo de configuración principal del Agent (datadog.yaml). Para obtener más información y ejemplos, consulta la documentación sobre recopilación de logs del Agent de host.
  3. Una vez activado, es posible configurar el Datadog Agent para supervisar archivos de logs o escuchar logs enviados a través de UDP/TCP, filtrar logs o limpiar datos confidenciales y agregar logs multilínea.
  1. Instala el Datadog Agent.
  2. Para activar la recopilación de logs, cambia logs_enabled: false a logs_enabled: true en el archivo de configuración principal del Agent (datadog.yaml). Para obtener más información y ejemplos, consulta la documentación sobre recopilación de logs del Agent de host.
  3. Sigue las instrucciones de instalación de tu lenguaje de aplicación para configurar un registrador y empezar a generar logs:
Java
Python
go
Ruby
.Net
PHP
Node.js
Javascript
React Native
Android
ios
Flutter
Roku
Kotlin Multiplatform

Elige un proveedor de contenedores u orquestadores y sigue sus instrucciones de recopilación de logs específicas:

Docker
Kubernetes
Red Hat OpenShift
Amazon ECS
ECS Fargate

Notas:

Utiliza el Forwarder de Datadog, una función de AWS Lambda que envía logs desde tu entorno a Datadog. Para activar la recopilación de logs en tu entorno serverless de AWS, consulta la documentación del Forwarder de Datadog.

Selecciona tu proveedor de nube a continuación para ver cómo recopilar automáticamente tus logs y reenviarlos a Datadog:

Docker
Kubernetes
Amazon ECS
Amazon ECS

Las integraciones de Datadog y la recopilación de logs están asociadas. Puedes utilizar el archivo de configuración predeterminado de una integración para activar procesadores, parseos y facetas específicos en Datadog. Para empezar a recopilar logs con una integración:

  1. Selecciona una integración en la página Integraciones y sigue las instrucciones de configuración.
  2. Sigue las instrucciones de recopilación de logs de la integración. En esta sección, se explica cómo quitar comentarios de la sección de logs del archivo conf.yamlde esa integración y cómo configurarlo para tu entorno.

Reducir las tasas de transferencia de datos

Utiliza Network Performance Monitoring de Datadog para identificar las aplicaciones de mayor rendimiento de tu organización. Conéctate a Datadog a través de conexiones privadas compatibles y envía datos a través de una red privada para evitar la Internet pública y reducir tus tarifas de transferencia de datos. Después de cambiar a conexiones privadas, utiliza las herramientas de Cloud Cost Management de Datadog para verificar el impacto y monitorizar la reducción en tus costes de nube.

Para más información, consulta Cómo enviar logs a Datadog y reducir tarifas de transferencias de datos.

Opciones de configuración adicionales

Endpoints de registro

Datadog proporciona endpoints de registro tanto para conexiones cifradas con SSL como no cifradas. Utiliza el endpoint cifrado siempre que sea posible. El Datadog Agent utiliza el endpoint cifrado para enviar logs a Datadog. Tienes más información disponible en la documentación sobre seguridad de Datadog.

Endpoints compatibles

Utiliza el menú desplegable de selección del sitio situado a la derecha de la página para ver los endpoints compatibles con el sitio de Datadog.

SitioTipoEndpointPuertoDescripción
EE. UU.HTTPShttp-intake.logs.datadoghq.com443Utilizado por el forwarder personalizado para enviar logs en formato JSON o de texto sin formato a través de HTTPS. Consulta la documentación de la API HTTP de logs.
EE. UU.HTTPSagent-http-intake-pci.logs.datadoghq.com443Utilizado por el Agent para enviar logs a través de HTTPS a una organización con cumplimiento de PCI DSS activado. Para obtener más información, consulta Cumplimiento de PCI DSS para Log Management.
EE. UU.HTTPSagent-http-intake.logs.datadoghq.com443Utilizado por el Agent para enviar logs en formato JSON a través de HTTPS. Consulta la documentación Recopilación de logs del Agent de host.
EE. UU.HTTPSlambda-http-intake.logs.datadoghq.com443Utilizado por funciones de Lambda para enviar logs sin formato o en formato Syslog o JSON a través de HTTPS.
EE. UU.HTTPSlogs.443Utilizado por el SDK del navegador para enviar logs en formato JSON a través de HTTPS.
EE. UU.TCPagent-intake.logs.datadoghq.com10514Utilizado por el Agent para enviar logs sin TLS.
EE. UU.TCP y TLSagent-intake.logs.datadoghq.com10516Utilizado por el Agent para enviar logs con TLS.
EE. UU.TCP y TLSintake.logs.datadoghq.com443Utilizado por forwarders personalizados para enviar logs sin formato o en formato Syslog o JSON a través de una conexión TCP cifrada con SSL.
EE. UU.TCP y TLSfunctions-intake.logs.datadoghq.com443Utilizado por funciones de Azure para enviar logs sin formato o en formato Syslog o JSON a través de una conexión TCP cifrada con SSL. Nota: Este endpoint puede resultar útil con otros proveedores de nube.
EE. UU.TCP y TLSlambda-intake.logs.datadoghq.com443Utilizado por funciones de Lambda para enviar logs sin formato o en formato Syslog o JSON a través de una conexión TCP cifrada con SSL.

SitioTipoEndpointPuertoDescripción
UEHTTPShttp-intake.logs.datadoghq.eu443Utilizado por forwarders personalizados para enviar logs en formato JSON o de texto sin formato a través de HTTPS. Consulta la documentación de la API HTTP de logs.
UEHTTPSagent-http-intake.logs.datadoghq.eu443Utilizado por el Agent para enviar logs en formato JSON a través de HTTPS. Consulta la documentación Recopilación de logs del Agent de host.
UEHTTPSlambda-http-intake.logs.datadoghq.eu443Utilizado por funciones de Lambda para enviar logs sin formato o en formato Syslog o JSON a través de HTTPS.
UEHTTPSlogs.443Utilizado por el SDK del navegador para enviar logs en formato JSON a través de HTTPS.
UETCP y TLSagent-intake.logs.datadoghq.eu443Utilizado por el Agent para enviar logs en formato protobuf a través de una conexión TCP cifrada con SSL.
UETCP y TLSfunctions-intake.logs.datadoghq.eu443Utilizado por funciones de Azure para enviar logs sin formato o en formato Syslog o JSON a través de una conexión TCP cifrada con SSL. Nota: Este endpoint puede resultar útil con otros proveedores de nube.
UETCP y TLSlambda-intake.logs.datadoghq.eu443Utilizado por funciones de Lambda para enviar logs sin formato o en formato Syslog o JSON a través de una conexión TCP cifrada con SSL.

SitioTipoEndpointPuertoDescripción
US3HTTPShttp-intake.logs.us3.datadoghq.com443Utilizado por el forwarder personalizado para enviar logs en formato JSON o de texto sin formato a través de HTTPS. Consulta la documentación de la API HTTP de logs.
US3HTTPSlambda-http-intake.logs.us3.datadoghq.com443Utilizado por funciones de Lambda para enviar logs sin formato o en formato Syslog o JSON a través de HTTPS.
US3HTTPSagent-http-intake.logs.us3.datadoghq.com443Utilizado por el Agent para enviar logs en formato JSON a través de HTTPS. Consulta la documentación Recopilación de logs del Agent de host.
US3HTTPSlogs.443Utilizado por el SDK del navegador para enviar logs en formato JSON a través de HTTPS.

SitioTipoEndpointPuertoDescripción
US5HTTPShttp-intake.logs.us5.datadoghq.com443Utilizado por el forwarder personalizado para enviar logs en formato JSON o de texto sin formato a través de HTTPS. Consulta la documentación de la API HTTP de logs.
US5HTTPSlambda-http-intake.logs.us5.datadoghq.com443Utilizado por funciones de Lambda para enviar logs sin formato o en formato Syslog o JSON a través de HTTPS.
US5HTTPSagent-http-intake.logs.us5.datadoghq.com443Utilizado por el Agent para enviar logs en formato JSON a través de HTTPS. Consulta la documentación Recopilación de logs del Agent de host.
US5HTTPSlogs.443Utilizado por el SDK del navegador para enviar logs en formato JSON a través de HTTPS.

SitioTipoEndpointPuertoDescripción
AP1HTTPShttp-intake.logs.ap1.datadoghq.com443Utilizado por el forwarder personalizado para enviar logs en formato JSON o de texto sin formato a través de HTTPS. Consulta la documentación de la API HTTP de logs.
AP1HTTPSlambda-http-intake.logs.ap1.datadoghq.com443Utilizado por funciones de Lambda para enviar logs sin formato o en formato Syslog o JSON a través de HTTPS.
AP1HTTPSagent-http-intake.logs.ap1.datadoghq.com443Utilizado por el Agent para enviar logs en formato JSON a través de HTTPS. Consulta la documentación Recopilación de logs del Agent de host.
AP1HTTPSlogs.443Utilizado por el SDK del navegador para enviar logs en formato JSON a través de HTTPS.

SitioTipoEndpointPuertoDescripción
US1-FEDHTTPShttp-intake.logs.ddog-gov.com443Utilizado por el forwarder personalizado para enviar logs en formato JSON o de texto sin formato a través de HTTPS. Consulta la documentación de la API HTTP de logs.
US1-FEDHTTPSlambda-http-intake.logs.ddog-gov.datadoghq.com443Utilizado por funciones de Lambda para enviar logs sin formato o en formato Syslog o JSON a través de HTTPS.
US1-FEDHTTPSagent-http-intake.logs.ddog-gov.datadoghq.com443Utilizado por el Agent para enviar logs en formato JSON a través de HTTPS. Consulta la documentación Recopilación de logs del Agent de host.
US1-FEDHTTPSlogs.443Utilizado por el SDK del navegador para enviar logs en formato JSON a través de HTTPS.

Reenvío de logs personalizado

Es posible utilizar cualquier proceso personalizado o biblioteca de registro capaz de reenviar logs a través de TCP o HTTP junto con logs de Datadog.

Puedes enviar logs a la plataforma de Datadog a través de HTTP. Consulta la documentación de la API HTTP de logs de Datadog para empezar.

Puedes hacer un test manual de tu conexión mediante OpenSSL, GnuTLS u otro cliente SSL/TLS. Para GnuTLS, ejecuta el siguiente comando:

gnutls-cli intake.logs.datadoghq.com:10516

Para OpenSSL, ejecuta el siguiente comando:

openssl s_client -connect intake.logs.datadoghq.com:10516

Debes incluir un prefijo en la entrada de log con tu clave de API de Datadog y añadir una carga útil.

<DATADOG_API_KEY> Log sent directly using TLS

Tu carga útil, o Log sent directly using TLS como aparece en el ejemplo, puede estar sin formato o en formato Syslog o JSON. Si está en formato JSON, Datadog analizará sus atributos automáticamente.

<DATADOG_API_KEY> {"message":"json formatted log", "ddtags":"env:my-env,user:my-user", "ddsource":"my-integration", "hostname":"my-hostname", "service":"my-service"}

Puedes hacer un test manual de tu conexión mediante OpenSSL, GnuTLS u otro cliente SSL/TLS. Para GnuTLS, ejecuta el siguiente comando:

gnutls-cli tcp-intake.logs.datadoghq.eu:443

Para OpenSSL, ejecuta el siguiente comando:

openssl s_client -connect tcp-intake.logs.datadoghq.eu:443

Debes incluir un prefijo en la entrada de log con tu clave de API de Datadog y añadir una carga útil.

<DATADOG_API_KEY> Log sent directly using TLS

Tu carga útil, o Log sent directly using TLS como aparece en el ejemplo, puede estar sin formato o en formato Syslog o JSON. Si está en formato JSON, Datadog analizará sus atributos automáticamente.

<DATADOG_API_KEY> {"message":"json formatted log", "ddtags":"env:my-env,user:my-user", "ddsource":"my-integration", "hostname":"my-hostname", "service":"my-service"}

No se recomienda el endpoint TCP para este sitio. Para obtener más información, consulta al equipo de soporte.

El endpoint TCP no es compatible para este sitio.

Notas:

  • La API HTTPS admite logs con tamaños de hasta 1 MB. Sin embargo, para disfrutar de un rendimiento óptimo, es recomendado que cada log no supere los 25 kB. Si utilizas el Datadog Agent para registro, está configurado para dividir un log en 256 kB (256 000 bytes).
  • Un evento de logs no debería tener más de 100 etiquetas, y cada etiqueta no debería superar los 256 caracteres para un máximo de 10 millones de etiquetas únicas al día.
  • Un evento de log convertido a formato JSON debe contener menos de 256 atributos. Cada una de las claves de esos atributos debe tener menos de 50 caracteres, estar anidada en menos de 20 niveles sucesivos, y su valor respectivo debe tener menos de 1024 caracteres si se promueve como faceta.
  • Los eventos de logs se pueden enviar con una marca temporal de hasta 18 h atrás.

Los eventos de logs que no cumplen con estos límites pueden ser transformados o truncados por el sistema, o pueden no indexarse si están fuera del intervalo indicado. Sin embargo, Datadog intentará conservar la mayor cantidad de datos posible.

Existe un truncamiento adicional en los campos que solo se aplica a logs indexados: el valor se trunca a 75 KiB para el campo del mensaje y a 25 KiB para los campos que no son de mensaje. Datadog sigue almacenando el texto completo, y sigue siendo visible en las consultas normales de lista en el Logs Explorer. Sin embargo, la versión truncada se mostrará al realizar una consulta agrupada, como cuando se agrupan logs por ese campo truncado o se realizan operaciones similares que muestran ese campo específico.

Atributos y etiquetas

Los atributos prescriben facetas de logs, que se utilizan para filtrar y buscar en el Log Explorer. Consulta la documentación específica sobre atributos y alias para ver una lista de atributos reservados y estándares, y saber cómo utilizar una convención de nomenclatura con atributos de logs y alias.

Atributos para stack traces

Para el registro de stack traces, existen atributos específicos que cuentan con una visualización de interfaz de usuario específica en tu aplicación de Datadog, como el nombre de registrador, el subproceso actual, el tipo de error y la propia stack trace.

Atributos de una stack trace analizada

Para activar estas funciones, utiliza los siguientes nombres de atributos:

AtributoDescripción
logger.nameNombre del registrador
logger.thread_nameNombre del subproceso actual
error.stackStack trace correspondiente
error.messageMensaje de error contenido en la stack trace
error.kindEl tipo o clase de un error (por ejemplo, “Exception” u “OSError”)

Nota: De forma predeterminada, los pipelines de integración intentan reasignar parámetros de bibliotecas de registro predeterminados a esos atributos específicos y analizar stack traces o rastrear para extraer automáticamente error.message y error.kind.

Para obtener más información, consulta la documentación completa sobre atributos de código fuente.

Siguientes pasos

Una vez recopilados e ingeridos los logs, están disponibles en el Log Explorer, donde puedes buscar, mejorar y ver alertas sobre tus logs. Consulta la documentación de Log Explorer para empezar a analizar tus datos de logs, o consulta la siguiente documentación adicional sobre la gestión de logs.

Logs que aparecen en el Log Explorer

Referencias adicionales


*Logging without Limits es una marca registrada de Datadog, Inc.