2

我刚刚开始使用 JMeter 在我们的生产环境中执行一些简单的合成事务,并且我添加了一些侦听器来将测试运行的摘要捕获到 XML 文件中。我现在正在考虑将这些数据导入 Splunk,以便为团队的其他成员提供报告,并且正在寻找最好的方法来做到这一点。

我最初是通过在 Splunk 中对 JMeter 生成的 XML 文件进行索引来完成的,这很有效,并且允许我们生成所需的报告。但是,鉴于此测试计划最终将每分钟执行两次,超过 20 多个框,我希望理想地跳过 XML 文件(它的潜在大小!)并直接将数据导入 Splunk。

有什么替代方案呢?

4

3 回答 3

1

您可以在本地使用 CSV 而不是 XML,请参阅:

另一种选择是使用 splunk 理解的协议编写自定义侦听器,请参阅:

于 2012-10-03T11:18:51.540 回答
1

只是为了补充已经提出的建议......

我希望您能以某种方式使用 log4j 或 logback,因为那样您就可以使用SplunkJavaLogging,但看起来 JMeter 不允许您使用日志框架作为侦听器输出。

因此,如果您想通过原始 TCP 或 HTTP REST 将结果直接流式传输到 Splunk,您似乎必须创建一个自定义 JMeter 侦听器。

幸运的是,我们已经有一个 Splunk Java SDK可以为您处理传输。大量可用的代码示例。

您只需将其包装在 JMeter 侦听器实现中即可。

于 2012-10-05T07:28:57.480 回答
0

基于“PMD UBIK-INGENIERIE”的回答,您实际上是如何将日志传送到 Splunk 的?

您最好肯定是使用 Splunk 方面的脚本输入,根据您的操作系统,此脚本可以包括 python、Bash、Batch 等。请参阅 Splunk 文档中的以下章节:

http://docs.splunk.com/Documentation/Splunk/latest/Developer/ScriptedInputsIntro

我会说,不知道 JMeter 工具,一种解决方案是让 Splunk 运行一个“包装器”脚本,该脚本调用您选择的 API 查询脚本。然后,您可以让 Splunk 监控该脚本的 STDOUT,或者将其写入文件以供 Splunk 监控。

在部署方面,最好(在可能的情况下)在远程主机上安装 Splunk 转发器(注意:Universal 不包括 python),并让转发器通过安全的 TCP 连接将数据传递给索引器,这将有助于防止数据丢失,因为 Splunk 会在连接丢失的情况下对数据进行排队。

此外,前往 Splunk 的官方论坛@SplunkBase可能会很有用。尽管没有任何直接匹配的问题,但那里有许多经验丰富且乐于助人的 Splunker(包括员工、合作伙伴/经销商和客户)。甚至可能有另一个用户在您的场景中索引了 JMeter 数据。

于 2012-10-04T08:11:19.093 回答