Resumen
Los pipelines y procesadores descritos en esta documentación son específicos para entornos de registro basados en la nube. Para agregar, procesar y enrutar registros locales, consulta
Pipelines de Observabilidad.
Datadog automáticamente analiza registros en formato JSON. Luego puedes agregar valor a todos tus registros (en bruto y JSON) enviándolos a través de una canalización de procesamiento. Los pipelines toman registros de una amplia variedad de formatos y los traducen a un formato común en Datadog. Implementar una estrategia de pipelines y procesamiento de registros es beneficioso, ya que introduce una convención de nomenclatura de atributos para tu organización.
Con los pipelines, los registros son analizados y enriquecidos al encadenarlos secuencialmente a través de procesadores. Esto extrae información o atributos significativos de texto semiestructurado para reutilizarlos como facetas. Cada registro que pasa por las canalizaciones es probado contra cada filtro de canalización. Si coincide con un filtro, entonces todos los procesadores se aplican secuencialmente antes de pasar a la siguiente canalización.
Los pipelines y procesadores pueden aplicarse a cualquier tipo de registro. No necesitas cambiar la configuración de registro ni desplegar cambios en ninguna regla de procesamiento del lado del servidor. Todo puede configurarse dentro de la página de configuración de la canalización.
Nota: Para un uso óptimo de la solución de Gestión de Registros, Datadog recomienda usar como máximo 20 procesadores por pipeline y 10 reglas de análisis dentro de un procesador Grok. Datadog se reserva el derecho de deshabilitar reglas de análisis, procesadores o pipelines que no estén rindiendo adecuadamente y que puedan afectar el rendimiento del servicio de Datadog.
Permisos de la canalización
Las canalizaciones utilizan Control de Acceso Granular para gestionar quién puede editar las configuraciones de canalizaciones y procesadores. Esto significa que se pueden asignar permisos a roles, usuarios individuales y equipos, asegurando un control preciso sobre los recursos de la canalización. Las canalizaciones sin ninguna restricción se consideran sin restricciones, lo que significa que cualquier usuario con el permiso logs_write_pipelines puede modificar la canalización y sus procesadores.
Para cada canalización, los administradores pueden elegir los siguientes contextos de edición:
- Editor: Solo los usuarios, equipos o roles especificados pueden editar la configuración de la canalización y los procesadores.
- Editor de Procesadores: Solo los procesadores (incluidas las canalizaciones anidadas) pueden ser editados por usuarios, equipos o roles especificados. Nadie puede modificar los atributos de la canalización, como su consulta de filtro o su orden en la lista global de canalizaciones.
Conceder a un usuario acceso a la lista de restricciones de una canalización no otorga automáticamente los logs_write_pipelines o logs_write_processors permisos. Los administradores deben otorgar esos permisos por separado.
Puedes gestionar estos permisos programáticamente a través de API y Terraform.
Preprocesamiento
El preprocesamiento de registros JSON ocurre antes de que los registros ingresen al procesamiento de la canalización. El preprocesamiento ejecuta una serie de operaciones basadas en atributos reservados, como timestamp, status, host, service y message. Si tienes diferentes nombres de atributos en tus registros JSON, utiliza el preprocesamiento para mapear los nombres de atributos de tus registros a los de la lista de atributos reservados.
El preprocesamiento de registros JSON viene con una configuración predeterminada que funciona para los reenvíos de registros estándar. Para editar esta configuración y adaptar enfoques de reenvío de registros personalizados o específicos:
Navega a Canalizaciones en Datadog y selecciona Preprocesamiento para registros JSON.
Nota: El preprocesamiento de registros JSON es la única forma de definir uno de tus atributos de registro como host para tus registros.
Cambia el mapeo predeterminado basado en el atributo reservado:
Atributo de origen
Si un archivo de registro en formato JSON incluye el atributo ddsource, Datadog interpreta su valor como la fuente del registro. Para usar los mismos nombres de fuente que utiliza Datadog, consulta la Biblioteca de Integración de Canalizaciones.
Nota: Los registros provenientes de un entorno de contenedor requieren el uso de una variable de entorno para anular los valores predeterminados de fuente y servicio.
Atributo de servidor
El uso del Datadog Agent o del formato RFC5424 establece automáticamente el valor del servidor en sus registros. Sin embargo, si un archivo de registro en formato JSON incluye el siguiente atributo, Datadog interpreta su valor como el servidor del registro:
hosthostnamesyslog.hostname
Nota: En Kubernetes, si un registro JSON ingerido por el Datadog Agent contiene un atributo clave host, hostname o syslog.hostname, ese valor anula el nombre de servidor predeterminado del Datadog Agent para ese registro. Como resultado, el registro no hereda las etiquetas de nivel de servidor esperadas, que se establecen a nivel de servidor, del servidor correcto. En este caso, Datadog recomienda eliminar estos atributos para asegurar que sus registros puedan atribuirse a los servidores correctos.
Atributo de fecha
Por defecto, Datadog genera una marca de tiempo y la agrega en un atributo de fecha cuando se reciben los registros. Sin embargo, si un archivo de registro en formato JSON incluye uno de los siguientes atributos, Datadog interpreta su valor como la fecha oficial del registro:
@timestamptimestamp_timestampTimestampeventTimedatepublished_datesyslog.timestamp
Especifique atributos alternativos para usar como fuente de la fecha de un registro configurando un procesador de remapeo de fecha de registro.
Nota: Datadog rechaza una entrada de registro si su fecha oficial es anterior a 18 horas en el pasado.
Atributo del mensaje
Por defecto, Datadog ingesta el valor del mensaje como el cuerpo de la entrada de registro. Ese valor se resalta y se muestra en el Explorador de Registros, donde se indexa para búsqueda de texto completo. Sin embargo, si un archivo de registro en formato JSON incluye uno de los siguientes atributos, Datadog interpreta su valor como el mensaje oficial del registro:
Especifique atributos alternativos para usar como fuente del mensaje de un registro configurando un procesador de remapeo de mensajes de registro.
Atributo de estado
Cada entrada de registro puede especificar un nivel de estado que está disponible para búsqueda facetada dentro de Datadog. Sin embargo, si un archivo de registro en formato JSON incluye uno de los siguientes atributos, Datadog interpreta su valor como el estado oficial del registro:
statusseveritylevelsyslog.severity
Especifique atributos alternativos para usar como fuente del estado de un registro configurando un procesador de remapeo de estado de registro.
Atributo de servicio
Usar el Agente de Datadog o el formato RFC5424 establece automáticamente el valor del servicio en sus registros. Sin embargo, si un archivo de registro en formato JSON incluye el siguiente atributo, Datadog interpreta su valor como el servicio del registro:
servicesyslog.appnamedd.service
Especifique atributos alternativos para usar como fuente del servicio de un registro configurando un procesador de remapeo de servicio de registro.
Atributo de ID de tramo
Por defecto, los SDK de Datadog pueden inyectar automáticamente los IDs de tramo en tus registros. Sin embargo, si un registro en formato JSON incluye los siguientes atributos, Datadog interpreta su valor como el span_id del registro:
dd.span_idcontextMap.dd.span_idnamed_tags.dd.span_idspan_id
Crea un pipeline
Navega a Pipelines en Datadog.
Selecciona Nuevo Pipeline.
Selecciona un registro de la vista previa en tiempo real para aplicar un filtro, o aplica tu propio filtro. Elige un filtro del menú desplegable o crea tu propia consulta de filtro seleccionando el ícono </>. Los filtros te permiten limitar qué tipos de registros se aplican a un pipeline.
Nota: El filtrado del pipeline se aplica antes de que cualquiera de los procesadores del pipeline. Por esta razón, no puedes filtrar por un atributo que se extrae en el propio pipeline.
Nombra tu pipeline.
(Opcional) Agrega una descripción y etiquetas al pipeline para indicar su propósito y propiedad. Las etiquetas del pipeline no afectan los registros, pero pueden ser utilizadas para filtrar y buscar dentro de la página de Pipelines.
Presiona Crear.
Un ejemplo de un registro transformado por un pipeline:
Pipelines de integración
Los pipelines de procesamiento de integración están disponibles para ciertas fuentes cuando están configuradas para recopilar registros. Estos pipelines son solo lectura y analizan sus registros de maneras apropiadas para la fuente particular. Para los registros de integración, se instala automáticamente un pipeline de integración que se encarga de analizar sus registros y agrega la faceta correspondiente en su Explorador de Registros.
Para ver un pipeline de integración, navegue a la página de Pipelines. Para editar un pipeline de integración, clónelo y luego edite el clon:
Vea el ejemplo de registros de ELB a continuación:
Nota: Los pipelines de integración no pueden ser eliminados, solo deshabilitados.
Biblioteca de pipelines de integración
Para ver la lista completa de pipelines de integración que ofrece Datadog, consulte la biblioteca de pipelines de integración. La biblioteca de pipelines muestra cómo Datadog procesa diferentes formatos de registro por defecto.
Para usar un pipeline de integración, Datadog recomienda instalar la integración configurando el registro correspondiente source. Después de que Datadog reciba el primer registro con esta fuente, la instalación se activa automáticamente y el pipeline de integración se agrega a la lista de pipelines de procesamiento. Para configurar la fuente de registro, consulte la documentación de integración correspondiente.
También es posible copiar un pipeline de integración utilizando el botón de clonar.
Agrega un procesador o una canalización anidada
- Navega a Pipelines en Datadog.
- Pasa el cursor sobre una canalización y haz clic en la flecha junto a ella para expandir procesadores y canalizaciones anidadas.
- Selecciona Agregar procesador o Agregar canalización anidada.
Procesadores
Un procesador se ejecuta dentro de una canalización para completar una acción de estructuración de datos. Consulta la documentación de procesadores para aprender cómo agregar y configurar un procesador por tipo de procesador, dentro de la aplicación o con la API.
Consulta Análisis de fechas para aprender sobre formatos de fecha y hora personalizados y el parámetro timezone requerido para marcas de tiempo no UTC.
Canales anidados
Los canales anidados son canalizaciones dentro de una canalización. Utiliza canalizaciones anidadas para dividir el procesamiento en dos pasos. Por ejemplo, primero utiliza un filtro de alto nivel como equipo y luego un segundo nivel de filtrado basado en la integración, servicio o cualquier otra etiqueta o atributo.
Una canalización puede contener canalizaciones anidadas y procesadores, mientras que una canalización anidada solo puede contener procesadores.
Mueve una canalización a otra canalización para convertirla en una canalización anidada:
- Pasa el cursor sobre la canalización que deseas mover y haz clic en el ícono Mover a.
- Selecciona la canalización a la que deseas mover la canalización original. Nota: Las canalizaciones que contienen canalizaciones anidadas solo pueden ser movidas a otra posición de nivel superior. No se pueden mover a otra canalización.
- Haz clic en Mover.
Administra tus canalizaciones
Identifica cuándo se realizó el último cambio en una canalización o procesador y qué usuario hizo el cambio utilizando la información de modificación en la canalización. Filtra tus canalizaciones utilizando esta información de modificación, así como otras propiedades facetadas como si la canalización está habilitada o es de solo lectura.
Reordena las canalizaciones con precisión utilizando la opción Move to en el panel de opciones deslizante. Desplázate y haz clic en la posición exacta para mover la canalización seleccionada utilizando el modal Move to. Las canalizaciones no pueden ser movidas a otras canalizaciones de solo lectura. Las canalizaciones que contienen canalizaciones anidadas solo pueden ser movidas a otras posiciones de nivel superior. No pueden ser movidas a otras canalizaciones.
Clona canalizaciones para reutilizar reglas y procesadores existentes sin tener que empezar de nuevo. Cuando clonas una canalización, Datadog desactiva automáticamente la canalización que clonaste. Haz clic en el interruptor para habilitar.
Métricas de uso estimadas
Las métricas de uso estimadas se muestran para cada canalización. Esto muestra el volumen y la cantidad de registros que están siendo ingeridos y modificados por cada canalización. Cada canalización incluye un enlace al Tablero de Uso Estimado de Registros listo para usar. Este tablero ofrece gráficos detallados de las métricas de uso de la canalización.
Lectura Adicional
Más enlaces, artículos y documentación útiles:
*Logging without Limits es una marca registrada de Datadog, Inc.