菜单
开源

Apache Kafka

Apache Kafka 是一个用于处理实时数据的流处理平台。使用 xk6-output-kafka 扩展,您可以将 k6 指标实时发送到 Kafka,并选择性地从 InfluxDB 中提取它们。

构建 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-kafka

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

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

注意

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

运行 k6 测试

您可以直接从命令行参数配置 broker(或多个)、topic 和消息格式,如下所示

bash
k6 run --out xk6-kafka=brokers=broker_host:8000,topic=k6

或者如果您想要多个 broker

bash
--out xk6-kafka=brokers={broker1,broker2},topic=k6,format=json

您还可以指定 k6 将使用的消息 format。默认情况下,它将与 JSON 输出相同,但您也可以使用 InfluxDB 行协议供 InfluxDB 直接“消费”

bash
--out xk6-kafka=brokers=someBroker,topic=someTopic,format=influxdb

您甚至可以修改一些 format 设置,例如 tagsAsFields

bash
--out xk6-kafka=brokers=someBroker,topic=someTopic,format=influxdb,influxdb.tagsAsFields={url,myCustomTag}

选项

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

名称类型描述
K6_KAFKA_BROKERSstringBroker 列表
K6_KAFKA_TOPICstring要发送的 Topic 名称
K6_KAFKA_AUTH_MECHANISMstring认证机制。默认 none
K6_KAFKA_SASL_USERstringKafka 用户
K6_KAFKA_SASL_PASSWORDstringKafka 用户密码
K6_KAFKA_SSLboolean
K6_KAFKA_VERSIONstringKafka 版本。默认为最新版本
K6_KAFKA_INSECURE_SKIP_TLS_VERIFYboolean是否应忽略 TLS 验证
K6_KAFKA_PUSH_INTERVALstring指标聚合和上传到端点的时间间隔
K6_KAFKA_FORMATstring消息格式。jsoninfluxdb
K6_KAFKA_LOG_ERRORboolean布尔值,指示是否记录 Kafka 错误

了解更多