Quantcast
Viewing all articles
Browse latest Browse all 2713

Blog Bitix: Exponer las métricas de Hystrix en Grafana con Prometheus de una aplicación Spring Boot

Image may be NSFW.
Clik here to view.
Java
Image may be NSFW.
Clik here to view.
Spring

Hystrix es una implementación del patrón circuit breaker para hacer que un servicio sea tolerante fallos cuando aquellos que utiliza fallan. Es conveniente tener una herramienta de monitorización para conocer el estado del sistema y actuar pronto o conocer si el comportamiento del sistema es diferente al hacer algún cambio. Hystrix proporciona varios datos como el número de peticiones realizadas, cuantas han fallado o cual es el estado del patrón circuit breaker. Prometheus es una herramienta de monitorización que recoge las métricas de los servicios de forma periódica y las almacena para una consulta posterior, Grafana es otra herramienta de monitorización que permite visualizar en gráficas las métricas almacenadas en Prometheus y observar los valores a lo largo del tiempo.

En el artículo Tolerancia a fallos en un cliente de microservicio con Spring Cloud Netflix y Hystrix explicaba como crear un servicio de Spring que implementa el patrón circuit breaker con Hystrix y en el artículo Monitorizar una aplicación Java con Spring Boot, Micrometer, Prometheus y Grafana explicaba como exportar las métricas de Spring Boot Actuator a Prometheus y como crear gráficas en Grafana.

Hystrix ofrece un dashboard algo espartano con los datos de Hystrix de la propia aplicación. Los datos de las métricas de Hystrix por defecto no se exponen en Spring Boot Actuator pero se pueden añadir creando un beanHystrixMetricsBinder en la configuración de Spring.

Una vez hecho esto Spring en el endpoint/actuator/metrics se exponen las métricas de Hystrix, si además se configura Spring añadiendo la dependencia io.micrometer:micrometer-registry-prometheus para exponer las métricas en el formato para que Prometheus las recolecta también se añaden en el endpoint/actuator/prometheus.

Con estas métricas recolectadas por Prometheus se pueden visualizar en gráficas por Grafana. Hay algunos paneles de Grafana para Hystrix como el 7145 pero que necesitan ser adaptados según la nomenclatura de las propiedades expuestas por Spring Boot. En este caso se monitoriza el número de peticiones realizadas, el tiempo de latencia, si los circuitos están abiertos, los fallos, éxitos y tiemouts así como el estado de los thread pools que utiliza Hystrix para realizar las peticiones de un cliente a un servicio.

Image may be NSFW.
Clik here to view.
Panel de Grafana para métricas de Hystrix

Exponer las métricas en una aplicación de Spring Boot para Prometheus es muy sencillo y con Grafana se puede observar el estado del sistema de forma tan detallada como lo sean las métricas expuestas por la aplicación. Por defecto Spring Boot ya expone una buena cantidad de métricas del estado del servicio como uso de CPU, memoria, hilos o recolector de basura.

El código fuente completo del ejemplo puedes descargarlo del repositorio de ejemplos de Blog Bitix alojado en GitHub y probarlo en tu equipo ejecutando el comando ./gradle-run.sh.


Viewing all articles
Browse latest Browse all 2713

Trending Articles


Girasoles para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Tagalog Quotes About Crush – Tagalog Love Quotes


OFW quotes : Pinoy Tagalog Quotes


Long Distance Relationship Tagalog Love Quotes


Tagalog Quotes To Move on and More Love Love Love Quotes


5 Tagalog Relationship Rules


Best Crush Tagalog Quotes And Sayings 2017


Re:Mutton Pies (lleechef)


FORECLOSURE OF REAL ESTATE MORTGAGE


Sapos para colorear


tagalog love Quotes – Tiwala Quotes


Break up Quotes Tagalog Love Quote – Broken Hearted Quotes Tagalog


Patama Quotes : Tagalog Inspirational Quotes


Pamatay na Banat and Mga Patama Love Quotes


Tagalog Long Distance Relationship Love Quotes


BARKADA TAGALOG QUOTES


“BAHAY KUBO HUGOT”


Vimeo 10.7.0 by Vimeo.com, Inc.


Vimeo 10.7.1 by Vimeo.com, Inc.