Como ingenieros, todos amamos las excelentes herramientas que ayudan a nuestros equipos a trabajar productivamente, resolver problemas más rápido y ser mejores. Pero las herramientas tienden a crecer en número, requieren mantenimiento adicional y, lo más importante, crean silos. Cada equipo tiene ciertas responsabilidades y busca constantemente herramientas que puedan abordar requisitos específicos de la mejor manera posible. Como resultado, los equipos se vuelven eficientes como una sola unidad, pero el subproducto de tal autonomía performante es la falta de conocimiento de otras partes de la organización. Multiplique esto por la cantidad de equipos, y verá rápidamente grupos aislados que descartan una visión holística de cómo va su negocio.
Prometeo es un gran ejemplo de tal herramienta. Ha crecido rápidamente hasta convertirse en la herramienta de referencia para el monitoreo y alerta de sistemas de contenedores. Su principal fortaleza radica en el monitoreo y almacenamiento eficiente de las métricas del lado del servidor. Prometheus es completamente de código abierto y tiene una comunidad vibrante que extiende su cobertura a muchos sistemas de terceros en forma de exportadores. Como la mayoría de las herramientas especializadas, Prometheus pretende ser simple y fácil de operar. Esta simplicidad viene con compensaciones que son particularmente relevantes en casos de implementaciones a gran escala y colaboración entre equipos. En este blog examinaremos algunas de estas compensaciones y veremos cómo Elastic Stack puede ayudar a resolverlas.
Retención de datos a largo plazo.
Prometheus almacena datos localmente dentro de la instancia. Tener tanto almacenamiento de datos como de cómputo en un nodo puede facilitar el funcionamiento, pero también dificulta el escalado y garantiza una alta disponibilidad. Como consecuencia, Prometheus no está optimizado para ser una tienda de métricas a largo plazo . Dependiendo del tamaño de su entorno, su tasa de retención óptima para series temporales en Prometheus puede ser tan corta como varios días o incluso horas.
Para retener los datos de Prometheus de una manera escalable y duradera para un análisis extendido (por ejemplo, estacionalidad de series de tiempo), deberá complementar Prometheus con una solución de almacenamiento a largo plazo. Y hay muchas soluciones para elegir, como otras TSDB especializadas o bases de datos en columna optimizadas para series temporales. Estas soluciones, aunque son eficientes para almacenar métricas, comparten un inconveniente, están especializadas para un solo tipo de datos: las métricas. Las métricas son muy importantes para ayudar a comprender cómo se comportan sus sistemas, sin embargo, representan solo una parte de lo que hace que los sistemas sean observables.
Cuando los usuarios piensan en la observabilidad, intentan combinar otros tipos de datos operativos, como registros y rastreos, con métricas. En nuestro blog sobre observabilidad en Elastic Stack , hablamos de un número cada vez mayor de casos de uso en los que los usuarios que han adoptado Elastic stack para registros, también han comenzado a poner métricas, rastreos y datos de tiempo de actividad en Elasticsearch. Y no es de extrañar: Elasticsearch trata todos estos tipos de datos como un índice más y le permite agregar, correlacionar, analizar y visualizar todos sus datos operativos como desee. Las características como los paquetes acumulativos de datos en Elastic permiten almacenar datos históricos de series de tiempo a una fracción del costo de almacenamiento de datos sin procesar.
Más información sobre la implementación: Blog Elastic.