Настройка для запуска JMeter как службы systemd

#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?