#jmeter #systemd #configure #systemctl
#jmeter #systemd #настройка #systemctl
Вопрос:
Я обычно использую «nohup» для запуска Jmeter, вместо того, чтобы постоянно использовать Cmd, я решил настроить systemd service, который постоянно запускает Jmeter.
у меня есть следующая команда: которая в основном запускает jmeter и регистрирует выходные данные
nohup /app/jmeter/apache-jmeter-5.3/bin/jmeter -j /app/server-1/jmeter/logs/jmeter-traffic.log -n -t /app/jmeter/inputfile.jmx > /dev/null 2>amp;1 amp;
я создал файл .service, в котором выполняется приведенная выше команда
ExecStart=/app/jemter/apache-jmeter-5.3/bin/jmeter -j /app/jmeter/logs/jmeter-log -n -t /app/jmeter/inputfile.jmx > /dev/null 2>amp;1 amp;
когда я запустил службу, я столкнулся с различными ошибками.
EX: class path contains multiple bindings
EX: failed to start the service
EX: failed at step EXEC spawing
EX: an error occured at arg: >
Это правильный способ запуска службы или я должен создать файл сценария оболочки для включения приведенной выше команды.
Ответ №1:
systemd ничего не знает о вашем >
операторе, поэтому я бы рекомендовал оставить команду как есть:
ExecStart=/app/jmeter/apache-jmeter-5.3/bin/jmeter -j /app/jmeter/logs/jmeter-log -n -t /app/jmeter/inputfile.jmx
Если вы не хотите видеть выходные данные JMeter в журнале, вы можете изменить конфигурацию своего модуля systemd следующим образом:
[Service]
StandardOutput=null
StandardError=journal
Я бы также предложил добавить -l
аргумент командной строки, чтобы вы могли сохранить результаты в файле результатов .jtl для дальнейшего анализа
Дополнительная информация: Как запустить JMeter в режиме, отличном от GUI?