I am trying to make Grafana display all my metrics (CPU, Memory, etc).
I have already configured Grafana on my server and have configured influxdb and of course I have configured Jmeter listener (Backend Listener) but still I cannot display all grpahas, any idea what should I do in order to make it work ?
It seems like that system metrics (CPU/Memory, etc.) are not in the scope of the JMeter Backend Listener implementation. Actually capturing those KPIs is a part of PerfMon plugin, which currently doesn't seem to support dumping the metrics to InfluxDB/Graphite (at least it doesn't seem to work for me). It might be a good idea to raise such a request at https://groups.google.com/forum/#!forum/jmeter-plugins. Until this gets done, I guess you also have the option of using some alternative metric-collection tools to feed data in InfluxDB/Graphite. Those would depend on the server OS you want to monitor (e.g. Graphite-PowerShell-Functions for Windows or collectd for everything else)
Are you sure that JMeter posts the data to InfluxDB? Did you see the default measurements created in influxDB?
I am able to send the data using backend listener to influxdb. I have given the steps in this site.
http://www.testautomationguru.com/jmeter-real-time-results-influxdb-grafana/
Related
Requirements is to find out root cause analysis using Prometheus and Grafana and also need to know which method is taking more time, CPU and Memory Utilisation also?
Can anyone pls help me
Integrate Prometheus client library into your app
Configure Grafana dashboard to visualize the metrics you want to monitor from your app
Additionally you can integrate JMeter with Prometheus Listener for JMeter plugin (can be installed using JMeter Plugins Manager)
Come up with a test plan which simulates a real life usage of your application
Run a stress test (start with 1 user and gradually increase the load until response time starts exceeding acceptable threshold or errors start occurring)
Inspect Grafana dashboard to see what is the reason of the application being slow, i.e. trace down the "slow" request to the underlying function. Additionally you can use a profiler tool which can provide a better picture
I have a spring boot app that listens to a queue so it is non restful. Is there any easy way to get a time breakdown for the amount of time spent in each service?
The options are in:
Use a Profiler tool when running your application, this way you will be able to trace down the time even to a single function call
If you have an APM tool in place you can collect the same information plus metrics from the operating system, database, message broker, etc.
Just in case you need to generate messages and "feed" them to your application it could be done using i.e. Apache JMeter tool, see Building a JMS Testing Plan article for more information if needed
I have a bunch of server logs with api requests I'd like to replicate for testing. Is there an easy way to "export" those logs {uri: $path, query: $queryparams} as input for blazemeter to test?
Jmeter is open source. Just modify the source to replay the logs and to handle the user input and dynamic components. Every time you see a new source IP, fork a new thread. Use the delays between requests to define the think time. And you will have created "Web replay," the equivalent of Oracle's DB Replay
There might be a chance that JMeter's Access Log Sampler will work for you if your server is in: Tomcat, Resin, Weblogic, and SunOne.
If it's not you might need to convert the log to the supported format or implement your own versions of LogParser and Generator
More information: The JMeter Access Log Sampler - A Guide
I am looking to monitor live user responses through jmeter. Can the backend listener in jmeter used to record live users(end users)? I am not talking about virtual users that we set up in jmeter. But the real end users.How can this be achieved?
Editing to add more details:
Our requirement is to monitor the real users, in 2-3 geographical locations, all through out the business hours..say from 8 to 5.
For this purpose, do you think, I need to have a dedicated machine with jmeter, grafana and influxdb for monitoring alone? I have other testing going on using jmeter and I don't want to use the same machine to do both monitoring and testing. DO you think this is achievable by jmeter? ANy suggestions?
you can use the following tools in combination to achieve live monitoring:
JMeter backend Listener - to send results to influxDB
influxdb - store the results sent by backend listener
grafana - run continuous queries for metrics and plot graphs like average response times etc.
Follow the steps mentioned here:
http://jmeter.apache.org/usermanual/realtime-results.html - First Option
https://www.linkedin.com/pulse/jmeter-live-performance-monitoring-dashboard-grafana-influxdb-sarker
http://www.testautomationguru.com/jmeter-real-time-results-influxdb-grafana/
http://techblogsearch.com/a/live-performance-result-monitoring-with-jmeter-grafana-influxdb.html
We use to perform general production app (here- Scada-LTS) monitoring by javamelody. But this will give You general statistics. For per user monitoring it seems You should use log4j + ELK or other simpler syslog analyzing tool.
Jmeter should be used rather for test environment for stress tests.
The goal is to receive online measurements while running a JMX test (in non-UI mode).
Is an existing/new plugin needed (modify existing plugin to be able to save and send the data to my dashboard)?
Any examples/tutorial?
Have a look at this documentation:
https://jmeter.apache.org/usermanual/realtime-results.html
You can use an InfluxDB backend to receive the live results and use Grafana to display the graphs from InfluxDB