k6洛基扩展负载测试
Grafana转k6是一种现代负载测试工具。它的脚本干净且易于使用API在本地或云中工作。它的配置使它灵活。
的xk6-loki扩展允许向Loki实例推送日志和查询日志。它充当Loki客户机,模拟真实负载以测试Loki安装的可伸缩性、可靠性和性能。
在开始之前
k6是戈朗语。下载和安装围棋环境。
安装
xk6-loki
是k6二进制的扩展。构建一个自定义的k6二进制文件,其中包含xk6-loki
扩展。
安装
xk6
扩展打包机:安装Go .k6.io/xk6/cmd/xk6@latest
请查看
grafana / xk6-loki
存储库:Git克隆https://github.com/grafana/xk6-loki CD xk6-loki
使用扩展构建k6:
使转k6
使用
使用自定义k6二进制文件的方式与非自定义k6二进制文件相同:
./k6运行test.js
. js
是一个Javascript负载测试。请参阅转k6文档开始吧。
脚本API
定制的k6二进制文件提供了一个Javascript洛基
模块。
你的Javascript负载测试导入模块:
Import Loki from 'k6/x/ Loki ';
这个模块的类有:
类 | 描述 |
---|---|
配置 |
的配置客户端 类 |
客户端 |
客户端从洛基写入和读取日志 |
配置
而且客户端
必须在k6 init上下文中调用(参见测试生命周期)在默认函数之外,因此客户端只配置一次,并在所有VU迭代之间共享。
的客户端
类公开了以下实例方法:
方法 | 描述 |
---|---|
push () |
的快捷方式pushParameterized(5,800 *1024, 1024*1024) |
pushParameterized(流,minSize, maxSize) |
执行推送请求(POST /洛基/ api / v1 /推动) |
instantQuery(查询、限制) |
执行即时查询(GET /洛基/ api / v1 /查询) |
客户端。rangeQuery(查询,持续时间,限制) |
执行范围查询(得到/洛基/ api / v1 / query_range) |
client.labelsQuery(持续时间) |
执行标签查询(GET /洛基/ api / v1 /标签) |
客户端。labelValuesQuery(标签、持续时间) |
执行标签值查询(得到洛基/ api / v1 /标签/ <名称> /值) |
客户端。seriesQuery(匹配器、持续时间) |
执行系列查询(GET /洛基/ api / v1 /系列) |
Javascript负载测试示例:
Import Loki from 'k6/x/ Loki ';Const timeout = 5000;// ms const conf = loki. conf。配置("http://localhost:3100", timeout); const client = loki.Client(conf); export default () => { client.pushParameterized(2, 512*1024, 1024*1024); };
指grafana / xk6-loki对于完整的转k6 / x /洛基
模块API引用。
Loki相关资源
开始伐木和Grafana Loki (3 / 4)
加入本次网络研讨会,了解为什么在整个开发生命周期中相关的度量和日志是至关重要的,以及Loki如何帮助降低日志记录成本和操作开销。
洛基日志:基本配置设置
本次网络研讨会的重点是Grafana Loki配置,包括代理Promtail和Docker;洛基服务器;以及流行的后端洛基存储。
测井和Grafana的可观察性
了解如何使用Grafana和Grafana的日志应用程序Loki来利用、管理和可视化日志事件。