JMeter Error is showing for distributed environment - jmeter

I have Set up everything, running Jmeter-Server.bat file in slave system, added IP in Jmeter.properties. It was running before one month properly, but when I am trying to run, Its showing me the Error.

Most probably there is a mismatch between certificates in master and slave(s) or 7 days had passed since the last keystore creation so the certificates are exired now.
Either follow steps from Setting up SSL one more time and make sure to use exactly the same rmi_keystore.jks file on master and all the slaves or define the following property:
server.rmi.ssl.disable=true
This can be done either by adding the above line to user.properties file or alternatively you can provide it using -J command-line argument like:
jmeter -Jserver.rmi.ssl.disable=true ..... - on master
jmeter-server -Jserver.rmi.ssl.disable=true ..... - on slaves
More information:
Remote hosts and RMI configuration
Apache JMeter Properties Customization Guide
Overriding Properties Via The Command Line

Related

What update is needed in jmeter.properties and jmeter-server files to create a JMeter Remote Load Test

I am using jmeter 5.4.1, and facing issue while setting up the whole environment for that.
I have firewall in between master and slave machines.
I can request for some ports to open but before that I want to know how to configure them?
What update is needed in jmeter.properties and jmeter-server files to create a JMeter Remote Load Test.
In jmeter.properties nothing, don't touch this file, perform all the configuration either in user.properties or via -J command-line arguments.
Coming back to your question, I believe the official documentation is quite comprehensive, however just in case you cannot or unwilling to read:
In the master:
remote_hosts=ip,addresses,or,dns,hostnames,of,slaves,separated,by,comma
client.rmi.localport=xxxx
In the slave(s):
client.rmi.localport=xxxx
server.rmi.localport=yyyy
If you don't want secure communication between master and slaves - add the next line to both as well:
server.rmi.ssl.disable=true
So in the firewall you need to open these xxxx and yyyy ports
More information:
Apache JMeter Distributed Testing Step-by-step
Remote hosts and RMI configuration
JMeter Distributed Testing with Docker

JMeter Distributed Slave remote start error

while running J-Meter distributed test on slave machine with single slave user, i am getting below ssl certificate error after selecting 'Remote Start' with slave IP address under 'Run' Menu in master machine.My master and slave machine have Jmeter 5.2 version, connected with same network .
i did below setting before running remote start.
Slave Machine:- server.rmi.ssl.disable =true (commented this property ) and run J-Meter -server Service bat file in slave machine
Master Machine: mention slave ip address in' remote_hosts'  for jmeter.properties and save it and run remote start with slave IP address from master machine
Could you please assist me for the same ?
Thanks
Amit G
The error means that JMeter master cannot securely connect to the slave, most probably you made a typo or did something wrong, like commented the property while it needs to be uncommented
If you need secure communication between master and slave(s) follow steps from Setting up SSL chapter of the Remote Testing chapter of the JMeter User Manual
If you don't need the secure communication add the next line to user.properties file (lives in "bin" folder of your JMeter installation)
server.rmi.ssl.disable=true
Make sure that the property doesn't have # at the beginning and there are no whitespaces at the beginning/end of the line
Make sure to restart JMeter to pick up the property
This has to be done on JMeter master and all the slaves

I can't get 'create-rmi-keystore.bat' to run on windows, is there a solution to this?

I am new to Jmeter 5.1.1 however I am in the process of setting up a remote testing with it.
One step I'm having trouble with is running 'create-rmi-keystore.bat' when I double click it nothing happens. I have tried to open it using the command line and get the following message.
'keytool' is not recognized as an internal or external command,
operable program or batch file.
"Copy the generated rmi_keystore.jks to jmeter/bin folder or reference it in property 'server.rmi.ssl.keystore.file'"
I don't seem to have a rmi-keystore.jks .
Has anyone managed to solve this issue?
You don't have keytool utility in your Windows PATH, all you need to do is to ensure that it's there.
Solution using Windows Command Prompt would be:
set PATH="path\to\bin\folder\of\your\JDK\or\JRE\installation";%PATH%
In general if you don't need the secure RMI communication between JMeter master and slave machines (and 99% of people don't need this as it doesn't add any value and only creates overhead in terms of CPU and RAM) you can just disable this functionality by adding the next line to user.properties file:
server.rmi.ssl.disable=true
References:
Remote hosts and RMI configuration
Apache JMeter Properties Customization Guide
If you do this on JMeter master and all the slaves you will not have to worry about the RMI keystore, but I would still recommend having the keytool in the PATH otherwise you will not be able to use HTTP(S) Test Script Recorder for recording secure traffic.

Jmeter server.bat file error

Please give me solution for the below error.
Could not find ApacheJmeter_core.jar ... ... Trying JMETER_HOME=.. Found ApacheJMeter_core.jar Created remote object: UnicastServerRef [liveRef: [endpoint:192.168.8.108:50019 ,objID:[-30cb105c:15ca098204b:-7fff, 5736149660821635846]]]
I tried the below way also, am not able to launch
"I just hard coded the path in my jmeter_server.bat."
Am doing testing now.. if any one knows please update here.
This is not an error at all, it means that you successfully launched a JMeter slave which is now waiting for a command from the JMeter master.
So now you need to start JMeter Master using one of the following approaches:
Pass slave IP address via -R command-line argument like:
jmeter -R 192.168.8.108 -n -t test.jmx -l result.jtl
Define remote_hosts JMeter Property by adding the next line to user.properties file on JMeter Master node:
remote_hosts=192.168.8.108
References:
JMeter Distributed Testing Step-by-step
Apache JMeter Properties Customization Guide
If you need just to open JMeter GUI you will need to launch jmeter.bat script or alternatively directly call java from JMeter's "bin" folder like:
java -jar ApacheJMeter.jar

PerfMon plugin throwing error (with use of variables) in JMeter distributed Mode

I have implemented PerfMon Metrics Collector (listeners) in my JMeter scripts. These listeners have HOST and PORT fields. I have defined variables for these in Test Plan and using them in listeners.
I tested these scripts in non-distributed mode and it worked perfectly.
Now, I converted my scripts for distributed mode. Everything works fine except PerfMon listeners which throw following error message:
2016/02/29 09:06:35 ERROR - kg.apc.jmeter.perfmon.PerfMonCollector: Perfmon plugin error: java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine
This error seemed to be related to invalid value (may be these listeners do not handle special characters like {} $ in distributed mode!!). So, I removed variables for HOST/PORT and instead used hard coded values and it worked fine.
So apparently, these listeners do not work properly in distributed mode (IF used with variables).
Is there any workaround for this issue as I have plenty of PerfMon listeners in my setup and manually changing them all will be a tiresome job.
Go for JMeter Properties instead of JMeter Variables, like:
Substitute ${HOST} with ${__P(HOST,)}
Substitute ${PORT} with ${__P(PORT,)}
Pass HOST and PORT properties values on JMeter master side like:
jmeter -GHOST=target_hostname_or_IP -GPORT=target_port -s -n -t ....
You can have different values on different slaves, in that case specify properties in user.properties file (it's located under /bin folder of JMeter installation) like:
HOST=10.20.30.40
PORT=1234
Remember to restart JMeter after editing any configuration file.
References:
__P() function documentation
Full list of command-line options
Apache JMeter Properties Customization Guide

Resources