菜单
开源

InfluxDB

使用 InfluxDB 扩展,您可以将 k6 指标存储在 InfluxDB v2.0 中,并使用 Grafana 或其他工具分析您的性能结果。

构建 k6 版本

要使用此扩展构建 k6 二进制文件,首先请确保您的机器上已安装 GoGit

然后,打开您的终端并运行以下命令

bash
# Install xk6
go install go.k6.io/xk6/cmd/xk6@latest

# Build the k6 binary
xk6 build --with github.com/grafana/xk6-output-influxdb

... [INFO] Build environment ready
... [INFO] Building k6
... [INFO] Build complete: ./k6

xk6 将在本地文件夹中创建新的 k6 二进制文件。

注意

要了解如何构建自定义 k6 版本的更多信息,请查看 xk6

运行测试

检查用于存储 k6 指标的 InfluxDB 实例正在运行。

使用之前的 k6 二进制文件运行测试,并传递以下选项

bash
K6_INFLUXDB_ORGANIZATION="<INFLUXDB-ORGANIZATION-NAME>" \
K6_INFLUXDB_BUCKET="<INFLUXDB-BUCKET-NAME>" \
K6_INFLUXDB_TOKEN="<INFLUXDB-TOKEN>" \
K6_INFLUXDB_ADDR="<INFLUXDB-HTTP-ADDRESS>" \
./k6 run script.js -o xk6-influxdb

k6 将运行测试脚本并将 k6 指标实时发送到 InfluxDB 实例。您现在可以选择桶来查询可视化存储的 k6 指标,例如使用 InfluxDB Data Explorer


InfluxDB Data Explorer / k6 bucket

选项

以下是可配置并传递给扩展的全部选项列表

环境变量默认值描述
K6_INFLUXDB_ORGANIZATION您的 InfluxDB 组织名称。查看组织
K6_INFLUXDB_BUCKET用于存储 k6 指标数据的桶名称。管理桶
K6_INFLUXDB_TOKEN提供授权数据存储访问的 API 令牌。管理 API 令牌
K6_INFLUXDB_ADDRhttps://:8086InfluxDB 实例的地址。
K6_INFLUXDB_PUSH_INTERVAL1s刷新 k6 指标的频率。
K6_INFLUXDB_CONCURRENT_WRITES4刷新数据的并发请求数。当某个请求耗时超过预期(超过刷新间隔)时,这很有用。
K6_INFLUXDB_TAGS_AS_FIELDSvu:int,iter:int,url一个逗号分隔的字符串,用于将 k6 指标设置为非索引字段(而不是标签)。可以使用 :type 指定一个可选类型,例如 vu:int 将使该字段成为整数。可能的字段类型有 int、bool、float 和 string(默认)。示例:vu:int,iter:int,url:string,event_time:int。
K6_INFLUXDB_INSECUREfalse当设置为 true 时,将跳过 https 证书验证。
K6_INFLUXDB_PRECISION1ns时间戳精度
K6_INFLUXDB_HTTP_PROXY为 InfluxDB 输出设置 HTTP 代理。

Grafana 仪表盘

您可以使用 Grafana 查询和可视化 InfluxDB 实例中的数据。相关说明可在 InfluxDBGrafana 文档中找到。

您还可以构建自定义 Grafana 仪表盘,以您自己的方式可视化测试结果。

出于测试目的,influxdb 扩展仓库包含一个 docker-compose 设置,带有两个基础仪表盘。