Instrucciones

Introducción al esquema de nomenclatura de flujos de datos de Elastic

Con Elastic 7.9, se publicaron el Elastic Agent y Fleet, junto con una nueva forma de estructurar índices y flujos de datos en Elasticsearch para datos temporales. En esta entrada del blog, brindaremos una visión general del esquema de nomenclatura de flujos de datos de Elastic y cómo funciona. Esta es la primera de una serie de publicaciones de blog alrededor del esquema de nomenclatura de flujos de datos de Elastic.

Esquema de nomenclatura de flujos de datos de Elastic

El esquema de nomenclatura de flujos de datos de Elastic está diseñado para datos temporales y consiste en dividir los sets de datos en diferentes flujos de datos empleando la siguiente convención de nomenclatura.

  • tipo: tipo genérico que describe los datos
  • set de datos: describe los datos ingeridos y su estructura
  • espacio de nombres: agrupación arbitraria configurable por el usuario

Estas tres partes se combinan con un “-” y dan como resultado flujos de datos como "logs-nginx.access-production". En las tres partes, el carácter “-” no está permitido. Esto significa que todos los flujos de datos se nombran de la siguiente manera:

{type}-{dataset}-{namespace}

Tanto para el set de datos como para el espacio de nombres existe un valor predeterminado, que es "dataset=generic" y "namespace=default". En el caso de Elastic Agent, si un usuario comienza a ingerir un archivo de log, los datos terminan en "logs-generic-default".

Para obtener todos los beneficios del esquema de nomenclatura de flujos de datos de Elastic, cada documento debe contener los siguientes tres campos:

  • data_stream.type
  • data_stream.dataset
  • data_stream.namespace

Más detalles sobre estos campos se pueden encontrar en el Elastic Common Schema (ECS). Los campos anteriores se mapean como campos palabra clave constante, lo que hace que las consultas sobre ellos sean eficientes reduciendo la cantidad de shards que deben ser consultados.

Beneficios del esquema de nomenclatura de flujo de datos Elastic

El esquema de nomenclatura de flujos de datos de Elastic tiene algunos beneficios respecto a las estrategias de indexación anteriores empleadas por Beats y Logstash. En lugar de muy pocos índices grandes, se utilizan muchos flujos de datos más pequeños pero más densos. Breve resumen de los beneficios:

  • Número reducido de campos por índice: como los datos se dividen por sets de datos en distintos flujos de datos, cada flujo de datos contiene un conjunto mínimo de campos. Esto conduce a una mejor eficiencia del espacio y consultas más rápidas.
  • Control más granular de los datos: tener los datos divididos por set de datos y "espacio de nombres" permite un control granular sobre los permisos de transferencia, retención y seguridad.
  • Flexibilidad: los usuarios pueden usar el "espacio de nombres" para dividir y organizar los datos de la manera que quieran.
  • Experiencias mejor curadas: debido a la estructura común del esquema de nomenclatura de flujo de datos de Elastic, es posible crear una mejor experiencia curada sobre los flujos de datos.
  • Se necesitan menos permisos de ingesta: anteriormente, la configuración de las plantillas y los pipelines de ingesta eran llevados a cabo por el Elastic Agent. Como esto ocurre ahora de forma centralizada, la herramienta de ingesta solo necesita permisos para agregar datos.

Uso del esquema de nomenclatura de flujo de datos de Elastic

El esquema de nomenclatura de flujos de datos de Elastic se utiliza desde la versión 7.9 de Elastic Stack y posteriores, ya que requiere soporte para flujos de datos, las nuevas plantillas de componentes de Elasticsearch (https://www.elastic.co/guide/en/elasticsearch/reference/7.9/index-templates.html), y palabras clave constantes. Las plantillas de índice para "logs--" y "metrics--" se envían con Elasticsearch >=7.9. Todos los datos enviados con el Elastic Agent usan el esquema de nomenclatura de flujos de datos de Elastic. Para usarlo para cualquier otro agente de datos, solo tienes que seguir la estructura de nomenclatura y agregar los campos data_stream para que funcione.

Resumen

Este es un breve resumen del esquema de nomenclatura de flujos de datos de Elastic. En las siguientes publicaciones de blog, profundizaremos en los detalles técnicos de cómo funciona entre bastidores, cómo lo emplea el Elastic Agent y cómo puedes emplearlo en tu propio beneficio. Para obtener información adicional, mira la inmersión profunda en la nueva estrategia de indexación de Elastic en el canal de YouTube de Elastic Community.