Elastic Common Schema y OpenTelemetry: Un camino hacia una mejor observabilidad y seguridad sin bloqueo de proveedores

ecs-otel-announcement-1.jpeg

En KubeCon Europa, se anunció que Elastic Common Schema (ECS) fue aceptado por OpenTelemetry (OTel) como contribución al proyecto. El objetivo es lograr la convergencia de ECS y las convenciones semánticas (SemConv) de OpenTelemetry en un solo esquema abierto mantenido por OpenTelemetry. En estas preguntas frecuentes se detalla la contribución de Elastic con Elastic Common Schema a OpenTelemetry, cómo ayudará a impulsar la industria a un esquema común y su impacto en la observabilidad y la seguridad.

¿Qué se anunciará? 

Elastic está contribuyendo con su proyecto open source, Elastic Common Schema (ECS), al proyecto de OpenTelemetry en la Cloud Native Computing Foundation (CNCF) para ayudar a converger hacia un esquema común de datos de seguridad y observabilidad. Un esquema común ayuda a normalizar los datos para permitir mejores análisis, visualización y correlación de los datos en cualquier plataforma de observabilidad o seguridad. La adopción de ECS por parte de OpenTelemetry beneficia a la comunidad de usuarios de OTel con un esquema común maduro y probado para métricas, logs, rastreos, recursos (hosts, contenedores, etc.) y eventos de seguridad. 

¿Qué deben saber los usuarios de Elastic?

Elastic conservará las inversiones de nuestros usuarios en ECS. La continua evolución de ECS desde OpenTelemetry brindará a los usuarios de ECS un camino claro para adoptar lo que esperamos que sea el estándar para convenciones semánticas más utilizado en la industria.

Elastic participará y colaborará estrechamente con la comunidad de OTel a fin de combinar de forma adecuada ECS y las convenciones semánticas de OpenTelemetry con el tiempo. Elastic seguirá brindando soporte para los datos de los usuarios en el formato de ECS actual, aunque la evolución del esquema se realizará en el nuevo esquema combinado. Los usuarios de Elastic tendrán la opción de continuar ingestando y usando el formato de ECS actual ("congelado") o migrar al nuevo esquema.

Elastic brindará orientación y las herramientas para una migración simple a los usuarios que decidan migrar al esquema nuevo.

¿Por qué Elastic contribuye ECS a OTel?

La convergencia de las convenciones semánticas (SemConv) de OpenTelemetry y Elastic Common Schema brinda un esquema de nombres común para recursos, métricas, logs, rastreos, eventos de seguridad y eventos de auditoría, que se pueden usar en toda la base de códigos, las bibliotecas y las plataformas. Esta convergencia de ECS con las convenciones semánticas de OTel hará lo siguiente:

  • Alinear los esfuerzos en torno a un solo estándar preparado para la amplia adopción por parte de productores de datos de eventos
  • Impulsar una mejor visibilidad y análisis de causa raíz de las operaciones
  • Permitir a los proveedores y la comunidad enfocarse en características de seguridad y observabilidad más completas comparado con ocuparse de tareas de transformación de los datos
  • Facilitar el análisis interorganizacional en muchos tipos de señales, incluidas aquellas entre la seguridad y la observabilidad
  • Aumentar la adopción de OpenTelemetry y la continua evolución y convergencia de los dominios de observabilidad y seguridad

¿Por qué se necesita un esquema común para las organizaciones?

Con demasiada frecuencia, las organizaciones tienen problemas para comprender cuándo ocurrió un problema (visibilidad) y por qué sucedió (análisis de causa raíz). Este desafío operativo se debe a datos aislados en silos y estructurados en distintos esquemas. Las organizaciones dedican más tiempo a transformaciones de datos innecesarias que a comprender el problema, analizar la causa raíz u optimizar las operaciones.

Con datos estructurados conforme a un esquema común, los equipos de operaciones podrán enfocarse en reconocer, resolver y prevenir problemas, además de disminuir el tiempo promedio de resolución (MTTR). Las operaciones también pueden reducir los costos gracias a no tener datos duplicados y no tener que procesar los datos para su normalización. 

¿Cuál sería un ejemplo ilustrativo de un esquema común?

Un ejemplo ilustrativo simple es cuando la dirección IP de un cliente se envía desde varias fuentes que están monitoreando o gestionando la telemetría sobre el cliente. La plataforma de observabilidad recibe esta información en varios formatos:

src:10.42.42.42
client_ip:10.42.42.42 
apache2.access.remote_ip: 10.42.42.42 
context.user.ip:10.42.42.42 
src_ip:10.42.42.42

Tener una dirección IP representada de varias formas introduce complejidades en el análisis de problemas potenciales o incluso para identificarlos. Sin una semántica clara para los datos observados y un esquema común, las soluciones de observabilidad tienen problemas para correlacionar, analizar e identificar de forma automática las causas raíz a partir de los datos. En consecuencia, el área de operaciones (SRE, DevOps, etc.) debe comprender estas diversas definiciones, saber cómo encontrarlas y, luego, realizar de forma manual la normalización de los datos para el análisis.

Con un esquema común, todos los datos entrantes se encuentran en un formato estandarizado. Si tomamos el ejemplo anterior, cada una de estas fuentes identificarían la dirección IP del cliente de la misma forma:

source.ip:10.42.42.42

Las soluciones de observabilidad y seguridad ahora pueden aprovechar un esquema de datos definido de forma consistente para la automatización de la correlación y el análisis de datos. El área de operaciones ahora dedica más tiempo a comprender el problema, encontrar la causa raíz y optimizar las operaciones, en lugar de dedicar tiempo a transformaciones de datos innecesarias.

¿Qué es Elastic Common Schema (ECS)?

Elastic Common Schema (ECS), una especificación open source (Apache 2.0), está desarrollado con soporte de la comunidad de usuarios de Elastic para definir un conjunto de campos común que se debe usar al almacenar los datos de un evento en Elasticsearch. El objetivo de ECS es permitir a los usuarios de Elasticsearch normalizar sus datos de eventos y alentarlos a hacerlo, de modo que puedan analizar, visualizar y correlacionar mejor los datos representados en sus eventos. ECS es la base de las soluciones Elastic Observability y Security, y es un esquema probado y de amplia adopción que ha evolucionado y crecido con los años desde sus comienzos en 2019.

¿Qué son OpenTelemetry y las convenciones semánticas de OpenTelemetry?

OpenTelemetry (OTel) es un proyecto open source que proporciona un conjunto de especificaciones, herramientas, API y SDK que pueden usarse para generar, recopilar, procesar y exportar datos de telemetría (métricas, logs y rastreos) para entender el comportamiento y el rendimiento de software. Se ha convertido en el segundo proyecto de mayor velocidad en el ecosistema de la CNCF.

Las convenciones semánticas (SemConv) de OpenTelemetry especifican nombres comunes para distintos tipos de operaciones y datos. El beneficio de usar las SemConv de OpenTelemetry es seguir un esquema de nombres común que puede estandarizarse en toda una base de códigos, bibliotecas y plataformas para usuarios finales de OTel. Además, otro importante beneficio es el desacople de la semántica específica del proveedor. De esta manera, con las SemConv de OpenTelemetry, los usuarios de datos resuelven el bloqueo de proveedores de sus datos. Así, pueden pasar con facilidad de una solución de observabilidad (y solución de seguridad con la contribución de ECS) a otra sin necesidad de adaptar la recopilación de datos.

¿Cómo ayuda la contribución de ECS a OpenTelemetry?

La mayor necesidad de OpenTelemetry es acelerar la definición del esquema para describir los eventos de seguridad y logs. Los colaboradores de ECS ya definieron un conjunto unificado y bien aceptado de convenciones semánticas de logging, que puede adoptarse en OTel. ECS es ampliamente usado para estructurar logs que se consumen en casos de uso de observabilidad y seguridad.

La combinación acelerará la integración de logging creado por el proveedor y logs de componentes de OTel (por ejemplo, procesadores y receptores de logs del recopilador de OTel). El objetivo es definir convenciones semánticas independientes del proveedor para los tipos más populares de sistemas y brindar soporte para componentes creados por el proveedor u open source (por ejemplo, logs de acceso HTTP, logs de red, logs de acceso/autenticación del sistema) que extiendan la correlación de OTel a estas nuevas señales. Los usuarios también se beneficiarán con el uso integraciones de logs preconfiguradas que los productos y servicios de seguridad y observabilidad compatibles con OTel reconocerán por completo. 

La madurez de ECS para Security es una excelente oportunidad para mejorar la utilidad de los datos recopilados con OpenTelemetry para los casos de uso de seguridad. Incorporar ECS permitirá a los productores de OTel estructurar los eventos de seguridad.

¿Habrá algún cambio en las licencias de ECS?

No habrá cambios en las licencias de ECS. ECS tiene licencia de Apache 2.0, al igual que OpenTelemetry.

¿Elastic brinda soporte para OpenTelemetry actualmente?

Elastic brinda soporte para OTel de forma nativa. Los usuarios de Elastic pueden enviar datos a OTel directamente desde las aplicaciones o a través de recopilador de OTel a Elastic APM, que procesa tanto las SemConv de OTel como ECS. Con este soporte nativo de OTel, todas las capacidades de Elastic APM están disponibles con OTel. Ve la documentación de Elastic para obtener más información sobre la integración a OTel.

microservicios de elastic otel