Overview
Description
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.
Features
- 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
- 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.
Maven
<dependency>
<groupId>io.github.delirius325</groupId>
<artifactId>jmeter.backendlistener.elasticsearch</artifactId>
<version>2.6.10-SNAPSHOT</version>
</dependency>
Contributing
Feel free to contribute by branching and making pull requests, or simply by suggesting ideas through the "Issues" tab.
Packaging and testing your newly added code
Execute below mvn command. Make sure JAVA_HOME is set properly
mvn package
Move the resulting JAR to your JMETER_HOME/lib/ext
.
Screenshots
Configuration
Sample Grafana dashboard
For more info
For more information, here's a little documentation.