Spring Boot Actuator es una poderosa herramienta que proporciona funcionalidades de monitoreo y gestión para aplicaciones Spring Boot. En esta sección, aprenderás cómo utilizar Actuator para monitorear tu aplicación, entender sus métricas y gestionar su estado.

¿Qué es Spring Boot Actuator?

Spring Boot Actuator añade endpoints que permiten interactuar con la aplicación para obtener información sobre su estado, métricas, salud, y más. Estos endpoints son útiles para monitorear y gestionar aplicaciones en producción.

Características Clave de Spring Boot Actuator

  • Métricas: Proporciona métricas detalladas sobre el rendimiento de la aplicación.
  • Salud: Permite verificar el estado de salud de la aplicación.
  • Información: Proporciona información sobre la configuración de la aplicación.
  • Gestión: Permite gestionar la aplicación, como cambiar niveles de log en tiempo real.

Configuración de Spring Boot Actuator

Para empezar a usar Actuator, primero debes agregar la dependencia en tu archivo pom.xml (para proyectos Maven) o build.gradle (para proyectos Gradle).

Maven

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Gradle

implementation 'org.springframework.boot:spring-boot-starter-actuator'

Endpoints de Actuator

Spring Boot Actuator proporciona varios endpoints que puedes habilitar o deshabilitar según tus necesidades. Algunos de los endpoints más comunes son:

  • /actuator/health: Muestra el estado de salud de la aplicación.
  • /actuator/metrics: Proporciona métricas detalladas.
  • /actuator/info: Muestra información general sobre la aplicación.
  • /actuator/loggers: Permite gestionar los niveles de log.

Habilitar Endpoints

Por defecto, algunos endpoints están deshabilitados por razones de seguridad. Puedes habilitarlos en el archivo application.properties o application.yml.

application.properties

management.endpoints.web.exposure.include=health,info,metrics,loggers

application.yml

management:
  endpoints:
    web:
      exposure:
        include: health, info, metrics, loggers

Ejemplo Práctico

Vamos a crear una aplicación Spring Boot simple y habilitar algunos endpoints de Actuator para monitorear su estado.

Paso 1: Crear una Aplicación Spring Boot

Crea una nueva aplicación Spring Boot utilizando Spring Initializr o tu IDE favorito. Asegúrate de incluir las dependencias spring-boot-starter-web y spring-boot-starter-actuator.

Paso 2: Configurar Actuator

Edita el archivo application.properties para habilitar los endpoints de Actuator.

management.endpoints.web.exposure.include=health,info,metrics,loggers

Paso 3: Ejecutar la Aplicación

Ejecuta tu aplicación Spring Boot. Una vez que la aplicación esté en funcionamiento, puedes acceder a los endpoints de Actuator en tu navegador o utilizando herramientas como curl.

Verificar el Estado de Salud

curl http://localhost:8080/actuator/health

Obtener Métricas

curl http://localhost:8080/actuator/metrics

Ejercicio Práctico

Ejercicio 1: Habilitar y Acceder a Endpoints de Actuator

  1. Objetivo: Habilitar los endpoints de Actuator y acceder a ellos.
  2. Instrucciones:
    • Crea una nueva aplicación Spring Boot.
    • Agrega la dependencia de Actuator.
    • Configura los endpoints en application.properties.
    • Ejecuta la aplicación y accede a los endpoints /actuator/health y /actuator/metrics.

Solución

  1. Crear la Aplicación: Utiliza Spring Initializr para crear una nueva aplicación con las dependencias spring-boot-starter-web y spring-boot-starter-actuator.
  2. Agregar Dependencia: Asegúrate de que tu pom.xml o build.gradle incluya la dependencia de Actuator.
  3. Configurar Endpoints: Edita application.properties para habilitar los endpoints.
management.endpoints.web.exposure.include=health,info,metrics,loggers
  1. Ejecutar y Acceder: Ejecuta la aplicación y utiliza curl o tu navegador para acceder a los endpoints.
curl http://localhost:8080/actuator/health
curl http://localhost:8080/actuator/metrics

Conclusión

Spring Boot Actuator es una herramienta esencial para monitorear y gestionar aplicaciones Spring Boot. Proporciona una variedad de endpoints que permiten obtener información detallada sobre el estado y el rendimiento de la aplicación. En esta sección, aprendiste cómo configurar y utilizar Actuator para monitorear tu aplicación. En el siguiente módulo, exploraremos cómo utilizar Prometheus y Grafana para un monitoreo más avanzado.

Curso de Spring Boot

Módulo 1: Introducción a Spring Boot

Módulo 2: Conceptos Básicos de Spring Boot

Módulo 3: Construyendo Servicios Web RESTful

Módulo 4: Acceso a Datos con Spring Boot

Módulo 5: Seguridad en Spring Boot

Módulo 6: Pruebas en Spring Boot

Módulo 7: Funciones Avanzadas de Spring Boot

Módulo 8: Despliegue de Aplicaciones Spring Boot

Módulo 9: Rendimiento y Monitoreo

Módulo 10: Mejores Prácticas y Consejos

© Copyright 2024. Todos los derechos reservados