WebOTXのサービスについて説明します。
Windowsのサービスとして以下のサービスがあります。
WebOTX全体を管理するサービスです。既定値では自動起動するように設定しています。
Apache HTTP Server 2.4ベースのWebOTX Webサーバのサービスです。 インストール時に「Webサーバ 2.4」を選択した場合に登録され、WebOTX Webサーバを利用するドメイン毎に作成されます。 既定値では手動起動です。該当ドメイン起動時に自動的に起動します。 サービスマネージャから起動する必要はありません。
WebOTXとしては利用しませんが、WebOTX以外のモジュールがドメイン外でCORBAサービスとして利用する場合に利用します。 既定値では手動起動で通常は起動しません。
Enterprise を利用する場合、マルチサーバ構成の負荷分散構成とした場合に、 アプリケーションサーバの監視を行なうサービスです。
HP-UXではマシン起動時にサービスが起動できるよう以下の起動スクリプトを提供しています。 ただしObjectSpinnerに関してはWindowsと同様マシン起動時には起動しません。
「<バージョン番号>」の箇所には、バージョンに応じた数値が入ります。例えば、「V9.4」であれば「94」という数値が入ります。
また、/sbin/rc1.d、/sbin/rc2.d 配下には、上記スクリプトへのシンボリックリンクを配置しています。
Linuxではマシン起動時にサービスが起動できるよう以下の起動スクリプトを提供しています。 ただしObjectSpinnerに関してはWindowsと同様マシン起動時には起動しません。
SysVinitの場合:
systemdの場合:
「<バージョン番号>」の箇所には、バージョンに応じた数値が入ります。例えば、「V9.4」であれば「94」という数値が入ります。
また、SysVinitの場合、/etc/rc0.d〜rc6.d 配下にも同様のスクリプトを配置しています。
WebOTXのサービス全体を起動および停止する方法について説明します。 デフォルトの設定ではマシン起動時にサービスが起動するようになっています。ObjectSpinnerのサービスはWebOTXとしては利用しませんが、下記と同様の方法で起動・停止することができます。
「WebOTX AS Agent Service」サービスを起動・停止します。サービスコントロールマネージャもしくはnet start、net stopコマンドより実行できます。n
> net start "WebOTX AS Agent Service"
> net stop "WebOTX AS Agent Service"
サービス起動コマンド実行直後はまだ起動処理が行われています。サービスの起動完了は[ 3. ドメイン > 3.3. ドメインの確認 > 3.3.2. ドメインの起動完了確認 ] より、ドメインの起動処理完了をもって確認してください。
サービス停止時、WebOTXドメインの停止処理時間が定められたタイムアウト値を超過すると、サービス制御マネージャによって「ローカルコンピュータのWebOTX Agent Service サービスを停止できません。」と出力されることがあります。しかしながら、このメッセージが出力されても、実際には停止処理は引き続き行われています。よって、プロセスのストールなどの異常が発生していなければ最終的には停止することになります。
/sbin/init.d/WOAgentSvc93 に起動・停止スクリプトがあります。スクリプトを実行することによりサービスの起動、停止が行えます。
# /sbin/init.d/WOAgentSvc93 start
# /sbin/init.d/WOAgentSvc93 stop
SysVinitの場合、/etc/init.d/WOAgentSvc93 に起動・停止スクリプトがあります。スクリプトを実行することによりサービスの起動、停止が行えます。
systemdの場合、systemctlコマンドを実行することによりサービスの起動、停止が行えます。
SysVinitの場合:
# /etc/init.d/WOAgentSvc93 start
systemdの場合:
# systemctl start WOAgentSvc93
SysVinitの場合:
# /etc/init.d/WOAgentSvc93 stop
systemdの場合:
# systemctl stop WOAgentSvc93
Windows版のサービスは、プロパティファイルを持っています。ここに記述されたコマンドを実行してドメイン起動/停止を行っています。
${AS_INSTALL}\config\woasinfo.properties
この設定を変更することにより、コマンド実行待ち時間を変更することが可能です。
項目 | 説明 | 既定値 |
---|---|---|
startcmd | ドメイン起動コマンドを記述します。 記述がない、不正記述などの場合はサービス起動に失敗します。 既定の状態では、startcmdに記述された起動コマンドが実行されると、管理ドメインの起動が行われます。 | "${AS_INSTALL}\bin\WOAgentSvc.bat" start-domain |
stopcmd | ドメイン停止コマンドを記述します。 記述がない、不正記述などの場合はサービス停止に失敗します。 既定の状態では、stopcmdに記述された停止コマンドが実行されると、管理ドメインの停止が行われます。 | "${AS_INSTALL}\bin\WOAgentSvc.bat" stop-domain |
woascmdtimeout | startcmd/stopcmdで指定したコマンド実行時のタイムアウトを、秒単位で指定します。 0を設定すると、ドメインの停止が非同期実行となり、コマンドの終了を待ち合わせません。 ドメインの起動は、本項目の値によらず非同期実行となります。 | 1800 |
pidfilepath |
サービスからドメインを起動した場合、サービスプロセスからエージェントプロセスを監視するために必要となるプロセスIDの取得先ファイル(appserv_pid)を指定します。
取得先ファイルのパスを監視したいドメインのパスに変更することで、監視対象のエージェントプロセスを変更することができます。
サービスプロセスが監視対象のエージェントプロセスの停止を検出した場合、自動でstopcmdに記述された停止コマンドが実行されます。 監視対象のエージェントプロセスをユーザドメインに変更した場合、管理ドメインの「管理対象ドメインの起動の有効化」を有効にしていると、 ユーザドメインのエージェントプロセス停止を契機に管理ドメインの停止が行われ、起動を有効化している全てのドメインが停止されますのでご注意ください。 |
${AS_INSTALL}\domains\WebOTXAdmin\config\appserv_pid |
systemdの場合、下記のserviceファイルの記述内容を変更することでサービス起動、停止に関わる設定を変更することが可能です。
/usr/lib/systemd/system/WOAgentSvc93.service
serviceファイルの記述内容は以下のようになっています。
例) WOAgentSvc93.service[Unit] Description=WebOTX AS Agent Service After=network.target syslog.socket WebOTXinit93.service WatchServer93.service [Service] ExecStop=${AS_INSTALL}/bin/WOAgentSvc93 stop TimeoutStartSec=600 TimeoutStopSec=600 KillMode=none ### setting for Type=oneshot ### Type=oneshot ExecStart=${AS_INSTALL}/bin/WOAgentSvc93 start RemainAfterExit=yes ### setting for Type=forking ### #Type=forking #ExecStart=${AS_INSTALL}/bin/WOAgentSvc93 start systemd-forking 600 #PIDFile=${AS_INSTALL}/domains/WebOTXAdmin/config/appserv_pid_systemd [Install] WantedBy=default.target必要に応じて以下の設定を変更してください。
項目 | 説明 | 既定値 |
---|---|---|
TimeoutStartSec |
サービス起動のタイムアウトを設定します。単位を省略した場合は秒となります。 詳細は man systemd.service をご参照ください。 Typeに「forking」を指定している場合、ExecStartのコマンドの第3引数の値をTimeoutStartSecの設定値と同じ値に変更してください。 例)起動タイムアウトに300秒を設定する場合 TimeoutStartSec=300 (中略) Type=forking ExecStart=${AS_INSTALL}/bin/WOAgentSvc93 start systemd-forking 300 |
600 |
TimeoutStopSec |
サービス停止のタイムアウトを設定します。単位を省略した場合は秒となります。 詳細は man systemd.service をご参照ください。 例)停止タイムアウトに300秒を設定する場合 TimeoutStopSec=300 |
600 |
Type |
サービスプロセスの起動完了の判定方法を設定します。
「oneshot」と「forking」のいずれかを指定してください。
変更前)Type=oneshot ### setting for Type=oneshot ### Type=oneshot ExecStart=${AS_INSTALL}/bin/WOAgentSvc93 start RemainAfterExit=yes ### setting for Type=forking ### #Type=forking #ExecStart=${AS_INSTALL}/bin/WOAgentSvc93 start systemd-forking 600 #PIDFile=${AS_INSTALL}/domains/WebOTXAdmin/config/appserv_pid_systemd変更後)Type=forking ### setting for Type=oneshot ### #Type=oneshot #ExecStart=${AS_INSTALL}/bin/WOAgentSvc93 start #RemainAfterExit=yes ### setting for Type=forking ### Type=forking ExecStart=${AS_INSTALL}/bin/WOAgentSvc93 start systemd-forking 600 PIDFile=${AS_INSTALL}/domains/WebOTXAdmin/config/appserv_pid_systemd |
oneshot |
# systemctl daemon-reload
Windowsサービスアカウントを変更する方法については、[ 4. ユーザ管理 > 4.4. その他の管理ユーザ > 4.4.2. Windowsサービスアカウント ]を参照してください。
サービス/スクリプトを実行した場合、それらに対して行った要求は、管理ドメイン(WebOTXAdmin)に実行されることになります。
図1.5-1
サービス/スクリプトの起動処理が行われると、管理ドメインは、自身の管理するユーザドメインの起動を行い、ユーザドメインの起動が完了するとステータスを起動中(running)に変更します。
サービス/スクリプトの停止処理が行われると、管理ドメインは、自身の管理するユーザドメインの停止を実行した後、ステータスを停止(not running)に変更します。
マシンの負荷が高い場合や、アプリケーションを多数配備した場合、ユーザドメインの起動処理、停止処理に時間を要し、結果、処理が遅延し、タイムアウトエラーが発生する場合があります。 このような場合、以下の箇所を考慮しタイムアウト値を設定する必要があります。
サービスに対するタイムアウト値は[1.3. サービスの設定]を確認してください。 各ドメインに対してタイムアウトを設定する場合、${INSTANCE_ROOT}\config配下に、otxadmin.propertiesファイルを作成し、下記の例のようにパラメータを設定することで、タイムアウト値を変更することが可能です。
${INSTANCE_ROOT}\config\otxadmin.properties
例) waitDomainTimeout=180 waitDomainRunning=1200 waitDomainStopped=1800
項目 | 説明 | 既定値 |
---|---|---|
waitDomainTimeout | ドメインが停止状態から開始状態に至るまでのタイムアウト値です。単位は秒となります。 | なし(※1) |
waitDomainRunning | ドメインが開始状態から稼動状態に至るまでのタイムアウト値です。単位は秒となります。 | なし(※1) |
waitDomainStopped | ドメインが稼動状態から停止状態に至るまでのタイムアウト値です。単位は秒となります。 | 1800 |
(※1)既定では、停止状態から稼動状態までのタイムアウト値が20分となります。
ドメイン全てに対して、一括でタイムアウト値を設定する場合、${INSTANCE_ROOT}\config配下ではなく${AS_INSTALL}\config配下にotxadmin.propertiesファイルを配置してください。