Redacción 17 octubre, 2019

Con 1.2 petabytes de logs por día y 5 millones de puntos de datos de métricas entrando por segundo, eBay no tiene escasez de datos que rastrear.

El equipo de logging y monitoreo de eBay de comercio electrónico se enfrenta cada día a la tarea titánica de recopilar y visualizar todos estos logs y métricas.

Y al igual que la mayoría de las empresas, usa diversas aplicaciones (como Hadoop y MySQL) para impulsar distintos casos de uso en todos los equipos.

Contenedores de Datos

Cuando los contenedores irrumpieron en la escena para brindar una forma nueva de desplegar aplicaciones, el equipo comenzó a usar contenedores con Docker y a usar Kubernetes en la administración del ciclo de vida para el despliegue.

Sin embargo, uno de los principales desafíos a los que se enfrentaron fue que las apps y el entorno evolucionan constantemente (y es difícil seguirles el ritmo).

Entra en escena Beats. Fue fácil elegir Filebeat y Metricbeat para recopilar y enviar los logs y las métricas desde Docker y Kubernetes.

También querían poder descubrir las cargas de trabajo a medida que se creaban. Previo a la existencia de la funcionalidad de detección automática en Beats (nueva en la versión 6.2), crearon una propia: Collectbeat. Basado en libbeat, su Beat descubría pods nuevos en clusters de Kubernetes.

eBay asume el control de sus logs
eBay asume el control de sus logs

Collectbeat usaba la API de Kubernetes para descubrir cargas de trabajo, recopilar y enriquecer los datos, y luego enviarlos al sistema de monitoreo interno. Este sistema, denominado Sherlock.io, se creó de forma tal que fuera flexible y se amoldara a la adopción de tecnologías nuevas.

Si bien el aspecto de la recopilación ahora estaba resuelto, aún era necesario centrar la atención en la analítica y la visualización.

Recopilar todos los datos solo es útil si los usuarios de eBay pueden analizarlos con etiquetas conocidas. El siguiente paso lógico era identificar una forma de etiquetar los datos con metadatos antes de que se enviaran.

Entonces, Vijay Samuel y su equipo de eBay crearon un procesador denominado “add_kubernetes_metadata” que toma los mensajes de logs y las cargas de métricas, y adjunta metadatos como nombre y espacio en pod.

Este procesador ahora se encuentra disponible en GitHub; y es un excelente ejemplo de por qué los proyectos open source impulsados por la comunidad son tan poderosos.

Por supuesto, eBay sigue evolucionando. La adopción de nuevas tecnologías trae aparejada más aplicaciones, más logs y más métricas. De hecho, su crecimiento orgánico de logging es del 50 % interanualmente.

¿Cómo lidian con el número creciente de datos si los recursos son limitados?

Una táctica es medir las aplicaciones a nivel del host/grupo creando límites de retención y cuotas basados en niveles.

Otra es dar prioridad a tipos específicos de datos. Los eventos son la prioridad más alta, las métricas que muestran la visibilidad operativa están en segundo lugar, y los logs siguen después.

Para asegurarse de que la prioridad sea la adecuada, agregaron programadores de eventos y permiten la detección automática para agregar peso a las configuraciones.

 

 

Por Marcelo Lozano – General Publisher IT Connect Latam

A %d blogueros les gusta esto: