菜单
开源

Elasticsearch

使用 Elasticsearch k6 扩展,您可以将 k6 指标存储在 Elasticsearch 中,并使用 Kibana 或 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/elastic/xk6-output-elasticsearch

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

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

注意

要了解如何构建自定义 k6 版本,请查看 xk6

运行测试

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

如果您在 Elasticsearch Cloud 上运行,使用之前构建的 k6 二进制文件,并按如下方式传递云凭据来运行测试

bash
# export cloud configuration
export K6_ELASTICSEARCH_CLOUD_ID=your-cloud-id-here
export K6_ELASTICSEARCH_USER=your-user-here
export K6_ELASTICSEARCH_PASSWORD=your-password-here

# run the test
./k6 run script.js -o output-elasticsearch

k6 将运行测试脚本并将指标实时发送到 Elasticsearch。

您也可以将指标发送到本地 Elasticsearch 集群

bash
# export local url
export K6_ELASTICSEARCH_URL=https://:9200

# run the test
./k6 run script.js -o output-elasticsearch

注意

尚不支持非云集群的安全功能和自签名证书。

您现在可以连接到 Elasticsearch 并查询存储在 k6-metrics 索引中的k6 指标。以下示例使用未受保护的本地 Elasticsearch,版本 7.17.9

bash
curl -XGET 'https://:9200/k6-metrics/_search?pretty' -H 'Content-Type: application/json' -d'
{
  "sort": [
    {
      "Time": {
        "order": "desc"
      }
    }
  ],
  "size": 10
}'

或者使用 Kibana Discover

Kibana Discover k6 results

选项

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

名称
K6_ELASTICSEARCH_CLOUD_IDElasticsearch 的 cloud.id,可以在 Elastic Cloud Web 控制台中找到。
K6_ELASTICSEARCH_FLUSH_PERIOD定义指标发送到 Elasticsearch 的频率。默认值为 1 秒。
K6_ELASTICSEARCH_URLElasticsearch URL。
K6_ELASTICSEARCH_USERElasticsearch 用户名。
K6_ELASTICSEARCH_PASSWORDElasticsearch 密码。