HTTP在jmeter中发布带有标头测试的请求,并将测试结果保存在mongodb中,并在grafana中显示

时间:2019-10-10 09:06:38

标签: java mongodb https jmeter grafana

我无法配置mongodb和jmeter设置以将http发布结果保存在mongodb中。

1 个答案:

答案 0 :(得分:1)

首先,您了解Backend Listener,如果将数据存储从MongoDB更改为InfluxDB,您将获得简化配置的好处,因为99%的监视工作已经完成。


如果您不可以使用后端侦听器,请注意,您可以通过JSR223 PostProcessor将所需的任何信息存储到MongoDB中,这是 prev 的简写,表示{{3 }},因此您将能够获得以下指标:

假设Response Data中有MongoDB Java Driver,您应该可以将所需的指标插入MongoDB集合中,例如:

import com.mongodb.client.MongoClient
import com.mongodb.client.MongoClients
import com.mongodb.client.MongoCollection
import com.mongodb.client.MongoDatabase
import org.apache.jmeter.samplers.SampleResult
import org.bson.Document


MongoClient mongoClient = MongoClients.create("mongodb://your_mongo_host:your_mongo_port")

MongoDatabase database = mongoClient.getDatabase("your_mongo_database")
MongoCollection<Document> collection = database.getCollection("your_collection")

Document document = new Document("statusCode", prev.getResponseCode()
        .append("success", prev.isSuccessful())
        .append("statusMessage", prev.getResponseMessage()))
collection.insertOne(document)

请查阅JMeter Classpath文章,以获取有关JMeter的JSR223测试元素中有关使用MongoDB的更多信息。