1
votes

I have a situation where we need to be able to get Jmeter server logs in the client. I know that the jmeter client aggregates the reports from the server machines during remote execution. However is it possible to get hold of aggregated logs from the server machines in the client. This is to basically be able to debug Jmeter logs from all of the hosts. Unfortunately we export Jmeter report from the jmeter client machine (to be shown in the ci pipeline). So it would be great to have the server machine logs in the client machine.

2
what is the intention? is it to filter results by host ? if not clarify question as I think there is some confusion in it.UBIK LOAD PACK
Thanks. I have tried to explain it in the question now.trial999
Any feedback on answer ? If ok it should be accepted and upvoted so that it's helpful to community. ThanksUBIK LOAD PACK

2 Answers

1
votes

JMeter itself doesn't provide this functionality, to wit you will not be able to send jmeter.log files to the master from the slaves however you can use -j command-line argument to specify log file location in the slaves which will be pointing to some NFS or SMB share - i.e. location common to all the slaves, for example

  • on slave 1 launch JMeter as

    java -Djava.rmi.server.hostname=slave1 -Dserver_port=1099 -s -j /mounted/network/share/slave1.log
    
  • on slave 2 launch JMeter as

    java -Djava.rmi.server.hostname=slave2 -Dserver_port=1099 -s -j /mounted/network/share/slave2.log
    

And given /mounted/network/share/ is accessible by all the slaves you will have logs in one single location.

Check out How to Perform Distributed Testing in JMeter article for more information on distributed JMeter execution tips and tricks

1
votes

Add in thread group name a prefix with machine name:

${__machineName()}-

This way you’ll be able in the aggregated csv file on client side to find the one that interests you.

Reference docs: