La recopilación de registros requiere el Agente de Datadog v6.0 o superior. Las versiones anteriores del Agente no incluyen la interfaz log collection. Si aún no utilizas el Agente, sigue las instrucciones de instalación del Agente.
Consulta Pipelines de Observabilidad si deseas enviar registros utilizando el colector o reenvío de otro proveedor, o si deseas preprocesar tus datos de registro dentro de tu entorno antes de enviarlos.
Para habilitar la recopilación de registros con un Agente que se ejecuta en tu servidor, cambia logs_enabled: false a logs_enabled: true en el archivo de configuración principal del Agente (datadog.yaml).
A partir del Agente v6.19+/v7.19+, el transporte HTTPS es el transporte predeterminado utilizado. Para más detalles, consulta Transporte del Agente.
Para enviar registros con variables de entorno, configure lo siguiente:
DD_LOGS_ENABLED=true
Después de activar la recopilación de registros, el Agente está listo para enviar registros a Datadog. A continuación, configure el Agente para indicar desde dónde recopilar registros.
Recolección de registros personalizada
El Agente de Datadog v6 puede recopilar registros y enviarlos a Datadog desde archivos, la red (TCP o UDP), journald y canales de Windows:
En el directorio conf.d/ en la raíz de tu directorio de configuración del Agente, crea una nueva carpeta <CUSTOM_LOG_SOURCE>.d/ que sea accesible por el usuario de Datadog.
Crea un nuevo archivo conf.yaml en esta nueva carpeta.
Agrega un grupo de configuración de recolección de registros personalizada con los parámetros a continuación.
A continuación se presentan ejemplos de configuración de recopilación de registros personalizada:
Para recopilar registros de tu <APP_NAME> aplicación almacenada en <PATH_LOG_FILE>/<LOG_FILE_NAME>.log, crea un archivo <APP_NAME>.d/conf.yaml en la raíz de tu directorio de configuración del Agente con el siguiente contenido:
En Windows, usa la ruta <DRIVE_LETTER>:\\<PATH_LOG_FILE>\\<LOG_FILE_NAME>.log y verifica que el usuario ddagentuser tenga acceso de lectura al archivo de registro.
Nota: Una línea de registro debe terminar con un carácter de nueva línea, \n o \r\n, de lo contrario, el Agente espera indefinidamente y no envía la línea de registro.
Para capturar la dirección IP del remitente e incluirla en la carga del mensaje de registro, agrega la siguiente configuración a tu archivo datadog.yaml:
logs_config:use_sourcehost_tag:true
Para recopilar registros de tu <APP_NAME> aplicación que envía sus registros al puerto TCP 10518, crea un archivo <APP_NAME>.d/conf.yaml en la raíz de tu directorio de configuración del Agente con el siguiente contenido:
Si estás utilizando Serilog, Serilog.Sinks.Network es una opción para conectarte con UDP.
En la versión 7.31.0+ del Agente, la conexión TCP permanece abierta indefinidamente incluso cuando está inactiva.
Notas:
El Agente soporta registros en formato de cadena sin procesar, JSON y Syslog. Si estás enviando registros en lotes, utiliza caracteres de salto de línea para separar tus registros.
Una línea de registro debe terminar con un carácter de nueva línea, \n o \r\n, de lo contrario, el Agente espera indefinidamente y no envía la línea de registro.
Para recopilar registros de journald, crea un archivo journald.d/conf.yaml en la raíz de tu directorio de configuración del Agente con el siguiente contenido:
logs:- type:journaldpath:/var/log/journal/
Consulta la documentación de la integración de journald para más detalles sobre la configuración para entornos en contenedores y filtrado de unidades.
Para enviar eventos de Windows como registros a Datadog, agrega los canales a conf.d/win32_event_log.d/conf.yaml manualmente o utiliza el Administrador del Agente de Datadog.
Para ver tu lista de canales, ejecuta el siguiente comando en PowerShell:
Get-WinEvent -ListLog *
Para ver los canales más activos, ejecuta el siguiente comando en PowerShell:
Sigue los pasos en estas secciones para enviar los registros de Windows Private Location a Datadog:
Configura el Agente
Habilita la recolección de registros del Agente configurando logs_enabled: true en el archivo de configuración del Agente.
Navega a C:\ProgramData\Datadog\conf.d y crea una carpeta llamada synthetics_worker.d.
Dentro de la carpeta synthetics_worker.d, crea un archivo llamado conf.yaml utilizando el siguiente ejemplo como plantilla:
logs:- type:filepath:"C:\\Program Files\\Datadog-Synthetics\\Synthetics\\private-location-service.out.log"service:<YOUR_SERVICE>source:syntheticstags:# Defined per user preference- env:<YOUR_ENV>- private_location:<YOUR_PRIVATE_LOCATION>
Verifica el usuario que ejecuta el Agente
Dado que la carpeta de instalación de Ubicación Privada está restringida al acceso de administrador, el Agente de Datadog necesita permiso para acceder al archivo de registro. Sigue estos pasos para verificar el usuario que ejecuta el Agente de Datadog:
Presiona la tecla de Windows y R, y busca Run.
Encuentra el Agente de Datadog, haz clic derecho sobre él y selecciona Properties.
En la pestaña Log On, verifica la cuenta (el predeterminado es ddagentuser).
Cierra la ventana.
Otorga permiso al usuario que ejecuta el Agente
Ve a C:\Program Files y encuentra la carpeta synthetics_worker.d.
Haz clic derecho en la carpeta synthetics_worker.d y selecciona Properties.
Ve a la pestaña Security.
Haz clic en Edit y agrega ddagentuser.
Concede los permisos necesarios.
Reinicia el Agente de Datadog a través de la pantalla de Servicios o la línea de comandos para aplicar los cambios y comenzar a enviar registros a Datadog.
Lista de todos los parámetros disponibles para la recopilación de registros:
Parámetro
Requerido
Descripción
type
Sí
El tipo de fuente de entrada de registros. Los valores válidos son: tcp, udp, file, windows_event, docker o journald.
port
Sí
Si type es tcp o udp, establece el puerto para escuchar los registros.
path
Sí
Si type es file o journald, establece la ruta del archivo para recopilar registros.
channel_path
Sí
Si type es windows_event, enumera los canales de eventos de Windows para recopilar registros.
service
Sí
El nombre del servicio que posee el registro. Si instrumentaste tu servicio con Datadog APM, este debe ser el mismo nombre del servicio. Consulta las instrucciones de unified service tagging al configurar service a través de múltiples tipos de datos.
source
Sí
El atributo que define qué integración está enviando los registros. Si los registros no provienen de una integración existente, entonces este campo puede incluir un nombre de fuente personalizado. Sin embargo, se recomienda que configure este valor para que coincida con el espacio de nombres de las métricas personalizadas relacionadas que esté recopilando, por ejemplo: myapp de myapp.request.count.
include_units
No
Si type es journald, lista de las unidades específicas de journald a incluir.
exclude_paths
No
Si type es file, y path contiene un carácter comodín, lista el archivo o archivos que coincidan para excluir de la recopilación de registros. Esto está disponible para la versión del Agente >= 6.18.
exclude_units
No
Si type es journald, lista de las unidades específicas de journald a excluir.
sourcecategory
No
El atributo utilizado para definir la categoría a la que pertenece un atributo de fuente, por ejemplo: source:postgres, sourcecategory:database o source: apache, sourcecategory: http_web_access.
Si type es file, establezca la codificación para que el Agente lea el archivo. Establezca en utf-16-le para UTF-16 little-endian, utf-16-be para UTF-16 big-endian, o shift-jis para Shift JIS. Si se establece en cualquier otro valor, el Agente lee el archivo como UTF-8. Agregado utf-16-le y utf-16be en la versión 6.23/7.23 del Agente, shift-jis en la versión 6.34/7.34 del Agente
El parámetro start_position es compatible con file y journald tipos de tailer. El start_position siempre es beginning al seguir un contenedor.
Soporte:
File: Agente 6.19+/7.19+
Journald: Agente 6.38+/7.38+
Si type es file:
Establezca la posición para que el Agente comience a leer el archivo.
Los valores válidos son beginning, end, forceBeginning y forceEnd (predeterminado: end).
La beginning posición no admite rutas con comodines.
Si type es journald:
Establezca la posición para que el Agente comience a leer el diario.
Los valores válidos son beginning, end, forceBeginning y forceEnd (predeterminado: end).
Precedencia
Para ambos tipos de tailer, file y journald, si se especifica una posición end o beginning, pero se almacena un desplazamiento, el desplazamiento tiene prioridad. Usar forceBeginning o forceEnd obliga al Agente a usar el valor especificado incluso si hay un desplazamiento almacenado.