No results for

Powered byAlgolia

InfluxDB + Grafana

sugerir editar

Puedes utilizar Grafana para visualizar las métricas de k6.

El primer paso es subir las métricas de los resultados de las pruebas a un backend de almacenamiento. Y a continuación, configurar Grafana para obtener los datos de su backend para visualizar los resultados de las pruebas.

Este tutorial muestra cómo subir las métricas de los resultados de las pruebas a una instancia de InfluxDB y configurar Grafana para consultar las métricas de k6 desde InfluxDB.

Grafana Visualization

Instalando InfluxDB

Las instrucciones completas de instalación están disponibles en los documentación de InfluxDB.

Linux (Debian/Ubuntu)
macOS
$ sudo apt install influxdb

Ejecutar la prueba y subir los resultados a InfluxDB

k6 tiene soporte incorporado para la salida de datos de resultados directamente a una base de datos InfluxDB utilizando el interruptor --out (-o):

Linux & MacOS
Docker
$ k6 run --out influxdb=http://localhost:8086/myk6db script.js

La línea de comando anterior hace que k6 se conecte a una instancia local de influxdb, y envíe los resultados de la prueba a una base de datos llamada myk6db. Si esta base de datos no existe, k6 la creará automáticamente.

Una vez que tengas los resultados de k6 en tu base de datos InfluxDB, puedes usar Grafana para crear visualizaciones de resultados.

Instalar Grafana

Las instrucciones completas de instalación están disponibles en la documentación de Grafana.

Linux (Debian/Ubuntu)
macOS
$ sudo apt install grafana

Después de la instalación, deberías tener un servidor InfluxDB corriendo en localhost, escuchando en el puerto 886, y un servidor Grafana en http://localhost:3000. Ahora, mostramos dos formas diferentes de visualizar tus métricas k6:

  • Dashboards personalizados en Grafana
  • Dashboards preconfigurados en Grafana

Dashboards personalizados en Grafana

  • Abra http://localhost:3000 (o donde se encuentre su instalación de Grafana) en su navegador.
  • Create a data source: Create Data Source
  • Ahora Create a dashboard. Aquí está el panel de control recién creado: Create Dashboard
  • Haga clic en Graph para crear un nuevo panel gráfico: Create Graph Panel
  • Haga clic en el título del Panel y luego en Edit para configurar el panel de gráficos: Edit Graph Panel
  • Establezca la fuente de datos del panel en su base de datos myk6db y haga clic en la sentencia SELECT mean(value)... para editar la métrica: Edit metric

Dashboards preconfigurados en Grafana

Aquí vamos a listar las configuraciones de cuadros de mando de Grafana pre-hechos aportados por los usuarios, para su uso con k6.

Habilitar un dashboard colaborativo de Grafana es sencillo: sólo tienes que elegir "import" un dashboard en la interfaz de usuario de Grafana y, a continuación, especificar el número de identificación del dashboard que deseas, puede consultar http://docs.grafana.org/reference/export_import para obtener más detalles.

grafana dave

Usando nuestra configuración de docker-compose

Para hacer todo lo anterior aún más simple, hemos creado una configuración docker-compose que:

  • Iniciar un contenedor Docker con InfluxDB
  • Iniciar un contenedor Docker con Grafana
  • Poner a disposición un contenedor k6 que puede utilizar para ejecutar pruebas de carga

Asegúrate de tener instalada al menos la versión v1.12.0 de docker-compose. Sólo tienes que hacer lo siguiente:

$ git clone 'https://github.com/k6io/k6'
$ cd k6
$ docker-compose up -d \
influxdb \
grafana
$ docker-compose run -v \
$PWD/samples:/scripts \
k6 run /scripts/es6sample.js

Ahora deberías poder conectarte al localhost con el puerto 3000 usando tu navegador y acceder a la instalación de Grafana en el contenedor Docker.

Opciones de InfluxDB

Al subir los resultados de k6 a InfluxDB (k6 run --out influxdb=), puede configurar otras opciones de InfluxDB pasando estas variables de entorno:

Opciones de InfluxDBDescripción
K6_INFLUXDB_USERNAMENombre de usuario de InfluxDB, opcional
K6_INFLUXDB_PASSWORDContraseña del usuario de InfluxDB
K6_INFLUXDB_INSECURESi es verdadero, omitirá la verificación del certificado httpsfalse
K6_INFLUXDB_TAGS_AS_FIELDSUn string separado por comas para establecer las métricas de k6 como campos no indexables (en lugar de etiquetas). Se puede especificar un tipo opcional usando :type como en vu:int que hará que el campo sea entero. Los tipos de campo posibles son int, bool, float y string, que es el predeterminado. Ejemplo: vu:int,iter:int,url:string,event_time:int

Véase también