Conectando JMeter con Prometheus & Grafana para obtener información en tiempo real

watch 5m, 48s
views 2

14:28, 25.08.2026

Contenido del artículo
arrow

  • Descripción general introductoria
  • ¿Qué es Prometheus?
  • ¿Qué es Grafana?
  • ¿Qué es el complemento JMeter-Prometheus?
  • Requisitos previos
  • Instalación del complemento JMeter-Prometheus
  • Instalación de Prometheus
  • Instalación de Grafana
  • Configuración del complemento JMeter-Prometheus en JMeter
  • Configuración de Prometheus
  • Inicio de Prometheus
  • Ejecución de la prueba de JMeter
  • Visualización de las métricas de JMeter en Prometheus
  • ¿Dónde está Grafana?
  • Validación de la fuente de datos de Prometheus en Grafana
  • Creación de un panel de Grafana
  • Ejemplo de panel de Grafana
  • Conclusión

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

  1. Abre JMeter y crea tu plan de pruebas.
  2. Añade el «Backend Listener» a tu prueba.
  3. Establece la «Implementación del Backend Listener» en io.prometheus.jmeter.backendlistener.PrometheusBackendListenerClient.
  4. 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

  1. Ve a Configuración > Fuentes de datos.
  2. Haz clic en Añadir fuente de datos y selecciona Prometheus.
  3. Introduce la URL de Prometheus (http://localhost:9090) y haz clic en Guardar y probar.
  4. 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.

  1. Haz clic en «Crear»> «Panel»> «Añadir nuevo panel».
  2. Utiliza consultas en el lenguaje de consulta de Prometheus (PromQL) para recuperar métricas de JMeter.

Ejemplo:
rate(jmeter_sample_count{label="Login"}[1m])

  1. Ajusta los tipos de visualización (p. ej., gráfico, indicador, gráfico de barras).
  2. 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.

Compartir

¿Te ha resultado útil este artículo?

Ofertas populares de VPS

-9.5%

CPU
CPU
8 Xeon Cores
RAM
RAM
32 GB
Space
Space
200 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 32768 Windows

73.99 /mes

/mes

Facturado cada 12 meses

-9.5%

CPU
CPU
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 32768 Windows

74.49 /mes

/mes

Facturado cada 12 meses

-10%

CPU
CPU
4 Epyc Cores
RAM
RAM
4 GB
Space
Space
50 GB NVMe
Bandwidth
Bandwidth
Unlimited
aiKVM-NVMe 4096 Linux

16.74 /mes

/mes

Facturado cada 12 meses

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 4096 HK Windows

40 /mes

/mes

Facturado cada 12 meses

-18.6%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
4 TB
wKVM-SSD 4096 Metered Windows

38 /mes

/mes

Facturado cada 12 meses

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
400 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 16384 Linux

40.17 /mes

/mes

Facturado cada 12 meses

-5.3%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 2048 Windows

11.6 /mes

/mes

Facturado cada 12 meses

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB HDD
Bandwidth
Bandwidth
Unlimited
KVM-HDD 4096 Linux

15 /mes

/mes

Facturado cada 12 meses

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-KVM-SSD 8192 Linux

115.5 /mes

/mes

Facturado cada 12 meses

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
200 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 8192 Linux

20.53 /mes

/mes

Facturado cada 12 meses

Otros artículos sobre este tema

cookie

¿Acepta las cookies y la política de privacidad?

Utilizamos cookies para asegurar que damos la mejor experiencia en nuestro sitio web. Si continúa sin cambiar la configuración, asumiremos que acepta recibir todas las cookies del sitio web HostZealot.