Qué es Spring Framework y por qué usarlo
Si eres desarrollador Java te interesará este artículo, en el que te contamos qué es Spring Framework y por qué utilizarlo.
Descubre que es Micrometer y como esta librería te permite monitorear tus aplicaciones basadas en JVM.
Tabla de contenidos
Micrometer es una biblioteca de instrumentación de medidas para aplicaciones basadas en JVM (Java Virtual Machine), que proporciona un front simple sobre los clientes de instrumentación para los sistemas de supervisión más populares. Se encuentra diseñado para agregar una sobrecarga pequeña o nula en la actividad de recopilación de métricas mientras maximiza la portabilidad de su esfuerzo en ellas.
A pesar de su enfoque en las métricas dimensionales, Micrometer se correlaciona con nombres jerárquicos para continuar sirviendo soluciones de monitoreo más antiguas como Ganglia o herramientas de ámbito más cerrado como JMX. El cambio a Micrometer surgió del deseo de servir mejor a una ola de sistemas de monitoreo dimensional como Prometheus, Datadog, Wavefront, SignalFx, Influx.
Una de las ventajas de Spring es que habilita la elección a través de la abstracción, por tanto, al integrarse con Micrometer, Spring Boot le permite elegir uno o más sistemas de monitoreo, con diferentes vistas para proyectar sus resultados.
Con Micrometer podemos medir métricas y cuando hablamos de ellas nos referimos específicamente a la clase de información específica, que permite razonar sobre el rendimiento de un sistema en conjunto a través de diferentes componentes de una aplicación única, instancias de un clúster, clústeres que operan en diferentes entornos o regiones, entre otras.
Algunas métricas que podemos obtener son las siguientes:
Es de gran importancia mencionar, que Spring Boot Actuator proporciona administración de dependencias y autoconfiguración para Micrometer, totalmente compatible con Spring Boot 2.0 / 1.x y Spring Framework 5.0 / 4.x. Las métricas de memoria JVM de la aplicación Spring se registran de forma automática.
Micrometer proporciona una API de recopilación de métricas neutral para el proveedor e implementaciones para una variedad de sistemas de monitoreo como front con el objetivo de permitirle instrumentar su código de la misma manera y poder visualizar los resultados en el sistema de monitoreo de la elección del desarrollador. Algunos sistemas compatibles son:
InfluxDB: permite el procesamiento de flujo en tiempo real y el almacenamiento de datos de series de tiempo, es compatible con la reducción de muestreo, el vencimiento automático y la eliminación de datos no deseados, así como la copia de seguridad y restauración.
New Relic Insights: es un SaaS (Software as a Service) con una interfaz de usuario completa y un lenguaje de consulta llamado NRQL el cual funciona con un modelo push.
Datadog: Micrometer admite métricas de envío a Datadog directamente a través de su API o a través de Dogstatsd mediante el registro de StatsD. Este es un SaaS (Software as a Service) de serie temporal dimensional con paneles incorporados y alertas.
SignalFx: es un sistema de monitoreo dimensional SaaS (Software as a Service) con una interfaz de usuario completa que opera en un modelo push, cuenta con un amplio conjunto de detectores de alerta.
Micrometer Spring, permite tener supervisión web sin mayor complejidad ya que esta se configura de forma automática para cada punto final en la aplicación, sin embargo puede ser administrado a través de la propiedad spring.metrics.web.autoTimeServerRequests. La implementación predeterminada proporciona cuatro dimensiones de métricas para puntos finales como lo son:
Por otra parte, existe una cantidad considerable de propiedades que son configurables para llevar el control de las medidas de exportación de comportamientos, es por ello que podemos hacer referencia a spring.metrics.atlas., la cual fue desarrollada por Netflix para administrar datos de series de tiempo dimensionales y obtener información operativa casi en tiempo real a través de la inteligencia operativa.
Atlas presenta almacenamiento de datos en memoria, permitiéndole recopilar e informar grandes cantidades de métricas rápidamente, para obtener mayor detalle en cuanto a las propiedades de configuración puedes ingresar en AtlasConfig.
Así mismo, Micrometer Spring, al abstraer y ser compatible con diversos sistemas de monitoreo bajo una semántica común, hace que el cambio entre diferentes plataformas de monitoreo sea bastante fácil y funcional para el estudio del comportamiento y toma de decisiones según sea el caso.
Aprende el motor de Spring para crear las mejores aplicaciones empresariales.
Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.
También te puede interesar
Si eres desarrollador Java te interesará este artículo, en el que te contamos qué es Spring Framework y por qué utilizarlo.
Aprende con el curso de Spring Core 5 a utilizar el motor de Spring para crear las mejores...