pythonスクリプトを使ってターゲットホスト上でJMeter-serverを起動する必要があります。 Jmeterには/tmp/jmeter-3sc0ppq5/のような一時ディレクトリがあります。Pythonスクリプト、ベースディレクトリでJmeterサーバを起動
File file = new File('errors' + File.separator + fileName);
file.getParentFile().mkdirs();
しかし、最終的には、(表示されてそれ `s:スクリプト内では、私はビン/ディレクトリに自分のベースディレクトリに登場してきたのに必要なファイルとそれ` sを作成しているいくつかのBeanShellを持っています私のPythonスクリプトは、(簡略化されて 内だけでなく、JMeterの-のserver.logファイル/ルート/)):
stdin, stdout, stderr = ssh.exec_command('cd /tmp/jmeter-3sc0ppq5/bin/')
run_jmeter_server_cmd = 'nohup java -jar "/tmp/jmeter-3sc0ppq5/bin/ApacheJMeter.jar" -Duser.dir=/tmp/jmeter-3sc0ppq5/bin/ApacheJMeter.jar -Dserver_port=11111 -s -j jmeter-server.log > /dev/null 2>&1'
command = 'echo $$; exec ' + run_jmeter_server_cmd
stdin, stdout, stderr = ssh.exec_command(command)
pid = int(stdout.readline())
見ての通り
さえはuser.dir dを送信しようとしましたディレクトリを明示的に指定します。 のJMeter-server.logには、中/ルート表示されている/いますが、このJMeterのプロセスが正しいディレクトリからすべてのconfigsを取ることを言う:2017-12-20 09:26:49,551 INFO o.a.j.u.JMeterUtils: Setting Locale to en_DK
2017-12-20 09:26:49,566 INFO o.a.j.JMeter: Loading user properties from: /tmp/jmeter-3sc0ppq5/bin/user.properties
2017-12-20 09:26:49,567 INFO o.a.j.JMeter: Loading system properties from: /tmp/jmeter-3sc0ppq5/bin/system.properties
2017-12-20 09:26:49,567 INFO o.a.j.JMeter: Setting System property: java.rmi.server.hostname=loadtest08-qa
2017-12-20 09:26:49,567 INFO o.a.j.JMeter: Setting System property: user.dir=/tmp/jmeter-3sc0ppq5/bin/
2017-12-20 09:26:49,567 INFO o.a.j.JMeter: Setting System property: server_port=10001
..............
2017-12-20 09:26:49,580 INFO o.a.j.JMeter: JMeterHome=/tmp/jmeter-3sc0ppq5
2017-12-20 09:26:49,580 INFO o.a.j.JMeter: user.dir =/tmp/jmeter-3sc0ppq5/bin/
2017-12-20 09:26:49,580 INFO o.a.j.JMeter: PWD =/tmp/jmeter-3sc0ppq5/bin
しかし、スクリプトによって作成されたすべてのファイルは/ルート/ディレクトリに行くだけでなく、言及されていますJMeterの-のserver.log
私が見つけた唯一の解決策は、1に実行し、cdコマンドを組み合わせることが、その後、私はJavaプロセスのための適切なPIDを取得することはできませんです。
run_jmeter_server_cmd = 'cd /tmp/jmeter-3sc0ppq5/bin/ApacheJMeter.jar && nohup java -jar "/tmp/jmeter-3sc0ppq5/bin/ApacheJMeter.jar" -Duser.dir=/tmp/jmeter-3sc0ppq5/bin/ApacheJMeter.jar -Dserver_port=11111 -s -j jmeter-server.log > /dev/null 2>&1
はJMeterのを強制する方法はありますcをせずに自分のディレクトリを使用するそこに?
プロパティを-JbaseDir =/tmp/jmeter-3sc0ppq5 /とし、スクリプトのbaseDirプロパティを使用するのはなぜですか? – user7294900
ええ、何が起こっているのか理解したいと思ったが、私は最終的にこの解決策と一緒に行くと思う。 – v0devil