Conectando JMeter con Prometheus & Grafana para obtener información en tiempo real
14:28, 25.08.2026
Apache JMeter es una herramienta muy utilizada para realizar pruebas de carga y supervisar el rendimiento. Permite a los usuarios simular cargas elevadas y analizar el comportamiento del sistema en tiempo real. Sin embargo, es posible que su función de generación de informes integrada no sea suficiente cuando se requiere una supervisión continua en tiempo real.
En este caso, puedes utilizar herramientas auxiliares como Prometheus y Grafana. Estas te permiten visualizar dinámicamente las métricas de rendimiento durante la ejecución de las pruebas.
En este artículo, exploraremos cómo integrar JMeter con Prometheus y Grafana para obtener análisis de rendimiento sólidos y en tiempo real.
Descripción general introductoria
JMeter ofrece excelentes capacidades de ejecución de pruebas, pero su integración con Prometheus y Grafana abre nuevas posibilidades en materia de observabilidad. Prometheus recopila y almacena métricas, mientras que Grafana las visualiza a través de paneles dinámicos. Al conectar JMeter a esta pila mediante el complemento JMeter-Prometheus, los evaluadores pueden ver métricas en tiempo real, detectar cuellos de botella y tomar medidas inmediatas.
¿Qué es Prometheus?
Prometheus es un conjunto de herramientas de código abierto para la monitorización de sistemas y la generación de alertas, desarrollado originalmente por SoundCloud. Recopila y almacena métricas como datos de series temporales, proporciona un lenguaje de consulta flexible (PromQL) y puede generar alertas en función de condiciones personalizadas. Prometheus extrae (recoge) métricas de los puntos finales expuestos por las aplicaciones y servicios de destino, lo que lo hace muy adecuado para supervisar entornos dinámicos, como los microservicios.
¿Qué es Grafana?
Grafana es una potente plataforma de visualización y análisis que funciona con una gran variedad de fuentes de datos, incluido Prometheus. Con Grafana, los usuarios pueden crear paneles interactivos y personalizables, lo que les permite supervisar métricas clave en tiempo real, configurar alertas y compartir paneles entre equipos. El amplio ecosistema de complementos de Grafana amplía aún más su funcionalidad.
¿Qué es el complemento JMeter-Prometheus?
El complemento JMeter-Prometheus expone las métricas de JMeter como un punto final HTTP del que Prometheus puede extraer datos. Actúa como puente entre JMeter y Prometheus, recopilando información como el número de solicitudes por segundo, los tiempos de respuesta, el recuento de errores y mucho más. Este complemento es esencial para permitir la supervisión en tiempo real de las pruebas de rendimiento.
Requisitos previos
Antes de empezar, asegúrate de lo siguiente:
- Java (JDK 8 o superior)
- Apache JMeter instalado
- Conexión a Internet para descargar las dependencias
Instalación del complemento JMeter-Prometheus
En primer lugar, descarga el archivo JAR del complemento (jmeter-prometheus-plugin-<versión>.jar) desde su repositorio de GitHub.
A continuación, coloca el archivo JAR en el directorio /lib/ext de tu instalación de JMeter.
A continuación, puedes reiniciar JMeter para activar el complemento.
Instalación de Prometheus
Para ello, debes descargar Prometheus desde la página web oficial. A continuación, extrae el archivo comprimido y localiza el archivo de configuración prometheus.yml.
Cuando hayas terminado, añade un nuevo trabajo para recopilar las métricas de JMeter:
- job_name: 'jmeter'
metrics_path: '/metrics'
static_configs:
- targets: ['localhost:9270']
Instalación de Grafana
Descarga Grafana desde grafana.com. A continuación, sigue los pasos de instalación correspondientes a tu sistema operativo.
Una vez instalado, inicia Grafana mediante el terminal o el gestor de servicios.
Configuración del complemento JMeter-Prometheus en JMeter
- Abre JMeter y crea tu plan de pruebas.
- Añade el «Backend Listener» a tu prueba.
- Establece la «Implementación del Backend Listener» en io.prometheus.jmeter.backendlistener.PrometheusBackendListenerClient.
- Configura los parámetros:
- puerto: 9270 (o cualquier puerto abierto)
- nombre_métrica: JMeter
- percentiles: 90;95;99
El complemento mostrará ahora las métricas en http://localhost:9270/metrics.
Configuración de Prometheus
Inicio de Prometheus
Ejecuta Prometheus utilizando:
./prometheus --config.file=prometheus.yml
Prometheus comenzará a recopilar datos de JMeter y los almacenará localmente.
Ejecución de la prueba de JMeter
Inicia la prueba en JMeter. A medida que se ejecuta la prueba, el Backend Listener enviará datos de rendimiento al punto final configurado para Prometheus.
Puedes verificarlo accediendo a http://localhost:9270/metrics en tu navegador.
Visualización de las métricas de JMeter en Prometheus
Una vez que la prueba se esté ejecutando y Prometheus esté recopilando datos, abre http://localhost:9090 (interfaz de usuario de Prometheus). Introduzca una consulta PromQL de ejemplo, como:
rate(jmeter_sample_count[1m])
Esto mostrará el número de muestras (solicitudes) que genera JMeter por minuto. Otras métricas útiles son jmeter_sample_duration y jmeter_sample_failure_count.
¿Dónde está Grafana?
Grafana se ejecuta en http://localhost:3000 de forma predeterminada. Inicia sesión con las credenciales predeterminadas (admin / admin) y establece una nueva contraseña cuando se te solicite.
Validación de la fuente de datos de Prometheus en Grafana
- Ve a Configuración > Fuentes de datos.
- Haz clic en Añadir fuente de datos y selecciona Prometheus.
- Introduce la URL de Prometheus (http://localhost:9090) y haz clic en Guardar y probar.
- Grafana debería confirmar que la conexión se ha establecido correctamente.
Creación de un panel de Grafana
Ahora que la fuente de datos está conectada, crea tu primer panel.
- Haz clic en «Crear»> «Panel»> «Añadir nuevo panel».
- Utiliza consultas en el lenguaje de consulta de Prometheus (PromQL) para recuperar métricas de JMeter.
Ejemplo:
rate(jmeter_sample_count{label="Login"}[1m])
- Ajusta los tipos de visualización (p. ej., gráfico, indicador, gráfico de barras).
- Guarda el panel para volver a utilizarlo.
Ejemplo de panel de Grafana
Un panel funcional para pruebas de rendimiento podría incluir lo siguiente:
- Solicitudes por segundo (RPS)
- Tiempos de respuesta medios y percentiles (90.º, 95.º, 99)
- Tasa de errores a lo largo del tiempo
- Usuarios activos
- Rendimiento
Estas visualizaciones proporcionan información en tiempo real sobre el rendimiento del sistema bajo carga, lo que facilita la detección de problemas y la validación de las mejoras.
Conclusión
La integración de JMeter con Prometheus y Grafana permite a los probadores e ingenieros supervisar el rendimiento en tiempo real y tomar medidas inmediatas cuando sea necesario. El complemento JMeter-Prometheus actúa como un puente esencial, exponiendo métricas para que Prometheus las recopile, y Grafana transforma a su vez estos datos en paneles de control significativos y útiles. Tanto si estás realizando pruebas de estrés en una aplicación web como si estás simulando cargas elevadas de usuarios en entornos similares a los de producción, esta configuración te ofrece la visibilidad que necesitas para mantener el buen funcionamiento y el rendimiento del sistema.
Con solo unos pocos pasos de instalación y configuración, puedes llevar tus prácticas de pruebas de rendimiento más allá de los informes estáticos y alcanzar la observabilidad en tiempo real.