JMeter ElasticSearch Backend Listener is a JMeter plugin enabling you to send test results to an ElasticSearch engine. It is meant as an alternative live-monitoring tool to the built-in "InfluxDB" backend listener of JMeter.
- ElasticSearch low-level REST client
- Using the low-level client makes the plugin compatible with any ElasticSearch version
- X-Pack Authentication!
- Just supply your crendentials in the specified fields!
- Bulk requests
- By making bulk requests, there are practically no impacts on the performance of the tests themselves.
- Filters
- Only send the samples you want by using Filters! Simply type them as follows in the field
es.sample.filter
:filter1;filter2;filter3
orsampleLabel_must_contain_this
. - You can also choose to exclude certain samplers;
!!exclude_this;filter1;filter2
- Only send the samples you want by using Filters! Simply type them as follows in the field
- Specific fields ```field1;field2;field3`
- Specify fields that you want to send to ElasticSearch (possible fields below)
- AllThreads
- BodySize
- Bytes
- SentBytes
- ConnectTime
- ContentType
- DataType
- ErrorCount
- GrpThreads
- IdleTime
- Latency
- ResponseTime
- SampleCount
- SampleLabel
- ThreadName
- URL
- ResponseCode
- TestStartTime
- SampleStartTime
- SampleEndTime
- Timestamp
- InjectorHostname
- ElapsedDuration
- Specify fields that you want to send to ElasticSearch (possible fields below)
- Verbose, semi-verbose, error only, and quiet mode
- debug : Send request/response information of all samplers (headers, body, etc.)
- info : Sends all samplers to the ElasticSearch engine, but only sends the headers, body info for the failed samplers.
- quiet : Only sends the response time, bytes, and other metrics
- error : Only sends the failing samplers to the ElasticSearch engine (Along with their headers and body information).
- Use either Kibana or Grafana to vizualize your results!
- Click here to get a sample Grafana dashboard! - All you need to do is import it into Grafana and change the data source!
- Continuous Integration support - Build comparison!
- Send JMeter variables to ElasticSearch! Refer to this for more info!
- New AWS ES parameters introducted in 2.6.0 version which leverage Role based authentication to access Elastic Search managed hosting on AWS
- If your ES cluster is using a self signed certificate, you can set
es.ssl.verificationMode
tonone
to skip the hostname verification and cluster certificate validation.
<dependency>
<groupId>io.github.delirius325</groupId>
<artifactId>jmeter.backendlistener.elasticsearch</artifactId>
<version>2.6.10-SNAPSHOT</version>
</dependency>
Feel free to contribute by branching and making pull requests, or simply by suggesting ideas through the "Issues" tab.
Execute below mvn command. Make sure JAVA_HOME is set properly
mvn package
Move the resulting JAR to your JMETER_HOME/lib/ext
.
For more information, here's a little documentation.