运行k6脚本推Prometheus报错及开源版k6能否存测试结果到Prometheus
开源k6 Prometheus输出支持问题解答
核心结论
- 官方开源版k6原生不内置Prometheus结果存储能力,可通过
xk6扩展工具编译自定义二进制实现该功能,是官方支持的使用方式
你遇到报错的常见排查方向
- 你当前执行的
./k6大概率是官方原生发行的二进制,而非通过xk6编译的集成了xk6-output-prometheus-remote扩展的版本,因此无法识别output-prometheus-remote输出参数
正确操作流程
- 先使用xk6编译带Prometheus远程写扩展的自定义k6二进制,执行命令:
xk6 build --with github.com/grafana/xk6-output-prometheus-remote@latest
- 编译完成后当前目录会生成新的k6可执行文件,再运行你的测试命令即可,命令本身格式无错误:
K6_PROMETHEUS_REMOTE_URL=http://172.21.2.29:9090/api/v1/write ./k6 run main_smoke_test.js -o output-prometheus-remote
额外注意事项
- Prometheus服务需要提前开启远程写接收能力,启动时添加
--web.enable-remote-write-receiver参数,否则会出现k6写入被拒绝的报错 - 执行测试前确认你用的
./k6是当前目录下新编译的自定义二进制,而非系统全局安装的原生k6版本
内容的提问来源于stack exchange,提问作者Brenda Yang
相关产品推荐
相关产品推荐

