ホスト・マシンの再始動時に RM エージェントがそれ自体で確実に始動するようにするために、RM エージェントをサービスとして始動できるような方法で環境をセットアップできます。
始める前に
Windows 上でサービスとしてリソース・モニター・エージェントを始動する前に、以下の項目の設定が必要です。
- ホスト・マシンにインストールされた Java 8。
- PATH 環境変数に追加された IBM®
Rational® Test Automation Server。
- 適切なアクセス権によって安全にエージェントを接続するためのオフライン・トークン。オフライン・トークンは、リソース・モニター・ダッシュボードの「ユーザー」メニューから作成できます。あるいは、既にアクティブになっているオフライン・トークンを再利用することもできます。トークンは、1 カ月間使用されないと有効期限切れになります。
このタスクについて
このトピックは、最新の Linux ディストリビューションの大半でデフォルトになっている systemd サービスに依存しています。
他の方法に従う場合には、それに合わせて説明を適応させることが必要になる可能性がありますが、提示したスクリプトは、大半の場合に有効な基礎になります。
手順
- ご使用のローカル・ハード・ディスク上に /opt/RMAgent-linuxservice のようなフォルダーを作成します。
- リソース・モニター Web ページからエージェントの Jar ファイルをダウンロードして、同じディレクトリーに保存します。 エージェントのダウンロードについて詳しくは、『RM エージェントのインストール 』を参照してください。
- /etc/systemd/system/RMAgent-linuxservice.service という名前の新規ファイルを作成します。
- 以下の内容をこの新規ファイルに追加します。
[Unit]
Description = Resource Monitoring Agent
After = network.target
[Service]
Type = forking
ExecStart = /opt/RMAgent-linuxservice/RMAgent-linuxservice.sh start
ExecStop = /opt/RMAgent-linuxservice/RMAgent-linuxservice.sh stop
Restart = on-failure
RestartSec = 10
[Install]
WantedBy = multi-user.target
- /opt/RMAgent-linuxservice/RMAgent-linuxservice.sh という名前のもう 1 つのファイルを作成します。
#!/bin/sh
# Update with the Quality Server's host name
sudo HCL_ONETEST_OFFLINE_TOKEN=(Enter your offline token here) java -jar (Enter the name of the downloaded jar file here)
--serviceUrl=https://<service-hostname>/rm --projectId=<projet-id>
ARGS="--serviceUrl=$SERVICE_URL --trustServiceCertificate --autoUpgradeDownloadThen=exitFailure"
SCRIPT=$(readlink -f "$0")
RMAGENT_HOME=$(dirname "$SCRIPT")
# Ensure we're using the latest downloaded jar file
PATH_TO_JAR=`ls -t $RMAGENT_HOME/com.hcl.test.rm.agent-*.jar | head -1`
if [ -z "$PATH_TO_JAR" ]
then
cd $RMAGENT_HOME && { curl -k -O -J $SERVICE_URL/agent-jar; cd -; }
PATH_TO_JAR=`ls -t $RMAGENT_HOME/com.hcl.test.rm.agent-*.jar | head -1`
if [ -z "$PATH_TO_JAR" ]
then
echo "Start the server at $SERVICE_URL to allow download of the latest agent jar file"
echo "Exiting..."
exit 1
fi
fi
SERVICE_NAME="Resource Monitoring Agent"
#Pid file will reside in this script’s folder
PATH_TO_PID=$RMAGENT_HOME/RMAgent-pid
#Log file will reside in this script’s folder
PATH_TO_LOG=$RMAGENT_HOME/RMAgent.log
case $1 in
start)
echo "Starting $SERVICE_NAME ..."
if [ ! -f $PATH_TO_PID ]; then
nohup java -jar $PATH_TO_JAR $ARGS >> $PATH_TO_LOG 2>&1 &
echo $! > $PATH_TO_PID
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is already running ..."
fi
;;
stop)
if [ -f $PATH_TO_PID ]; then
PID=$(cat $PATH_TO_PID);
echo "$SERVICE_NAME stopping ..."
kill $PID;
echo "$SERVICE_NAME stopped ..."
rm $PATH_TO_PID
else
echo "$SERVICE_NAME is not running ..."
fi
;;
restart)
if [ -f $PATH_TO_PID ]; then
PID=$(cat $PATH_TO_PID);
echo "$SERVICE_NAME stopping ...";
kill $PID;
echo "$SERVICE_NAME stopped ...";
rm $PATH_TO_PID
echo "$SERVICE_NAME starting ..."
nohup java -jar $PATH_TO_JAR $ARGS >> $PATH_TO_LOG 2>&1 &
echo $! > $PATH_TO_PID
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is not running ..."
fi
;;
esac
注: - <service-hostname> は、HCL Quality Server を実行するマシンのホスト名に置き換えます。
- <project-id> は、サービス URL に含まれている番号で表されたプロジェクトに置き換えます。
タスクの結果
リソース・モニター・エージェントは、ホスト・マシンの再始動時に自動的に始動します。