Definición de datos de telemetría

Los datos de telemetría proporcionan información esencial sobre el rendimiento de tus sistemas. Es esencial para la resolución proactiva de problemas y la toma de decisiones informada. Para lograrlo, sin embargo, no puedes solo confiar en los datos sin procesar; necesitas tener acceso a la información en tiempo real. Esto es lo que te proporcionan los datos de telemetría.

La telemetría es el proceso de recopilar, transmitir y analizar los datos de fuentes remotas, como servidores, aplicaciones y dispositivos de monitoreo. Este proceso puede desglosarse en los pasos siguientes:

  1. Recopilación de datos: sensores, software y otras herramientas de monitoreo reúnen datos como el comportamiento de los usuarios, las métricas de rendimiento y las condiciones del entorno.
  2. Transmisión de datos: enviar los datos recopilados a un sistema central.
  3. Análisis y monitoreo: una vez recibidos los datos, se procesan, analizan y muestran a fin de brindar información sobre el estado de los sistemas monitoreados, su rendimiento y su comportamiento.

A fin de lograr esto, debe contar con los datos de telemetría correctos. Son todos los datos sin procesar que incluirán cosas como logs, métricas, eventos y cualquier otro rastreo creados por los sistemas, las aplicaciones o los dispositivos. Sin estos datos sin procesar, el análisis y el monitoreo no serán tan útiles ni precisos.

Tipos de datos de telemetría

Logs

Los logs son listas de registros de texto, que registran eventos discretos que ocurren dentro de un sistema o una aplicación. Cada registro tendrá una marca de tiempo y brindará información detallada para la depuración y el análisis. Son esenciales para la depuración y la solución de problemas, el reporte de cumplimiento, la comprensión del comportamiento de los usuarios y varios tipos de auditoría.

Existen diferentes tipos de logs, que incluyen logs de aplicaciones, logs de sistemas, logs de redes y logs de acceso. Todos son datos de telemetría valiosos que pueden usarse para representar un panorama preciso de lo que sucedió, cuándo ocurrió y quién (o qué) estuvo involucrado.

Rastreos

Un rastreo es básicamente la ruta de navegación que deja una solicitud a medida que avanza en el sistema. Es un registro del recorrido que hace una solicitud, en el que se muestra el flujo y el momento preciso en varios servicios. Esto incluye cuestiones como rastreos de aplicaciones distribuidas y rastreos de solicitudes integrales en arquitecturas de microservicios.

Como datos de telemetría, estos rastreos brindan información valiosa para ayudar con la optimización del rendimiento, la comprensión de las dependencias del sistema, el análisis de causa raíz y la identificación de cuellos de botella.

Métricas

Las métricas son las mediciones numéricas de un sistema, software o aplicación capturadas en el tiempo de ejecución. Estas métricas posibilitan llevar a cabo un análisis cuantitativo del rendimiento en el tiempo e incluyen cuestiones como el uso de CPU, la tasa de solicitudes, la tasa de errores, el tiempo de respuesta y el uso de memoria.

En telemetría, estas métricas juegan un rol fundamental en la generación de visibilidad de cosas como el estado, el rendimiento y el comportamiento del sistema. Esta visibilidad puede proporcionar información sobre una variedad de herramientas, desde el monitoreo del rendimiento y la detección de anomalías hasta la planificación de capacidad y el monitoreo de cumplimiento del SLA.

Eventos

Los eventos son registros de cambios de estado o sucesos notables dentro del sistema. Capturan momentos o cambios importantes que afectan al sistema o a la empresa, y se diferencian de los logs en que suelen incluir información contextual adicional. Estos eventos incluirán cosas como acciones del usuario del tipo de inicio de sesión y compras, cambios de estado del sistema y eventos específicos de la empresa.

Debido a los datos contextuales adicionales, los eventos son esenciales para la inteligencia comercial, el monitoreo del estado del sistema, la auditoría de cumplimiento y el desencadenamiento de automatizaciones. También son excelentes para el análisis de comportamiento de los usuarios, dado que puedes ver con exactitud qué hicieron y cuándo.

Cómo configurar y usar los datos de telemetría

Paso 1: definir los objetivos

El primer paso en la configuración de los datos de telemetría es decidir con precisión qué es lo que se intenta lograr. Debes identificar objetivos específicos de recopilación de los datos de telemetría, como mejorar el rendimiento del sistema y tu experiencia del usuario, o quizá identificar amenazas de seguridad. Una buena forma de hacerlo es a través de la alineación de los objetivos de telemetría con tus objetivos comerciales existentes.

Luego, debes determinar qué métricas e indicadores de rendimiento clave (KPI) necesitarás para hacer el seguimiento. Por ejemplo, si tu objetivo es mejorar el rendimiento del sistema, probablemente quieras hacer el seguimiento de cuestiones como los tiempos de respuesta, las tasas de error y el uso de recursos. Otra consideración importante al momento de decidir los objetivos de la telemetría son la privacidad y el cumplimiento. Debes revisar las normativas relevantes (CCPA, GDPR, etc.) y definir pautas para la recopilación de datos que cumplan con estas normativas y que respeten la privacidad del usuario.

Paso 2: configurar las herramientas

El paso siguiente es seleccionar y configurar las herramientas adecuadas para cumplir con los objetivos. Debes seleccionar herramientas de recopilación de datos que te ayuden a hacerlo y que se integren de manera sencilla a tu pila de tecnología existente. Esto puede incluir cosas como herramientas de monitoreo de rendimiento de aplicaciones (APM), agregadores de logs o SDK personalizados.

Necesitas implementar mecanismos de recopilación, a través de la integración de marcos de trabajo de logging o agentes de monitoreo a tus aplicaciones, OpenTelemetry podría ser una buena opción neutral con respecto a los proveedores. Es probable que esto involucre agregar instrumentación de código o configurar sistemas existentes para recibir los datos que necesitas.

A fin de configurar los parámetros de recopilación, necesitarás configurar las especificaciones de la recopilación de datos, como las tasas de muestreo, los tipos de eventos que se capturarán y el nivel de detalles de tus logs. Luego, configura el filtrado de datos para excluir la información confidencial y la anonimización para cumplir con las normativas de privacidad.

Paso 3: enviar los datos

A continuación, tendrás que enviar los datos de telemetría. Para comenzar, debes implementar protocolos de transmisión para enviar los datos. Podrían ser HTTPS (o HTTP) para apps web, MQTT para dispositivos IoT o incluso protocolos especializados como OpenTelemetry (OTLP). Esto incluye asegurarse de que las transferencias estén aseguradas con mecanismos de encriptación y autenticación.

A fin de lidiar con interrupciones en la red y garantizar la confiabilidad, debes configurar el almacenamiento en búfer de datos local y la lógica de reintento. También deberás equilibrar el volumen y la frecuencia de la transmisión de datos a fin de minimizar el impacto potencial del rendimiento de las aplicaciones y el ancho de banda de la red.

Paso 4: almacenar los datos

El paso siguiente es elegir la solución de almacenamiento más adecuada para recibir tus datos de telemetría. Puedes configurar un almacenamiento diferente para los distintos tipos de datos, o puede resultar mucho más sencillo adoptar un enfoque de almacenamiento distribuido usando Elasticsearch y su búsqueda y replicación entre clusters a fin de crear una malla de datos.

A continuación, deberás implementar políticas de retención y definir por cuánto tiempo deben almacenarse los distintos tipos de datos. Para decidir esto, ten en cuenta tanto los requisitos analíticos como normativos que se aplican a dichos datos. Las decisiones sobre el almacenamiento de los datos de telemetría con frecuencia requerirán un equilibrio entre la necesidad del rendimiento analítico y el costo de almacenarlos.

Otra cuestión a tener en cuenta es el particionamiento y la indexación; querrás organizar el almacenamiento para optimizar el rendimiento de las búsquedas usando cosas como el particionamiento y la indexación basados en tiempo. El backup y la recuperación ante desastres también deberían estar activos como protección contra la pérdida de datos y para asegurar el acceso continuo a los datos de telemetría.

Paso 5: analizar los datos de telemetría

Por último, debes poder analizar y visualizar los datos de telemetría. Esto incluye el desarrollo de dashboards y visualizaciones para representar las métricas y tendencias clave. También debes implementar sistemas de alerta para recibir notificaciones cuando las métricas superen los umbrales predefinidos o cuando se detecten anomalías.

A fin de aprovechar al máximo los datos de telemetría, configura analíticas avanzadas, como el análisis estadístico y machine learning con el objetivo de identificar patrones y predecir tendencias futuras. Esto funciona particularmente bien cuando combinas información de distintos tipos de datos para obtener una vista integral de la actividad del sistema y el comportamiento de los usuarios.

Beneficios de datos de telemetría

Estos son algunos de los beneficios clave que obtendrás a partir de la creación de procesos de telemetría efectivos usando tus datos:

  • Visibilidad en tiempo real: al hacer un seguimiento de métricas y logs críticos, y analizarlos, obtienes información instantánea sobre lo que está funcionando bien y las áreas en las que puedes implementar mejoras.
  • Detección de amenazas y resolución proactivas: tus datos de telemetría posibilitan la identificación de anomalías y patrones que podrían indicar potenciales problemas, antes de que escalen.
  • Mejor eficiencia operativa: puedes optimizar tus flujos de trabajo e incrementar la productividad implementando el monitoreo y la recopilación de datos de forma automatizada.
  • Solución de problemas más rápida: tus datos de telemetría detallados significan que puedes identificar con rapidez la causa raíz de un problema, lo que reduce el tiempo promedio de resolución (MTTR).
  • Toma de decisiones mejorada: al tener disponibles todos los datos que necesitas, puedes tomar decisiones impulsadas por los datos y hacer elecciones estratégicas informadas sobre la asignación de recursos, el desarrollo de productos y mejoras en la UX.

A fin de poder obtener todos los beneficios de tus datos de telemetría, es fundamental usar una plataforma de datos unificada para consolidar los datos de telemetría. De esta manera, puedes reunir los datos de diferentes fuentes y reducir la "silla giratoria".

Esta consolidación no solo te brinda los beneficios anteriores, sino que mejora la escalabilidad y la rentabilidad, al mismo tiempo que asegura la consistencia en todo el procesamiento de datos. Es por eso que también los estándares abiertos como OpenTelementry Semantic Conventions (Otel SemConv) son tan importantes. Se aseguran de que tengas interoperabilidad entre las diferentes herramientas y plataformas.

Desafíos relacionados con los datos de telemetría

Como con cualquier tecnología, el uso de los datos de telemetría trae aparejado tanto beneficios como desafíos. La manera de superar estos desafíos es comprenderlos y planificar cómo superarlos.

  • Seguridad y privacidad de los datos: la seguridad y la privacidad de los datos de usuarios y clientes son fundamentales. No solo porque es una buena práctica, sino porque puede tener grandes repercusiones normativas y en la reputación. A fin de combatir esto, debes implementar medidas de seguridad robustas, como la encriptación, los controles de acceso y el logging integral. También debes proteger la información sensible y mantener un estricto control sobre el acceso a los datos.
  • Integración a software heredado: debes incluir soporte para una variedad de formatos y fuentes de datos mediante la implementación de una ingesta flexible de datos. Esto posibilita la incorporación de los datos de telemetría que provienen tanto de sistemas modernos como heredados en un una plataforma unificada.
  • Almacenamiento rentable: las opciones de almacenamiento en niveles y las políticas de gestión de ciclo de vida de la información (ILM) significan que puedes optimizar los costos de almacenamiento al mismo tiempo que puedes asegurar la accesibilidad a los datos. La arquitectura caliente-tibia-fría también puede ayudarte a equilibrar el rendimiento y la rentabilidad.
  • Soporte de estándares abiertos: a fin de garantizar la interoperabilidad, usa estándares abiertos, como OpenTelemetry, lo más pronto posible. Esto te permite preparar tu infraestructura de telemetría para el futuro e integrarte con facilidad a otras herramientas y plataformas.

OpenTelemetry con Elastic

Previamente en la guía, mencionamos OpenTelemetry, el marco de trabajo de observabilidad open source que unifica la recopilación de datos y estandariza los formatos de datos de telemetría. También te brinda un enfoque neutral con respecto a los proveedores que evita el bloqueo y es muy escalable para el manejo de datos de gran volumen.

Esto encaja muy bien con nuestros compromisos con los estándares abiertos en Elastic, motivo por el cual aportamos nuestra especificación open source Elastic Common Schema (ECS) a OpenTelemetry.

También incluimos la ingesta sin inconvenientes de datos con formato OTel en Elasticsearch como parte de nuestra función de observabilidad más amplia. Esto significa que puedes usar las analíticas y búsqueda avanzadas de Elasticsearch con datos de OTel y preparar tu plataforma de observabilidad para el futuro.

Esta combinación de Elastic y OpenTelemetry aborda muchos de los desafíos clave a los que probablemente te enfrentes:

  • Consolidar fuentes de datos heterogéneas
  • Asegurar la seguridad y privacidad de los datos
  • Gestionar la integración a software heredado
  • Optimizar los costos de almacenamiento
  • Manejar diversos tipos de datos
  • Brindar soporte a estándares abiertos para interoperabilidad