Integra Spring boot con Jolokia para el manejo de métricas

Cuando creas una aplicación Spring boot utilizando Jersey en lugar de Spring MVC te darás cuenta que hay muchas cosas que no se integran de forma transparente, un ejemplo es cuando quieres utilizar Jolokia para el manejo de las métricas de tus aplicaciones. En este ejemplo explicaremos paso a paso como habilitarlo sin romperte la cabeza, tomaremos como base el proyecto Utiliza Spring boot Actuator con Jersey para el mantenimiento de tus aplicaciones.

Paso 1 Agregar la dependencia de Jolokia

El primer paso será agregar la dependencia de Jolokia en tu aplicación en tu archivo pom.xml.

<dependency>
	<groupId>org.jolokia</groupId>
	<artifactId>jolokia-core</artifactId>
</dependency>

Esto permitirá tener en tu proyecto todas las clases necesarias para la generación de métricas de tu aplicación.

Paso 2 Registrar el Servlet de Jolokia

Si estuvieras utilizando Spring MVC en lugar de Jersey eso sería suficiente para agregar el soporte de Jolokia, pero Jersey requiere una configuración adicional, y esta es registrar el servlet del monitor de Jolokia en nuestra apliación, para esto agregaremos las siguientes líneas en nuestra clase principal.

/**
 *
 */
package com.raidentrance;

import org.jolokia.http.AgentServlet;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;

/**
 * @author raidentrance
 *
 */
@SpringBootApplication
public class SprinBootSampleApplication {

	@Bean
	public ServletRegistrationBean servletRegistrationBean() {
		return new ServletRegistrationBean(new AgentServlet(), "/jolokia/*");
	}

	public static void main(String[] args) {
		SpringApplication.run(SprinBootSampleApplication.class, args);
	}
}

Una vez hecho esto el agente de jolokia estará registrado en nuestra aplicación.

Paso 3: Acceder a los endpoints de Jolokia

Una vez que ya agregamos la configuración y registramos el servlet en nuestra aplicación los endpoints de Jolokia estarán disponibles en la siguiente URL http://localhost:8080/jolokia con la siguiente salida:

{
   "request": {
      "type": "version"
   },
   "value": {
      "agent": "1.3.3",
      "protocol": "7.2",
      "config": {
         "agentId": "192.168.12.112-68508-59a1617d-servlet",
         "agentType": "servlet"
      },
      "info": {
         "product": "tomcat",
         "vendor": "Apache",
         "version": "8.5.4"
      }
   },
   "timestamp": 1516917873,
   "status": 200
}

La salida anterior muestra que nuestro agente de Jolokia esta configurado y listo para acceder a las métricas que deseamos, para ver la documentación completa accede a la url https://jolokia.org/reference/html/index.html .

Si te gusta el contenido y quieres enterarte cuando realicemos un post nuevo síguenos en nuestras redes sociales https://twitter.com/geeks_mx y https://www.facebook.com/geeksJavaMexico/.

Puedes encontrar el código completo en la siguiente url https://github.com/raidentrance/spring-boot-example/tree/part9-jolokia.

Autor: Alejandro Agapito Bautista

Twitter: @raidentrance

Contacto:raidentrance@gmail.com

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s