本書はWebOTX実行環境を運用するための運用操作法について概要や具体的な設定項目や設定方法について記載しています。
このマニュアルはWebOTX Application Server Web Edition、Standard-J Edition、Standard Edition、Enterprise Editionを使って運用環境を構築するシステムエンジニア、日々の運用を行うオペレータを対象としています。
本書ではパス名の表記については特にOSを限定しない限りセパレータはスラッシュ’/’で統一しています。Windows環境においては’\’に置き換えてください。
インストールディレクトリやドメインルートディレクトリなど環境によって値の異なるものについては環境変数を用いて表します。
${env} または $(env)で表しています。
${AS_INSTALL} : インストールディレクトリ
${INSTANCE_ROOT}: ドメインルートディレクトリ
本書中では運用操作に用いるコマンドの詳細についての説明は省略しています。
コマンドの詳細は「運用管理コマンド」、「運用管理コマンドリファレンス」を参照してください。
システムを構築、運用するための手順について説明します。
WebOTXのサービスについて説明します。
Windowsのサービスとして以下のサービスがあります。
WebOTX全体を管理するエージェントサービスです。既定値では自動起動するように設定しています。
Apache HTTP Server 1.3ベースのWebOTX Webサーバのサービスです。インストール時に「Webサーバ 1.3」を選択した場合に登録され、WebOTX Webサーバを利用するドメイン毎に作成されます。既定値では手動起動です。該当ドメイン起動時に自動的に起動します。サービスマネージャから起動する必要はありません。
Apache HTTP Server 2.0ベースのWebOTX Webサーバのサービスです。インストール時に「Webサーバ 2.0」を選択した場合に登録され、WebOTX Webサーバを利用するドメイン毎に作成されます。既定値では手動起動です。該当ドメイン起動時に自動的に起動します。サービスマネージャから起動する必要はありません。
WebOTXとしては利用しませんが、WebOTX以外のモジュールがドメイン外でCORBAサービスとして利用する場合に利用します。既定値では手動起動で通常は起動しません。
WebOTX Standard EditionもしくはEnterprise Editionを利用する場合、TPモニタに対する制御を行なうサービスです。「WebOTX Agent Service」と依存関係があり、「WebOTX Agent Service」を起動すると自動的に起動されます。
Enterprise Editionを利用する場合、マルチサーバ構成の負荷分散構成とした場合に、アプリケーションサーバの監視を行なうサービスです。Enterprise Edition、もしくはStandardEditionとクラスタ環境を組み合わせて利用することができます。
Transactionサービスです。WebOTX以外のモジュールがドメイン外でTransactionサービス管理用プロセス(RCD)を使用する場合に起動します。初期状態ではサービス登録されていません。使用する場合は"wotsrcd -a"コマンドでサービスを登録する必要があります。既定値では手動起動で通常は起動しません。
Transactionサービスです。リカバリサーバを使用する場合に起動します。インストール時に[APサーバ環境] - [TransactionService] - [旧バージョン互換サービス]を選択する必要があります。既定値では手動起動で通常は起動しません。
HP-UXではマシン起動時にサービスが起動できるよう以下の起動スクリプトを提供しています。ただしObjectSpinner、WebOTX_TSに関してはWindowsと同様マシン起動時には起動しません。
Solarisではマシン起動時にサービスが起動できるよう以下の起動スクリプトを提供しています。ただしObjectSpinner、WebOTX_TS に関してはWindowsと同様マシン起動時には起動しません。
Linuxではマシン起動時にサービスが起動できるよう以下の起動スクリプトを提供しています。ただしObjectSpinner、WebOTX_TSに関してはWindowsと同様マシン起動時には起動しません。
[WebOTX SIP Application Server V8.13の場合]
WebOTXのサービス全体を起動および停止する方法について説明します。デフォルトの設定ではマシン起動時にサービスが起動するようになっています。ObjectSpinner、WebOTX_TSのサービスはWebOTXとしては利用しませんが、下記と同様の方法で起動・停止することができます。
注意:UNIXでの起動停止の操作はrootユーザで実行してください。
「WebOTX AS Agent Service」サービスを起動・停止します。サービスコントロールマネージャもしくはnet start、net stopコマンドより実行できます。
net start "WebOTX AS Agent Service"
net stop "WebOTX AS Agent Service"
サービス起動コマンド実行直後はまだ起動処理が行われています。サービスの起動完了は「ドメインの起動完了確認」より、ドメインの起動処理完了をもって確認してください。
サービス停止時、WebOTXドメインの停止処理時間が定められたタイムアウト値を超過すると、サービス制御マネージャによって「ローカルコンピュータのWebOTX Agent Service サービスを停止できません。」と出力されることがあります。しかしながら、このメッセージが出力されても、実際には停止処理は引き続き行われています。よって、プロセスのストールなどの異常が発生していなければ最終的には停止することになります。
/sbin/init.d/WOAgentSvc に起動・停止スクリプトがあります。スクリプトを実行することによりサービスの起動、停止が行えます。
/sbin/init.d/WOAgentSvc start
/sbin/init.d/WOAgentSvc stop
/etc/init.d/WOAgentSvc に起動・停止スクリプトがあります。スクリプトを実行することによりサービスの起動、停止が行えます。
/etc/init.d/WOAgentSvc start
/etc/init.d/WOAgentSvc stop
/etc/init.d/WOAgentSvc に起動・停止スクリプトがあります。スクリプトを実行することによりサービスの起動、停止が行えます。
WebOTX SIP Application Server V8.13の場合、systemctlコマンドを実行することによりサービスの起動、停止が行えます。
/etc/init.d/WOAgentSvc start
WebOTX SIP Application Server V8.13の場合:
systemctl start WOAgentSvc
/etc/init.d/WOAgentSvc stop
WebOTX SIP Application Server V8.13の場合:
systemctl stop WOAgentSvc
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 | stopcmdで指定したコマンド実行時のタイムアウト設定を秒単位で指定します。0を設定すると非同期実行となり、コマンド終了を待ち合わせません。 | 600 |
システムに関する設定項目について説明します。
WebOTXでは動作環境についての情報を環境変数やJavaシステムプロパティとして保持しています。
WebOTXドメイン共通の環境変数は、以下の設定ファイルで定義されます。
${INSTALL_ROOT}\config\asenv.bat
${INSTALL_ROOT}/config/asenv.conf
以下にその一覧を示します。
| 変数名 | 説明 | 既定値 | |
|---|---|---|---|
| AS_INSTALL | WebOTXインストールディレクトリ インストール時に指定する。 |
|
|
| AS_ANT | ANTディレクトリ | ${AS_INSTALL}/lib/ant | |
| AS_ANT_LIB | ANTライブラリディレクトリ | ${AS_ANT}/lib | |
| AS_WEBSERVICES_LIB | WEBサービスライブラリディレクトリ | ${AS_INSTALL}/lib | |
| AS_IMQ_LIB | JMSライブラリディレクトリ | ${AS_INSTALL}/wojms/lib | |
| AS_IMQ_BIN | JMS実行ディレクトリ | ${AS_INSTALL}/wojms/bin | |
| AS_CONFIG | コンフィグディレクトリ | ${AS_INSTALL}/config | |
| AS_JAVA | JAVAインストールディレクトリ | ${JAVA_HOME} | |
| AS_ACC_CONFIG | アプリケーションクライアントが使用するXMLファイル | ${AS_INSTALL}/lib/appclient/nec-acc.xml | |
| AS_ICU_LIB | WebOTX実行時に必要なネイティブライブラリディレクトリ | ${AS_INSTALL}/lib | |
| AS_OSPI_LIB | Object Brokerライブラリパス | ${AS_INSTALL}/ObjectBroker/lib | |
| AS_DEF_DOMAINS_PATH | domainsディレクトリ | ${AS_INSTALL}/domains | |
| AS_DERBY_INSTALL | Derbyインストールディレクトリ | ${AS_INSTALL}/javadb/ | |
| AS_OSPI_HOME | Object Broker(またはObjectSpiner)spiインストールディレクトリ |
|
|
| AS_BOOT_DOMAIN | サーバ起動時に自動起動されるドメイン名 |
|
これらはドメイン作成時に決定されるか、もしくは固定の値を持ちます。ドメイン作成後に変更することはできません。
| 変数名 | 説明 | 既定値 |
|---|---|---|
| DOMAIN_NAME | ドメイン名 (ドメイン作成時に指定) | domain1(WebOTXインストール時自動作成されるドメイン) |
| SERVER_NAME | サーバ名("server"で固定) | server |
| INSTANCE_ROOT | ドメインのルートディレクトリ | ${AS_INSTALL}/domains/${DOMAIN_NAME} |
任意の環境変数を設定する場合、または、システムで定義される環境変数をWebOTXのみ変更する必要がある場合には、以下のように設定ファイルの最後に環境変数の定義を追記します。Unix・Linuxの場合、設定した環境変数をドメイン環境で利用する場合はexportを行う必要がありますので注意してください。
set 環境変数名=値
環境変数名=値 export 環境変数名
管理ドメインで使用するポート番号について以下に説明します。
| ドメイン作成時のプロパティ名 | 既定値 | 説明 |
|---|---|---|
| admdomain.admin.port | 6202 | エージェントが利用するJRMPのポート番号 |
Standard Edition/Enterprise Editionでは、TPモニタ管理プロセスが以下のポートを使用します。このポート番号はローカルマシン内での通信のみに使用されます。
| サービス名 | 既定値 | 説明 |
|---|---|---|
| w-tpadm | 8899 | TPモニタ管理プロセスで使用するポート番号 |
UNIX・Linux版の場合、/etc/servicesにTPモニタ管理プロセスのサービス名とポート番号の対応を記述する必要があります。WebOTXインストール後に手動で設定してください。詳しくは「インストール後の作業」を参照してください。Windowsの場合はこの手順は必要ありません。
一般ドメインで使用するポート番号について説明します。既定値はインストール時に作成される、domain1のものです。
| ドメイン作成時のプロパティ名 | domain1での既定値 | 説明 |
|---|---|---|
| domain.admin.port | 6212 | エージェントが利用するJRMPのポート番号 |
| domain.admin.jmxmp.port | 6712 | 下位互換としてエージェントが利用するJMXMPのポート番号 |
| server.embedded-iiop-service.port | 7780 | エージェントプロセス上で動作するIIOPリスナ。JNDIサーバとSandard-J EditionにおけるEJBの通信リスナとなります。 |
| server.http-service.http-listener.http-listener-1.port | 80 | HTTPサーバが利用する HTTP ポートの番号。HTTPサーバを起動した場合利用します。 |
| server.http-service.http-listener.http-listener-2.port | 443 | SSLで保護されたHTTPSポートの番号。HTTPサーバを起動した場合利用します。 |
| server.http-service.http-listener.admin-listener.port | 5858 | エージェントが利用する管理用ポートの番号。Web管理コンソールとの通信に利用します。 |
| server.http-service.http-listener.ajp-listener-1.port | 8099 | 外部のHTTPサーバとWebコンテナがAJPによって連携を行う際ポートの番号。HTTPサーバ、Webコンテナを起動した場合利用します。 |
| server.objectbrokerservice.oad.OadPort | 9825 | oadが使用するポート番号。Object Brokerサービスを起動した場合利用します。 |
| server.objectbrokerservice.oadj.Port | 9826 | oadjが使用するポート番号。Object Brokerサービスを起動した場合利用します。 |
| server.objectbrokerservice.corbaloc.CorbalocServerPort | 9827 | corbalocサーバが使用するポート番号。Object Brokerサービスを起動した場合利用します。 |
| server.objectbrokerservice.namesv.NameServicePort | 2809 | 名前サーバが使用するポート番号。Object Brokerサービスを起動した場合利用します。 |
| server.objectbrokerservice.irsv.InterfaceRepositoryPort | 9830 | インタフェースリポジトリが使用するポート番号。Object Brokerサービスを起動した場合利用します。 |
| server.objectbrokerservice.cnamesv.CacheNameServicePort | 9829 | キャッシュ名前サーバが使用するポート番号。Object Brokerサービスを起動した場合利用します。(キャッシュ名前サーバは、Enterprise EditionでWebOTXインストール時に選択した場合のみインストールされます) |
| server.jms-service.jms-host.default_JMS_host.port | 9700 | JMSが使用するポート番号。JMSを起動した場合利用します。 |
| server.transactionservice.rcs-cpp-port | 5965 | C++版のRCSが使用するポート番号(Web Edition/Standard-J Editionでは使用されません)。 |
| tpsystem.IIOPListener.listenerPortNumber | 5151 | IIOPリスナが使用するポート番号(平文ポート)。Standard Edition/Enterprise Editionで平文ポートを利用する場合利用します。 |
| tpsystem.IIOPListener.sslPortNumberCert | 5751 | IIOPリスナが使用するポート番号(SSLクライアント認証ありポート)。Standard Edition/Enterprise EditionでSSLクライアント認証ありを選択した場合利用します。 |
| tpsystem.IIOPListener.sslPortNumberNoCert | 5751 | IIOPリスナが使用するポート番号(SSLクライアント認証なしポート)。Standard Edition/Enterprise EditionでSSLクライアント認証なしを選択した場合利用します。 |
| tpsystem.OLFTPListener.listenerPortNumber | 5251 | OLF/TPリスナが使用するポート番号。Standard Edition/Enterprise Editionの場合利用します。 |
| tpsystem.admListener.portNumber | 5202 | Admリスナが使用するポート番号。Standard Edition/Enterprise Editionの場合利用します。 |
| server.http-service.sip-listener.sip-listener-1.port | 5060 | SIPリスナが使用するポート番号。SIP Application Serverの場合利用します。 |
| server.http-service.sip-listener.sip-listener-2.port | 5060 | SIPリスナが使用するポート番号。SIP Application Serverの場合利用します。 |
| server.http-service.sip-listener.sip-listener-3.port | 5061 | SIP TLSリスナが使用するポート番号。SIP Application Server の場合利用します。 |
一般ドメインはサーバ上に複数作成することが可能です。その際はそれぞれのドメインが上記設定のすべてのポートを使用します。「ドメインの作成」を参照してください。
OSの種類によって、以下の表で示される範囲のポート番号が、OSで自動的に割り当てる一時ポート番号として規定されています。
| OS | 一時ポートの割り当て範囲 |
|---|---|
| Windows(2000/2003) | 1024から5000 |
| Windows(2008) | 49152から65535 |
| HP-UX | 49152から65535 |
| Linux | 32768から61000 |
| Solaris | 32768から65535 |
WebOTXが使用するポート番号が一時ポートの割り当て範囲と重複していた場合、別のアプリケーションが同じポート番号を一時ポートとして使用しWebOTXの起動が失敗するなどの問題を引き起こすことがあります。
例えばWindows 2000 Server/Windows Server 2003では、一時ポート番号は1024〜5000の範囲となります。これはWebOTXのdomain1の名前サーバ(2809)のポート番号を含んでいるため、まれに起動失敗などの問題を引き起こす可能性があります。
WebOTXが利用するポート番号をOSの一時ポートの対象外であると登録することによって回避してください。WebOTX付属の設定用コマンドを用いる方法と、レジストリエディタによる方法があります。
コマンドプロンプトを起動し、以下のコマンドを実行します。
> ${INSTANCE_ROOT}\bin\ReservPorts.bat install
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
Add ReservPorts :[2809-2809 ]
ReservPorts registerd Succeed! Please reboot the machine.
一時ポート範囲から除外されたポート番号が、Add ReservPorts:[開始ポート番号-終了ポート番号 ・・・]として表示されます。設定変更後はマシンの再起動が必要です。
ReservedPort.bat コマンド: ${INSTANCE_ROOT}\bin\ReservPorts.bat [ list | install | uninstall ]
| 表示項目 | 説明 |
|---|---|
| Reserved Ports :[ ポート番号 …] | 予約として一時ポート割り当てされないポート番号(現在のレジストリ値) |
| WebOTX Ports :[ ポート番号 …] | WebOTXが利用する1024から5000までのポート番号 |
| Add Ports :[ ポート番号 …] | ReservPortコマンドにより登録された割り当て対象外のポート番号 |
レジストリエディタを起動します。
レジストリキー[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]を検索し、配下に以下の項目を追加します。
| 名前 | 種類 | 値 |
|---|---|---|
| ReservedPorts | REG_MULTI_SZ | 2809-2809 |
クライアントマシンからの接続には、以下のポート番号に対しファイアーウォールのブロックを解除する必要があります。
「Edition別提供サービス」の表記については以下を参照してください。
「○」・・・既定で有効
「△」・・・既定で有効でない
「-」・・・未提供のサービス
| 用途 | 既定のポート番号 | Edition別提供サービス | |
|---|---|---|---|
| Web | STD-J | ||
| http通信 | 80 | ○ | ○ |
| 443 | ○ | ○ | |
| CORBA LOCサーバ | 2809 | - | ○ |
| 名前サーバポート | ユーザ設定値 | - | ○ |
| oadポート | 9825 | - | ○ |
| ダウンローダ | 80(httpポート番号) | △ | △ |
| 統合運用管理ツール | JRMP
|
○ | ○ |
JMXMP
|
△ | △ | |
| Web版統合運用管理コンソール | 5858 | ○ | ○ |
| プロセス名 | 説明 |
|---|---|
| WOAgentSvc.exe (Windows) | サービス管理用のプロセスです。「WebOTX Agent Service」を起動すると動作し、停止すると終了します。 |
| tpadmd.exe (Windows) tpadmd (UNIX) |
Standard Edition/Enterprise EditionにおけるTPモニタ運用管理用のサービスプロセスです。 「WebOTX TPBASEadm」を起動すると動作し、停止すると終了します。 UNIX版では${AS_INSTALL}/Trnsvに配置されています。 |
| プロセス名 | 説明 |
|---|---|
| javaw.exe(Windows) java(UNIX) |
エージェントプロセスのJavaVMです。 異常終了した場合、管理ドメインへのアクセスができなくなりますが、一般ドメインは利用できます。復旧はWebOTX サービス再起動を行う必要があります。 再起動方法については「サービスの起動・停止方法」を参照ください。 引数に「-Dwebotx.funcid=agent -Ddomain.name=WebOTXAdmin」という文字列が指定されているのでそれが目印になります。 UNIXにおけるカレントディレクトリは${INSTANCE_ROOT}/configです。 |
ドメインを起動すると以下のプロセスが起動します。複数ドメインを起動した場合は、同一名のプロセスが複数起動します。
| プロセス名 | 説明 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| javaw.exe(Windows) java(UNIX) |
エージェントプロセスのJavaVMです。 異常終了した場合、該当ドメインへのアクセスができなくなります。速やかにドメイン再起動を行う必要があります。 再起動方法については「ドメインの起動・停止」を参照ください。 引数に「-Dwebotx.funcid=agent -Ddomain.name=${DOMAIN_NAME}」という文字列が指定されますのでそれが目印になります。 UNIXにおけるカレントディレクトリは${INSTANCE_ROOT}/configです。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| apache.exe(Windows) httpd(UNIX) |
HTTPサーバのデーモンプロセス。 インストール時に「WebOTX Webサーバ」を選択した場合に有効です。Webサーバを起動すると動作します。常時親プロセス(監視プロセス)と子プロセス(HTTPサービスデーモン)で構成されており、子プロセスが異常終了した場合、親プロセスは子プロセスを再起動します。異常終了時はHTTPサーバの再起動が必要です。 再起動方法については「各サービスの起動・停止」を参照ください。 UNIXにおけるカレントディレクトリは${INSTANCE_ROOT}/です。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| wojmsbrokersvc.exe(Windows) wojmsbrokerd (UNIX) |
JMS管理プロセス。 JMSを起動すると動作します。異常終了時はJMSの再起動が必要です。再起動方法については「各サービスの起動・停止」を参照ください。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| java.exe (Windows) java (UNIX) |
JMSデーモンプロセス。 JMSを起動すると動作します。異常終了時はJMSの再起動が必要です。 再起動方法については「各サービスの起動・停止」を参照ください。 引数に「-Dwebotx.funcid=jms -Ddomain.name=${DOMAIN_NAME}」という文字列が指定されますのでそれが目印になります。 UNIXにおけるカレントディレクトリは${INSTANCE_ROOT}/configです。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| oad.exe (Windows) oad (UNIX) |
CORBAオブジェクト活性化デーモンプロセス。 Object Brokerを起動すると動作します。異常終了時は新たなIIOP通信(RMI/IIOP)が行えなくなります。異常終了時はObject Brokerの再起動が必要です。 再起動方法については「各サービスの起動・停止」を参照ください。 UNIXにおけるカレントディレクトリは${INSTANCE_ROOT}/configです。 Standard-J Edition/Standard Edition/Enterprise Editionで動作します |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| namesv.exe (Windows) namesv (UNIX) |
CORBA名前サーバデーモンプロセス。 Object Brokerを起動すると動作します。 異常終了時はオブジェクトの取得が行えなくなりIIOP通信ができなくなります。 異常終了時はObject Brokerの再起動が必要です。 再起動方法については「各サービスの起動・停止」を参照ください。 UNIXにおけるカレントディレクトリは${INSTANCE_ROOT}/configです。 Standard-J Edition/Standard Edition/Enterprise Editionで動作します |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| irsv.exe (Windows) irsv (UNIX) |
CORBAインターフェースリポジトリデーモンプロセス。 Object Brokerを起動すると動作します。異常終了時はオブジェクトのインタフェース情報の取得が行えなくなりますがWebOTXではirsvを利用していないため影響はありません。 異常終了時はObject Brokerの再起動が必要です。 再起動方法については「各サービスの起動・停止」を参照ください。 Standard-J Edition/Standard Edition/Enterprise Editionで動作します |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| corbaloc.exe (Windows) corbaloc (UNIX) |
CORBALOCサーバデーモンプロセス。 Object Brokerを起動すると動作します。異常終了時はCORBALOCサーバとして利用している場合、新たなIIOP通信(RMI/IIOP)が行えなくなります。 異常終了時はObject Brokerの再起動が必要です。 再起動方法については「各サービスの起動・停止」を参照ください。 Standard-J Edition/Standard Edition/Enterprise Editionで動作します |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| java.exe (Windows) java (UNIX) |
CORBA Java自動起動デーモンプロセス。 Object Brokerを起動すると動作します。異常終了時はJavaアプリケーションの自動起動ができなくなります。また、ライセンスの取得もできなくなるため、IIOP通信のコネクション数に制限が発生します。 異常終了時はObject Brokerの再起動が必要です。再起動方法については「各サービスの起動・停止」を参照ください。 引数に「-Dwebotx.funcid=oadj -Ddomain.name=${DOMAIN_NAME}」という文字列が指定されますのでそれが目印になります。 UNIXにおけるカレントディレクトリは${INSTANCE_ROOT}/configです。 Standard-J Edition/Standard Edition/Enterprise Editionで動作します |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| rcssv.exe(Windows) rcssv(UNIX |
Transactionサービスで提供するC++アプリケーション用のリカバリプロセス(RCS) (Web Edition、およびStandard-J Editionでは使用しません) Transactionサービスを起動すると動作します。異常終了時はトランザクションの開始が行えなくなります。 異常終了時はTransactionサービスの再起動が必要です。再起動方法については「各サービスの起動・停止」を参照ください。 引数に「rcsid=XXX」という文字列が指定されますのでそれが目印になります。 UNIXにおけるカレントディレクトリは${INSTANCE_ROOT}/logs/TSです。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| tpmMain.exe(Windows) tpmMain(UNIX) |
TPモニタ子プロセスです。 Standard Edition/Enterprise Editionで動作します。 異常終了した場合TPモニタの機能が利用できなくなりますが、親プロセスが監視を行なっているのでプロセスの監視は親プロセス(tpminitor)の方を監視してください。 UNIXにおけるカレントディレクトリは${AS_INSTALL}/Trnsv です。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| tpmonitor.exe(Windows) tpmonitor(UNIX) |
TPモニタプロセスです。 Standard Edition/Enterprise Editionで動作します。 異常終了した場合、TPモニタの機能が利用できなくなるため、プロセス監視を行なう場合は、監視対象にしてください。 異常終了時はTPシステムの再起動が必要です。それでも復旧しない場合はマシン再起動を行なってください。 UNIXにおけるカレントディレクトリは${AS_INSTALL}/Trnsv です。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| tpadmdMain.exe(Windows) tpadmd(UNIX) |
TPモニタ運用管理プロセスです。 Standard/Enterprise Editionで動作します。 異常終了した場合、一時的にStandard/Enterprise Editionの一部運用操作がエラーとなりますが、自動的にプロセスが再起動され復旧します。 UNIXにおけるカレントディレクトリは${AS_INSTALL}/Trnsv です。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| tpssendtpp.exe(Windows) tpssendtpp(UNIX) |
TPモニタtpsendプロセスです。 Standard Edition/Enterprise Editionで動作します。 異常終了した場合、統合運用管理ツールからクライアントへメッセージ送信や動的ログレベル変更などが不可となります。異常終了時はTPシステムの再起動が必要です。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| systpp.exe(Windows) systpp(UNIX) |
TPモニタsystppプロセスです。 Standard Edition/Enterprise Editionで動作します。 異常終了した場合、一部運用操作(起動、停止など)が不可となります。異常終了時はTPシステムの再起動が必要です。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| jnlwrt.exe(Windows) jnlwrt(UNIX) |
TPモニタジャーナルライタプロセスです。 Standard Edition/Enterprise Editionで動作します。 異常終了した場合、異常終了した場合、ジャーナルの採取が不可となります。異常終了時はTPシステムの再起動が必要です。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| olftplsn.exe(Windows) olftplsn(UNIX) |
TPモニタOLF/TPリスナプロセスです。 Standard Edition/Enterprise Editionで動作します。 異常終了時はOLFリスナとの通信が不可となります。WebOTX Print Kitなどを利用した場合影響があります。異常終了時はTPシステムの再起動が必要です。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| iioplsn.exe(Windows) iioplsn(UNIX) |
TPモニタIIOPリスナプロセスです。
Standard Edition/Enterprise Editionで動作します。
異常終了時はIIOPリスナとの通信が不可となります。全てのクライアントからのアクセスができなくなります。異常終了時はTPシステムの再起動が必要です。 UNIXにおけるカレントディレクトリは${AS_INSTALL}/Trnsv /logsです。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| TIMMSGSND.exe(Windows) TIMMSGSND(UNIX) |
TPモニタタイマデーモンプロセスです。 Standard Edition/Enterprise Editionで動作します。 異常終了時はクライアントへメッセージ送信や動的ログレベル変更などが不可となります。異常終了時はTPシステムの再起動が必要です。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| wosystpp.exe(Windows) wosystpp(UNIX) |
TPモニタWebOTXシステムTPPです。 Standard Edition/Enterprise Editionで動作します。 異常終了時はクライアント情報の取得が不可となります。異常終了時はTPシステムの再起動が必要です。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| THTPPCTL.exe THTPPCTL_N.exe THTPPCTL_N2003.exe THTPPCTL_2005.exe (Windows) THTPPCTL6 THTPPCTL7 THTPPCTL8 THTPPJAVA2 THTPPOTS6 THTPPOTS7 THTPPOTS8 THTPPDB6 THTPPDB7 THTPPDB8 (UNIX) |
サーバAPのTPPです。 Standard/Enterprise Editionで動作します。 言語や利用機能によりモジュール名が変わります。
UNIXにおけるカレントディレクトリは${AS_INSTALL}/Trnsvです。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
ツールなど単独で動作可能なプロセスです。複数起動した場合は、同一名のプロセスが複数起動します。
| プロセス名 | 説明 |
|---|---|
| java.exe(Windows) java(UNIX) |
運用管理コマンド(otxadmin)のプロセスです。 引数に「-Dwebotx.funcid=otxadmin」という文字列が指定されますのでそれが目印になります。 |
| javaw.exe(Windows) javaw(UNIX) |
統合運用管理ツール(otxadmingui)のプロセスです。 引数に「-Dwebotx.funcid=otxadmingui」という文字列が指定されますのでそれが目印になります。 |
| javaw.exe(Windows) javaw(UNIX) |
配備ツール(deploytool)のプロセスです。 引数に「-Dwebotx.funcid=deploytool」という文字列が指定されますのでそれが目印になります。 |
| javaw.exe(Windows) javaw(UNIX) |
JNDI管理ツール(jndiadm)のプロセスです。 引数に「-Dwebotx.funcid=jndiadm」という文字列が指定されますのでそれが目印になります。 |
WebOTX Application Server のサービス(またはスクリプト)と各プロセスの関係図を以下に記します。




WebOTXをインストールしたディレクトリ(${AS_INSTALL})のディレクトリ構成について説明します。
以下にそれぞれのディレクトリについて説明します。
| ディレクトリ名 | 説明 |
|---|---|
| bin | WebOTXエージェントのバイナリファイル、コマンド、バッチファイルを格納します。 |
| config | WebOTX全体に関係する構成情報ファイルを格納します。 |
| domains | ドメインのルートディレクトリの親ディレクトリです。ドメインを新規に作成するとこの下にドメインルートが作成されます。 UNIXの場合は/var/opt/WebOTX/domainsへのシンボリックリンクファイルです。 |
| downloader(*1) | Downloaderのモジュールに関するファイルを格納しています。 |
| javadb(*4) | Apache Derbyに関するファイルを格納しています。 |
| jbi(*3) | Enterprise Service Bus に関するモジュールを格納しています。 |
| lib | WebOTXエージェントが利用するライブラリやツール、各ドメイン作成時に利用するテンプレートファイルを格納しています。 |
| ObjectBroker | Object Brokerのモジュールに関するファイルを格納しています。 |
| ProcessConductor(*3) | Process Conductor のモジュールに関するファイルを格納しています。 |
| samples(*1) | サンプルアプリケーションを格納しています。 |
| share(*2) | ライセンスチェックのモジュールに関するファイルを格納しています。 |
| template(*1) | 画面テンプレートのモジュールに関するファイルを格納しています。 |
| Trnsv | WebOTX実行環境のモジュールに関するファイルを格納しています。 |
| TS | Transactionサービスのモジュールに関するファイルを格納しています。 |
| uddi(*3) | UDDI Registryのモジュールに関するファイルを格納しています。 |
| WebCont5.0 | Webコンテナのモジュールに関するファイルを格納しています。 |
| WebServer(*1) | WebServer(apache1.3)に関するモジュールを格納しています。 |
| WebServer2(*1) | WebServer(apache2.0)に関するモジュールを格納しています。 |
| wojms | JMSのモジュールに関するファイルを格納しています。 |
| wowdc(*3) | Working Domain Coordinatorに関するモジュールを格納しています。 |
| WOWS(*1) | WatchServerに関するモジュールを格納しています。 |
ドメインのルートディレクトリ(${INSTANCE_ROOT})のディレクトリ構成について説明します。
以下にそれぞれのディレクトリについて説明します。
| ディレクトリ名 | 説明 |
|---|---|
| addons | ドメイン内にシステムが追加するオプション製品等のリソースを格納します。 |
| applications | ドメインに配備されたアプリケーションを格納します。 |
| autodeploy | ドメインのオートデプロイディレクトリ |
| backup | 構成情報(configディレクトリ)のバックアップを格納します。 |
| bin | ドメイン固有のバッチファイルを格納します。 |
| config | ドメインの設定情報ファイルを格納します。 |
| diagnostic-reports | サーバ診断処理にて生成される診断レポートファイルを格納します。 (診断処理が実行されるまでディレクトリは存在しません。) |
| docroot | HTTPサーバのドキュメントルート |
| generated | 配備のときにコンテナで生成したファイルを格納します。 |
| java-web-start | アプリケーションを配備した際に作成されますが、現在は使用しません。 |
| jbi | 当該ドメインで動作するESBに関するファイルを格納します。 |
| lib | ドメイン固有のライブラリを格納します。 |
| logs | ドメインのログディレクトリ |
| session-store | Passivateされたstateful session beanの情報を格納します。 |
| stats | ドメインの統計情報を格納します。 |
| wojms | 当該ドメインで動作するJMSに関するファイルを格納します。 |
WebOTX全体に関係する各種設定ファイル(${INSTALL_ROOT}/config以下)について説明します。
| ディレクトリ名 | 説明 | admingui | 統合運用管理ツールに対する設定ファイルを格納します。 ※統合運用管理ツールをインストールしなければ作成されません。 |
|---|---|
| eds | EnterpriseDirectoryServerとの連携用設定ファイルを格納します。 |
| jaxws | JAX-WSライブラリを使用する際に必要な設定ファイルを格納します。 |
| profiler | WebOTXプロファイラに対する設定ファイルを格納します。 |
| ファイル名 | 説明 |
|---|---|
| asenv.bat(UNIXではasenv.conf) | WebOTXドメイン共通の環境変数設定ファイル |
| cacerts.jks | 運用管理コマンドで使用する認証用ファイル |
| woasinfo.properties(Windowsのみ) | WebOTX AS Agent Service(WOAgentSvc)の実行に関するプロパティ設定用ファイル |
| woasinfo.properties.template(Windowsのみ) | woasinfo.propertiesのテンプレート(オリジナル)ファイル |
ドメインの各種設定ファイル(${INSTANCE_ROOT}/config以下)について説明します。
| ディレクトリ名 | 説明 |
|---|---|
| cert | 公開鍵証明書検証用の証明書ファイルを格納します。 |
| crl | CRL(Certificate Revocation List)ファイルを格納します。 |
| default-value-mbean | 実行中に生成されるMBean(Managed Bean)用デフォルト値定義ファイルを格納します。 |
| iPXda | ACOS Access Toolkitが使用する定義ファイルを格納します。 |
| jndisp | JNDIサーバが使用する設定ファイルを格納します。 |
| keystore | キーストアファイル(認証用の鍵と証明書を含む)を格納します。 |
| ObjectBroker | Object Brokerが使用する設定ファイルを格納します。 |
| persistent-mbean | 実行中に生成するMBean(Managed Bean)用永続値定義ファイルを格納します。 |
| tpsystem | TPモニタが使用する設定ファイルを格納します。 Web、Standard-J Editionでは使用されません。 |
| TS | Transactionサービスが使用する設定ファイルを格納します。 |
| WebCont | Webコンテナが使用する設定ファイルを格納します。 |
| WebServer | Webサーバが使用する設定ファイルを格納します。 |
| ファイル名 | 説明 |
|---|---|
| .domain-registry.system | ドメイン自身の構成情報を格納するファイルです。 ※本バージョンでは使用されません。 |
| admin-keyfile | 運用管理ユーザに関する情報を格納するファイルです。 |
| admcn | ドメインの状態管理の際に使用するRMI用スタブファイルです。 |
| admsn | ドメインの状態管理の際に使用するデータファイルです。 |
| cacerts.jks | 公開鍵証明書検証用の証明書ファイルです。 |
| cli_restriction | setコマンドにおいて"*(ワイルドカード)"を使用する場合に誤操作を防ぐ目的で使用するファイルです。 "*"を使用する場合はこのファイルに"*"の使用を許可するコマンドラインを定義する必要があります。 また、このファイルを削除すると"*"機能に対する全制限が解除されます。 |
| default-sip.xml | SIPコンテナに対するデフォルト設定値を含む定義ファイルです。 ※WebOTX Sip Application Serverをインストールした場合に使用されます。 |
| default-web.xml | Webコンテナに対するデフォルト設定値を含む定義ファイルです。 |
| domain.xml | ドメインに対する設定情報を含む定義ファイルです。 |
| domains-config.xml | 管理ドメインが管理するユーザドメインの設定情報を保持しています。 ※このファイルは管理ドメイン(WebOTXAdmin)のみに定義されます。 |
| domain-passwords | 運用ユーザのパスワード情報を統合的に管理するためのファイルです。 |
| domain-registry | ドメイン自身の構成情報を格納するファイルです。 ※本バージョンでは使用されません。 |
| encrypted | 重要データ等の暗号化対象データの管理情報を含むファイルです。 |
| keyfile | ユーザAPの認証にFileレルムを使用する場合にユーザ情報を格納するファイルです。 |
| keystore.jks | キーストア情報を含むファイルです。 |
| log4otx.xml | WebOTXの各システムサービスのログ出力設定ファイルです。 |
| logging.properties | JDK Logger(java.util.Logger)に対する設定情報を含む定義ファイルです。 |
| login.conf | ログイン認証に対する設定情報を含む定義ファイルです。 |
| secure.seed | HTTPS および IIOP/SSL 通信処理におけるセキュリティ確保のためのデータを含むファイルです。 |
| server.policy | ドメインに対するセキュリティポリシを定義するファイルです。 |
WebOTXはインストール時に指定したJava Developer Kit(JDK)を使用して起動されます。
リビジョンアップ、バージョンアップなどによりインストール時とは別のJDKを用いるときは、以下の手順でWebOTXが使用するJDKを変更します。
${INSTALL_ROOT}\config\asenv.bat に記述されている AS_JAVAの設定をJDKの環境に合わせて変更します。
set AS_JAVA=C:\jdk1.5.0_15
${INSTALL_ROOT}\wojms\var\jdk-env.bat に記述されている WOJMS_JAVAHOMEの設定をJDKの環境に合わせて変更します。
set WOJMS_JAVAHOME=C:\jdk1.5.0_15\jre
${INSTALL_ROOT}/config/asenv.conf に記述されている AS_JAVAの設定をJDKの環境に合わせて変更します。
AS_JAVA="/opt/java1.5"
${INSTALL_ROOT}/wojms/var/jdk.env に記述されている WOJMS_JAVAHOMEの設定をJDKの環境に合わせて変更します。
/opt/java1.5/jre
J2SE 5.0でインストールを行ったWebOTX環境をJava SE 6へバージョンアップする際、WebOTXの設定を変更する必要があります。
otxadmin> create-jvm-options -Dsun.lang.ClassLoader.allowArraySyntax=true
Java SE 6でインストールを行ったWebOTX環境を、J2SE 5.0へダウングレードする場合、以下の手順でWebOTXの設定を変更する必要があります。
業務アプリケーションを一端配備解除します
J2SE 5.0で不要なJavaシステムプロパティを削除します。システムプロパティが設定されていない場合、この作業は不要です。
otxadmin> delete-jvm-options -Dsun.lang.ClassLoader.allowArraySyntax=true
3.6.1に記載されている、環境変数ファイルを使用するJDKの環境に合わせて編集してください。
ドメインを再起動した後、業務アプリケーションを配備解除してください。業務アプリケーションがJDK1.6でコンパイルされていた場合、JDK1.5で再度コンパイルし直した後、配備を行ってください。
UNIX系のOSでは、WebOTXのインストール時にシステム管理者権限をもつrootユーザとは別に、WebOTXの起動ユーザを指定してインストールが可能であり、推奨しています。WebOTX管理ユーザ(運用ユーザ)を設定することで、不用意なシステム権限領域へのアクセスを制御し、より強固なセキュリティの確保とOSのもつユーザ制限機能を利用することができます。
運用ユーザを変更するスクリプトを提供していますので、インストール後でも運用ユーザに変更することが可能です。
ただし、WebOTX管理ユーザを利用する場合には、OSの制限により、1024以下のポート番号を利用することができなくなります。HTTP/HTTPS用のポート番号を1024以下で設定している場合には、ポート番号の再設定等が必要になるため、注意が必要です。
なお、UNIX系OSにおける運用ユーザのパスワード変更によるWebOTXへの影響はありません。Windows OSの場合は「Windowsサービスアカウントの変更」を参照してください。
# otxadmin stop-domain WebOTXAdmin
ここでは説明の為に、ユーザ名を「admin」、 グループ名を「webotx」と設定します。アカウントの作成はシステム管理者に依頼するか、各OSの運用マニュアルを参照して登録を行ってください。
# cd /opt/WebOTX/bin # ./otxown.sh ## Executing WebOTX Operation User Change script. Would you like to change as WebOTX Operation User? [y, n](default n) y Please input WebOTX Operation User name. admin Please input WebOTX Operation User group name. webotx ********************************************************** * Change of WebOTX Operation User. To continue, input y. * * Input q to exit the installation. [y, q](default y) * **********************************************************
UNIX系のOSでは、複数のドメインを異なるユーザで運用する機能をサポートしています。ここではそのための手順を説明します。
ドメインごとに運用ユーザを変えたい時はこちらの設定をご検討ください。
設定の際は、以下の点に注意してください。
以下の環境を例にして設定方法を説明します。
| ドメイン種別 | 名前 | 値 | ||
|---|---|---|---|---|
| 管理ドメイン | WebOTXAdmin | - | ||
| 一般ドメイン | domain1 | システムID (Standard Edition/Enterprise Editionの場合のみ) |
0 | |
| 運用ユーザ | オーナ | otxadm | ||
| グループ | otxadmin | |||
| 一般ドメイン | domain2 | システムID (Standard Edition/Enterprise Editionの場合のみ) |
2 | |
| 運用ユーザ | オーナ | otxadm2 | ||
| グループ | otxadmin | |||
ここでは、OSに対してポートの設定やサービス登録を行います。
サービス名とポートの追加を行います。ポート番号には、「w-tpadm(既定値: 8899)+システムID」の数値を設定します。
w-tpadm 8899/tcp # WebOTX TPBASEadm(SV) w-tpadm2 8901/tcp # WebOTX TPBASEadm(SV)
ここでは、今まで設定されていたw-tpadmの他に、domain2用としてw-tpadmにシステムID 2を追加した値を設定しています。サービス名とポート番号は、他と重複しないように設定してください。
ドメインごとにinetdの設定を行います。ここで指定したドメインのオーナとグループがドメイン起動時のプロセスに反映されます。OSごとにサービス登録手順が違います。
/etc/inetd.confファイルにエディタ等で以下の2行を追加して下さい。それぞれ改行をいれず、1行で記述してください。
w-tpadm stream tcp6 nowait root /opt/WebOTX/Trnsv/bin/tpadm.sh w-tpadmd /opt/WebOTX/domains/domain1 w-tpadm2 stream tcp6 nowait root /opt/WebOTX/Trnsv/bin/tpadm.sh w-tpadmd /opt/WebOTX/domains/domain2
第1フィールドには、/etc/servicesに設定したサービス名をinetdに追加します。さらに、サーバ・プログラム引数フィールドは、ドメインのディレクトリを与えます。
編集後は設定を再読み込みさせてください。
# /usr/sbin/inetd -c
/etc/inet/inetd.confファイルにエディタ等で以下の2行を追加して下さ。それぞれ改行をいれず、1行記述してください。
w-tpadm stream tcp nowait root /opt/WebOTX/Trnsv/bin/tpadm.sh w-tpadmd /opt/WebOTX/domains/domain1 w-tpadm2 stream tcp nowait root /opt/WebOTX/Trnsv/bin/tpadm.sh w-tpadmd /opt/WebOTX/domains/domain2
第1フィールドには、/etc/servicesに設定したサービス名でinetdに追加します。さらに、サーバ・プログラム引数フィールドは、ドメインのディレクトリを与えます。
編集後は設定を再読み込みさせてください。
# kill -HUP <inetdのプロセスID>
インストール時にxinetdへのサービスを一つ登録しています。そのサービスに対して引数を設定します。また、新規にサービスを追加します。
/etc/xinetd.d/webotxファイルをエディタ等で以下のように修正して下さい。
service w-tpadm
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /opt/WebOTX/Trnsv/bin/tpadm.sh
server_args = /opt/WebOTX/domains/domain1
}
service w-tpadm2
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /opt/WebOTX/Trnsv/bin/tpadm.sh
server_args = /opt/WebOTX/domains/domain2
}
インストール時に設定されているサービスw-tpadmにserver_argsを追加し、ドメインのディレクトリを設定します。また、/etc/servicesに新たに設定したサービスとその設定をinetdに追加します。
編集後は設定を再読み込みさせてください。
# kill -USR2 <xinetdのプロセスID>
ここでは、WebOTXの制御ファイルに関して、値の変更や権限の変更を行います。
tpadm.sh内の記述において、「wosh」に引数を追加するため「 $1」を書き加えます。$1の前に半角スペースが必要です。
/opt/WebOTX/Trnsv/bin/wosh /opt/WebOTX/Trnsv/bin/tpadm2.sh start $1
Linuxのパッチを適用する際、tpadm.shが上書きされる可能性があります。適用前にtpadm.shのバックアップをとってパッチ適用後に復元するか、パッチ適用後に再度「 $1」を加えてください。
/opt/WebOTX/config/asenv.confに以下の一行を追加してください。
AS_MULTIUSER=TRUE
すべての関連するディレクトリとファイルのオーナ・グループ・権限を再設定します。/opt/WebOTX/bin/otxown.sh を用いて、WebOTX配下のオーナとグループをrootに戻してください。
次に、各ドメインの<INSTANCE_ROOT>配下のディレクトリ・ファイルのオーナとグループを各運用ユーザにそれぞれ変更してください。
| ディレクトリ | ファイルオーナ | グループ |
|---|---|---|
| /opt/WebOTX/domains/domain1 とその配下 | otxadm | otxadmin |
| /opt/WebOTX/domains/domain2 とその配下 | otxadm2 | otxadmin |
また、以下のディレクトリとファイルは、各運用ユーザすべてが読み込み・書き込みできる必要があります。それらに対して、運用ユーザのオーナ/グループで書き込みができるようにファイル権限設定してください。(/opt/WebOTX/Trnsv/multitpm に設定するグループは、各運用ユーザと同一にしておく必要があります。)
・ファイル権限を775に設定するもの
/opt/WebOTX/domains
/opt/WebOTX/Trnsv/conf/CommAPIとその配下
/opt/WebOTX/Trnsvmultitpmとその配下("."で始まるファイルも)
/opt/WebOTX/Trnsv/logs
/opt/WebOTX/Trnsv
・ファイル権限を750に設定するもの
/opt/WebOTX/domains/config
/opt/WebOTX/domains/config/tpsystem
設定について、以下の補足事項があります。
/etc/services にサービス名とポート番号を指定するとき、「w-tpadm+システムID」の値を指定する必要があります。もしその値が使用できない場合は、既存のシステムIDを変更して、新たな「w-tpadm+システムID」を付与してください。
そのままの値を使用できるのであれば (例えば、w-tpadmが8899、システムIDが2で、8901が使用できるなら)、既存のシステムを変更せずに使用できます。変更する場合は、以下の手順で行ってください。
パッチモジュールの適用前にドメインを起動して、統合運用管理ツールから変更を行います。
[ドメイン名] - [TPシステム] - [システム情報]タグ
[システム情報]画面内の「システムID」値を更新します。
運用管理コマンドによる設定も可能です。
# cd <INSTALLDIR> # bin/otxadmin otxadmin> login --user <ユーザ名> --password <パスワード> --host <ホスト名> --port <管理ポート番号> otxadmin> set tpsystem.systemID=<システムID>
WebOTX運用管理ユーザをroot以外に設定した場合、OSの制約上1024番以下のポート番号は使用できません。もし、ポート番号1024番以下で内蔵型Webサーバを使用中のドメインがあれば、そのドメインに対して、1025番以降の現在のシステムで利用可能な番号に変更してください。
下に示したdomain.xmlファイルを編集して、ポート番号を変更してください。
編集する箇所は、<http-service>要素の以下のサブ要素です。idが"http-listener-1"、"http-listener-2"となっているhttpリスナのポートを変更してください。
<http-listener accept-count="10" address="0.0.0.0" buffer-size="2048" connection-timeout="60000" default-virtual-server="server" enable-lookups="false"enabled="true" id="http-listener-1" limit-processors="15" max-processors="20" min-processors="5" port="80" protocol="HTTP/1.1" security-enabled="false" server-name="" xpowered-by="true"> </http-listener> <http-listener accept-count="10" address="0.0.0.0" buffer-size="2048" connection-timeout="60000" default-virtual-server="server" enable-lookups="false"enabled="true"id="http-listener-2" limit-processors="15" max-processors="20" min-processors="5" port="443" protocol="HTTP/1.1" security-enabled="true" server-name="" xpowered-by="true"> </http-listener>
この設定は、パッチモジュールを適用する前にドメインが起動した状態から、以下のように統合運用管理ツールを用いて変更することもできます。
[一般]画面内のポート番号を変更します。
運用管理コマンドによる設定も可能です。
# cd <INSTALLDIR> # bin/otxadmin otxadmin> start-domain <ドメイン名> otxadmin> login --user <ユーザ名> --password <パスワード> --host <ホスト名> --port <管理ポート番号> otxadmin> set server.http-service.http-listener.http-listener-1.port=<ポート番号> otxadmin> set server.http-service.http-listener.http-listener-2.port=<ポート番号> otxadmin> stop-domain <ドメイン名>
WebOTXインストール後にマシンのホスト名を変更するための手順について説明します。
ホスト名の変更のために必要な手順は、インストールしたエディションと使用しているコンポーネントの種類によって違います。以下の表にしたがってください。
| 手順 | Web Edition | Standard-J Edition | Standard Edition | Enterprise Edition |
|---|---|---|---|---|
| ドメインのホスト名変更 | ○ | ○ | ○ | ○ |
| TPシステムの設定変更 | - | ○ | ○ | ○ |
| Webコンテナの仮想サーバ機能の設定変更 | △ | △ | △ | △ |
| JDBCデータソースの設定変更 | △ | △ | △ | △ |
| Object Brokerの設定変更 | △ | △ | △ | △ |
| JMSの設定変更 | △ | △ | △ | △ |
| JNDIクライアントの設定変更 | △ | △ | △ | △ |
| トランザクションの強制終了 | △ | △ | △ | △ |
| ドメインの停止 | ○ | ○ | ○ | ○ |
| namesv.ndfファイルの削除 | ○ | ○ | ○ | ○ |
| domain.xmlの修正 | ○ | ○ | ○ | ○ |
| ドメインの起動 | ○ | ○ | ○ | ○ |
| 凡例 | |
|---|---|
| ○ | 必須の手順 |
| △ | 使用しているなら必要な手順 |
| - | 必要ない手順 |
それぞれ必要な手順を運用管理コマンドで行ってください。ここでは新たに設定するホスト名は<hostname>としています。
ドメインのホスト名に既定値である"localhost"が指定されているならこの手順は不要です。 現在のドメインのホスト名はget domain.hostnameコマンドで確認できます。
otxadmin> set domain.hostname=<hostname>
・接続サーバ名の変更
otxadmin> set tpsystem.serverName=<hostname>
・名前サービスホスト名の変更
otxadmin> set tpsystem.nameSvHostName=<hostname>
・マルチサーバサーバ名の変更
マルチサーバ設定をしている場合は、サーバ名に変更があるものに対して実行してください。
otxadmin> set tpsystem.multiServers.<system group name>.<server set name>.serverName=<hostname>
仮想サーバ機能を使用しているときに必要な作業になります。
otxadmin> set server.http-service.virtual-server.<仮想サーバID>.hosts=<hostname>
・dataSourceNameの接続文字列(JDBC URL)の見直し
dataSourceTypeがJDBCEX_OracleやJDBCの場合は、dataSourceNameで指定している接続文字列中のホスト名を変更してください。otxadmin> set server.resources.jdbc-datasource.hostname.dataSourceName=jdbc:oracle:thin:@<hostname>:1521:orcl
・serverNameのTCPホスト名の見直し
dataSourceTypeがJDBCEX_MSSqlServerやJDBCEX_Sybase、JDBCEX_DB2など、serverNameを指定している場合は、TCPホスト名を変更してください。otxadmin> set server.resources.jdbc-datasource.hostname.serverName=<hostname>そのほか、Oracle OCIドライバを利用している場合は、tnsnames.oraを変更してください。詳細はOracleのマニュアルをご覧ください。
Object Brokerでは、デフォルトでホスト名やIPアドレスが設定される項目はありませんが、次のような目的でホスト名を明示的に指定している場合には設定変更が必要です。
【Object Brokerサービスの名前サーバに関する設定変更】
server.objectbrokerservice.namesv.NameServiceHostName(名前サーバが動作しているホスト名)
otxadmin> set server.objectbrokerservice.namesv.NameServiceHostName=<hostname>
server.objectbrokerservice.namesv.NameServiceExportHostName(名前サーバのIOR中に含まれるホスト情報)
otxadmin> set server.objectbrokerservice.namesv.NameServiceExportHostName=<hostname>
server.objectbrokerconfig.NameServiceHostName(名前サービスが動作しているホスト名)
otxadmin> set server.objectbrokerservice.namesv.NameServiceHostName=<hostname>
【Object Brokerサービスのインタフェースリポジトリに関する設定変更】
server.objectbrokerservice.irsv.InterfaceRepositoryHost(インタフェースリポジトリが動作するホスト名)
otxadmin> set server.objectbrokerservice.irsv.InterfaceRepositoryHost=<hostname>
server.objectbrokerconfig.InterfaceRepositoryHost(インタフェースリポジトリが動作するホスト名)
otxadmin> set server.objectbrokerconfig.InterfaceRepositoryHost=<hostname>
【Object Brokerサービスのキャッシュ名前サーバに関する設定変更】
server.objectbrokerservice.cnamesv.nmsvlist(キャッシュ元となる名前サーバのリスト)
otxadmin> set server.objectbrokerservice.cnamesv.nmsvlist=host1,…,<hostname>,…,hostN
【IIOP通信を行う、Object Brokerサービス、CORBAアプリケーション、JNDIサービスなどに関する共通な設定変更】
server.objectbrokerconfig.ExternalHostName(クライアント端末に公開するサーバのホスト名)
otxadmin> set server.objectbrokerconfig.ExternalHostName=<hostname>
server.objectbrokerconfig.AlternativeHostName(リファレンス生成時に格納するホスト名)
otxadmin> set server.objectbrokerconfig.AlternativeHostName=<hostname>
server.objectbrokerconfig.AlternativeHostNames(自ホストとみなすホスト名の一覧)
otxadmin> set server.objectbrokerconfig.AlternativeHostNames=host1:…:<hostname>:…:hostN
これらの設定で、明示的に指定しているホスト名を変更してください。
その他のホスト名は、server.objectbrokerconfig.ExternalHostNameで一括指定することができます。
この他、Object Broker JavaのプロパティでORBInitialHostもしくはNameServiceHost(またはNameServiceHostName)を指定していれば、その変更も必要です。クライアントとサーバが同一マシンであれば、既定値は自ホスト(localhost)なので、設定不要です。
「WebOTX Object Broker JavaにおけるORB のプロパティ定義」を参照してください。
・JMSサーバのホスト名の変更
otxadmin> set server.jms-service.jms-host.default_JMS_host.host=<hostname>
・JMSリソース(コネクションファクトリ)の接続先ホスト名の変更
otxadmin> set server.resources.jms-resource.jms-connection-factory.<CF name for JNDI>.wojmsBrokerHostName=<hostname>
ドメインごとのconfig.propertiesに記述してある、JDBCのURLに含まれるホスト名を変更してください。
${AS_INSTALL}/domains/${DOMAIN_NAME}/wojms/instances/wojmsbroker/props/config.properties
${AS_INSTALL}/wojms/bin/wojmsobjmgr update -t qf -l <CF name for JNDI> -j wojmsBrokerHostName=<hostname>
クライアントアプリケーションでjava.naming.provider.urlシステムプロパティを用い、JNDIサーバのURLとして ホスト名を指定している場合は変更が必要です。
Cos名前サーバを経由しない場合(デフォルト動作)
-Djava.naming.provider.url=rmiiiop://<hostname>
Cos名前サーバを経由する場合
-Djava.naming.provider.url=corbaname://<hostname>
以下の手順で、完了していないトランザクションを終了させる必要があります。
otxadmin> set server.monitoring-service.module-monitoring-levels.transaction-service=LOW
otxadmin> get --monitor=true server.transaction-service.ActiveIds-Current
上記コマンドを実行すると、残っているトランザクションが表示されます。トランザクションが残っている場合、以下のコマンドでトランザクションをすべて終了させてください。
otxadmin > rollback-transaction <Transaction ID>
otxadmin > commit-transaction <Transaction ID>
otxadmin > forget-transaction <Transaction ID>
otxadmin > delete-transaction <Transaction ID>
otxadmin> set server.monitoring-service.module-monitoring-levels.transaction-service=OFF
ドメインの再起動のために停止を行います。
otxadmin > stop-domain --remote ${DOMAIN_NAME}
以下のパスにあるバイナリファイル内に古いホスト名情報がキャッシュとして残っています。 ドメイン停止状態で削除してください。 このファイルは、ドメイン起動時に存在していなければ再作成されます。
${AS_INSTALL}/domains/${DOMAIN_NAME}/config/ObjectBroker/namesv.ndf
(注意) このファイルの削除を行わないと、名前サーバ(namesv)の起動が失敗します。名前サーバに依存関係のあるJNDIサーバの起動も失敗します。 この削除手順を忘れることが非常に多いので、注意してください。
ドメイン構成ファイル(domain.xml)に次のシステムプロパティが設定されている場合は、ホスト名の部分を新しいホスト名に修正してください。
ドメインの再起動を完了させます。
Windows版 Standard EditionあるいはEnterprise Editionをインストールしたときに [ユーザアカウントの入力] 画面で指定したユーザアカウントは、Windowsサービス「WebOTX TPBASEadm」のログオンアカウントとして設定されます。
TPBASEadmプロセスは、このアカウントの環境変数を引き継ぐことになります。
このアカウント、パスワードを変更する場合は以下のように行ってください。
指定するアカウントはAdministrators権限が必要です。また、 "サービスとしてログオン" の権限を持っている必要があります。
システムを構築、運用するための手順について説明します。
Windows Server 2008ではUAC(User Account Control)によりビルトインアカウントを除くユーザに対し特権の制限がかかります。 WebOTX ASではドメインの運用操作にはOSの管理者特権を必要とするため、特権昇格したコマンドプロンプトからドメインの運用操作を実行する必要があります。
ただし、WebOTX ASで管理者特権のチェックを行わせたくない場合はOSの環境変数に「AS_NO_UAC_CHECK=YES」を設定することでWebOTX ASで行う全てのUACに対する特権チェックを回避することが出来ます。
特権昇格したコマンドプロンプトを起動するにはコマンドプロンプトのショートカットの右クリックメニューから「管理者として実行」を選択して起動する方法などがあります。
WebOTXのドメインを作成および削除する方法について説明します。作成・削除時はWebOTXサービスが起動している必要があります。
Windows Server 2008ではドメインの作成・削除は特権昇格したコマンドプロンプトから実行する必要があります。詳しくは「ドメインの運用操作の前に」を参照してください。
asant create-domainコマンドで生成します。その際、新規ドメインの設定を記述した<ドメイン名>.propertiesファイルが必要になります。asantコマンドは${AS_INSTALL}/binにあります。
新規にdomain2を作成する場合の手順を以下に示します。
bin/asant -buildfile setup.xml -Dfile=<ドメイン名>.properties create-domain※ 管理ドメインの運用ユーザパスワードを変更した場合は、上記コマンドの引数に「-Dadmdomain.admin.password=<管理ドメインの運用ユーザパスワード>」を追加してください。
bin/otxadmin start-domain <ドメイン名>
otxadmin> login --user <管理ユーザ名> --password <管理ユーザパスワード> --port <管理ポート番号>
otxadmin> create-jvm-options -Djava.rmi.server.hostname=<ホスト名>
otxadmin> login --user <管理ユーザ名> --password <管理ユーザパスワード> --port <管理ポート番号>
otxadmin> create-jvm-options -Djava.rmi.server.hostname=<ホスト名、または、IPアドレス>
<ドメイン名>.propertiesファイルで設定する各プロパティについて説明します。
実際に<ドメイン名>.propertiesに記述されるのはプレフィックスを含めた完全プロパティ名です。
たとえばドメイン設定項目のhostnameの完全プロパティ名はdomain.hostnameになります。
| プロパティ名 | 説明 | domain1の既定値 |
|---|---|---|
| ドメイン設定項目(プレフィックス: domain.) | ||
| hostname | ホスト名 ※ホスト名に使える文字については、RFC 1034(DNS)として標準化されている、A-zのアルファベットと"." "-"の組み合わせになります。"_"(アンダースコアが含まれる場合や、数字から始まるホスト名は指定できません。 |
localhost |
| name | ドメイン名 ※必ずドメイン間で重複しないよう一意に設定してください |
domain1 |
| admin.user | 管理ドメインに対して定義されている管理ユーザ | admin |
| admin.password | 管理ユーザのパスワード | adminadmin |
| admin.port | エージェントが利用するJRMPのポート番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
6212 |
| domain.admin.jmxmp.port | エージェントが利用するJMXMPのポート番号 ※下位互換用 必ずドメイン間で重複しないよう一意に設定してください。 |
6712 |
| instance.port | HTTPサーバインスタンスが利用する HTTPの ポート番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
80 |
| https.port | SSLで保護されたHTTPポートの番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
443 |
| http.admin.port | Webコンテナが利用する管理コンソール用HTTPポート番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
5858 |
| http.ajp.port | mod_jk2を使用したHTTPサーバ-Webコンテナ連携ポートの番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
8099 |
| jms.port | JMS管理サーバが利用するポート番号 Web Editionの場合は無効です ※必ずドメイン間で重複しないよう一意に設定してください。 |
9700 |
| ipv6-enable | IPv6優先 ※ドメインのJavaシステムプロパティjava.net.preferIPv6Addressesの値に影響します |
false |
| サーバライフサイクルモジュール設定(プレフィックス: server.internal-lifecycle-module.) | ||
| ObjectBrokerService.enabled | Object Brokerサービス起動フラグ | true |
| JNDIService.enabled | JNDIサービス起動フラグ | true |
| J2EEServer.enabled | J2EEサーバ起動フラグ | true |
| JMSProvider.enabled | JMSサービス起動フラグ Web Editionの場合は無視されます |
true |
| WebContainerService.enabled | Webコンテナサービス起動フラグ | true |
| TransactionService.enabled | Transactionサービス起動フラグ | true |
| WebServerService.enabled | Webサーバ(Apacheベース)サービス起動フラグ | true |
| TPMonitorManagerService. enabled |
TPモニタ・マネージャサービス起動フラグ Web Edition/Standard-J Editionの場合は無視されます。 |
true |
| SecurityService.enabled | セキュリティサービス起動フラグ | true |
| WSMgmtService.enabled | Webサービス管理サービス起動フラグ | true |
| Javaデバッグオプション設定(プレフィックス: server.java-config.) | ||
| debug-options | Javaデバッグオプション | -Xdebug -Xrunjdwp:transport=dt_socket, server=y,suspend=n,address=4004 |
| debug-enabled | デバッグモードフラグ | false |
| WebコンテナとWebサーバ連携設定(プレフィックス: domain.) | ||
| path | ドメインのルートパス | ${INSTALL_ROOT}/domains/ドメイン名 |
| webserver.type | WebServerの種別 インストール時に指定した以下のサーバタイプのいずれかを指定します。
|
|
| webserver.path | WebServerのインストールパス |
|
| webserver.name | WebServer名 | (指定なし) |
| webserver.plugin.querymode | Webアプリケーションのコンテキスト名動的反映 | on |
| Object Broker サービス設定(プレフィックス: server.objectbrokerservice.*) | ||
| oadj.Port | oadjが使用するポート番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
9826 |
| corbaloc.CorbalocDefaultPort | URLでポート番号を指定しなかったときの値 ※必ずドメイン間で重複しないよう一意に設定してください。 |
2809 |
| corbaloc.CorbalocServerPort | corbalocサーバが使用するポート番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
9827 |
| namesv.NameServicePort | 名前サーバが使用するポート番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
2809 |
| namesv. NameServiceRoundRobin |
名前サーバのラウンドロビン拡張機能 | true |
| irsv. InterfaceRepositoryPort | インタフェースリポジトリが使用するポート番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
9830 |
| oad.OadPort | 接続先のoadが使用するポート番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
9825 |
| cnamesv. CacheNameServicePort |
キャッシュ名前サーバが使用するポート番号 ※必ずドメイン間で重複しないよう一意に設定してください。 ※キャッシュ名前サーバはEnterprise Editionでのみインストールされます。 |
9829 |
| Webコンテナサービス設定(プレフィックス: server.web-container.) | ||
| processMultiplicity | Webコンテナ 動作モード
|
|
| TPモニタマネージャサービス設定(プレフィックス: tpsystem.) | ||
| systemNameW | ドメインで動作するTPシステム名
8文字以内の英数字で指定 ※必ずドメイン間で重複しないよう一意に設定してください。 |
MySystem |
| systemID | TPシステムを一意に識別するID 0〜255の間で指定 ※必ずドメイン間で重複しないよう一意に設定してください。 |
0 |
| admListener.portNumber | WebOTX Admリスナが使用するポート番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
5202 |
| IIOPListener. listenerPortNumber |
WebOTX IIOPリスナが使用するポート番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
5151 |
| OLFTPListener. listenerPortNumber |
WebOTX OLFリスナが使用するポート番号 ※必ずドメイン間で重複しないよう一意に設定してください。 |
5251 |
| Transactionサービス設定(プレフィックス: server.transactionservice.*) | ||
| rcs-cpp-port | C++版のRCSが使用するポート番号(Web Edition、およびStandard-J Editionでは使用されません)。 ※必ずドメイン間で重複しないよう一意に設定してください。 |
5965 |
asant delete-domainコマンドで削除します。削除するドメイン名は-Ddomain.name=<ドメイン名>引数で指定して削除します。asantコマンドは${AS_INSTALL}/binにあります。
domain2を削除する場合の手順を以下に示します。
otxadmin> stop-domain domain2
bin/asant -buildfile setup.xml -Ddomain.name=domain2 delete-domain
※ 管理ドメインの運用ユーザパスワードを変更した場合は、上記コマンドの引数に「-Dadmdomain.admin.password=<管理ドメインの運用ユーザパスワード>」を追加してください。
ドメインの状態を確認する方法について説明します。
ドメインの一覧を確認するにはotxadmin list-domainsコマンドを実行してください。そのマシン上で動作するドメインの一覧とそれぞれの状態が表示されます。
注意:このコマンドはローカルマシンからしか実行できません。
otxadmin> list-domains List of domains: domain1 running WebOTXAdmin running
各ドメイン名の表示につづけて以下のいずれかの状態が表示されます。
<ドメイン名> not running (停止中) <ドメイン名> starting (起動処理中) <ドメイン名> running (稼働中)
補足 : WebOTXAdminは管理ドメインです。
ドメインの起動が完了し、サービスの要求を受け付けられる状態になっているか確認する方法について説明します。
以下のメッセージがドメインの起動・停止完了時にイベントログへ通知されます。
OTX01205135: アプリケーションサーバ[domain1:server] の起動に成功しました。 (com.nec.webotx.enterprise.system.core)
以下のメッセージがドメインの起動・停止完了時に各ドメインのログファイル(webotx_agent.log)に出力されます。
9999-99-99 00:00:00,000 SLOGINFO com.nec.webotx.enterprise.system.core - OTX01205135: アプリケーションサーバ [domain1:server] の起動に成功しました。 [main]
otxadminコマンドのgetコマンドを利用しWebOTXの各サービスの状態を確認します。
get コマンドの --exitstatusオプションを利用することでotxadminコマンドの終了コードに状態コードを反映させることができます。状態によってバッチ処理を行いたいような場合に利用することができます。
otxadmin get --exitstatus=true --exiterrornum=-1 server.internal-lifecycle-module.WebContainerService.state if %errorlevel%==1 echo WebContainer running!
状態コードは以下のように対応しています。
| 状態 | 状態表示(コード) |
|---|---|
| 開始処理中(starting) | 0 |
| 実行中(running) | 1 |
| 停止処理中(stopping) | 2 |
| 停止中(stopped) | 3 |
| 起動・停止失敗(failed) | 4 |
| (APG)クライアント接続中(client connecting) | 10 |
| (PG)オペレーション実行中(process executing) | 11 |
| (PG)リカバリ処理中(recovery executing) | 12 |
以下のサービスは状態表示をサポートしています。
| サービス | dottedmane |
|---|---|
| 管理サービス | server.internal-lifecycle-module.AdminService.state |
| アプリケーションサービス | server.internal-lifecycle-module.ApplicationService.state |
| J2EEサーバ | server.internal-lifecycle-module.J2EEServer.state |
| JMSプロバイダ | server.internal-lifecycle-module.JMSProvider.state |
| JNDIサービス | server.internal-lifecycle-module.JNDIService.state |
| ライブサイクルモジュールサービス | server.internal-lifecycle-module.LifecycleModuleService.state |
| ObjectBrokerサービス | server.internal-lifecycle-module.ObjectBrokerService.state |
| 永続マネージャサービス | server.internal-lifecycle-module.PersistenceManagerService.state |
| リモートJMXコネクタサービス | server.internal-lifecycle-module.RemoteJmxConnector.state |
| WSRMサービス(※WSRM利用時のみ) | server.internal-lifecycle-module.RmServiceLifecycle.state |
| セキュリティサービス | server.internal-lifecycle-module.SecurityService.state |
| システムアプリケーションサービス | server.internal-lifecycle-module.SystemApplicationService.state |
| トランザクションサービス | server.internal-lifecycle-module.TransactionService.state |
| Webサービス管理 | server.internal-lifecycle-module.WSMgmtService.state |
| Webコンテナサービス | server.internal-lifecycle-module.WebContainerService.state |
| Webサーバ(※WebOTX Webサーバ利用時のみ) | server.WebServer.state |
WebOTXのドメインを起動および停止する方法について説明します。
Windows Server 2008ではドメインの起動・停止は特権昇格したコマンドプロンプトから実行する必要があります。詳しくは「ドメインの運用操作の前に」を参照してください。
WebOTXサービス起動時にドメインを自動起動させるかどうかの設定について説明します。なおデフォルトでは作成したドメインは自動起動します。
ドメインの自動起動を行わないよう設定するには管理ドメインに対して以下のコマンドを実行します。
※この操作は、対象となるドメイン(ここではdomain1)が停止している状態で行ってください。
# otxadmin otxadmin> login --user admin -password **** --port 6202 otxadmin> invoke domain.disable domain1 otxadmin> exit
再度、自動起動を有効にするには管理ドメインに対して以下のコマンドを実行します。
※この操作は、対象となるドメイン(ここではdomain1)が停止している状態で行ってください。
# otxadmin otxadmin> login --user admin -password **** --port 6202 otxadmin> invoke domain.enable domain1 otxadmin> exit
管理ドメインはWebOTXサービスと連動して起動、停止を行います。管理ドメインを起動・停止するにはWebOTXサービスを起動・停止させてください。なおサービスを停止すると全てのドメインは停止されます。
特定のドメインを起動・停止させるには次のコマンドを実行してください。なおこのコマンドはローカルマシン上でのみ実行可能です。なおコマンドの実行は必ずWebOTX運用ユーザで行なってください。
# otxadmin start-domain <domainname>
# otxadmin stop-domain <domainname>
本節は Windows OS で運用している場合限定の内容であり、UNIX OS で運用している場合は対象外です。
start-domain、stop-domainコマンドによるドメイン運用はあくまで開発・評価時に対象となるドメインの起動・停止操作を速やかに行えることを第一の目的として提供しているコマンドです。
サービスからの運用方法との違いはプロセスを起動するユーザの違いに現れます。サービスから運用した場合、WebOTXの各種プロセスはシステムユーザとして起動されます。対して、運用管理コマンドから起動した場合は、運用ユーザのプロセスとして起動します。そのため、起動ユーザの環境設定に依存してしまい、運用時の思わぬトラブルの原因となってしまう場合があります。
そのため、本番環境での運用時にstart-domain、stop-domain コマンドによるドメイン制御は行わないようご注意ください(本番時はWebOTXサービスとして各ドメインの起動・停止処理を行う運用となります)。
なお、ユーザドメインに対して次のコマンドを実行することで、管理ドメインと同一のユーザプロセスとして起動することが可能です。既に管理ドメインをサービスとして起動していて、システムユーザとしてユーザドメインを運用したい場合にご利用ください。
otxadmin> login --user admin --password xxxx --port 6202 otxadmin> invoke domain.startDomain <domainname>
併せて、ドメイン停止時は管理ドメインに対して次のコマンドを実行してください。
otxadmin> login --user admin --password xxxx --port 6202 otxadmin> invoke domain.stopDomain <domainname>
WebOTX運用ユーザの設定は、otxadmin create-file-userおよび、otxadmin delete-file-userコマンドを用いて行います。
以下に、サーバhost1にあるdomain1(ポート番号6212)に対して、ユーザ名admin1、 パスワードadminadmin1の運用ユーザを作成する例を示します。
otxadmin> create-file-user --userpassword adminadmin1 --groups otxadmin --authrealmname admin-realm admin1
運用ユーザの削除は、delete-file-userコマンドで行います。コマンドを実行する際のオプションとして--authrealmnameでadmin-realmを指定してください。
otxadmin> delete-file-user --authrealmname admin-realm admin1
ドメイン上で動作している各サービスを起動、停止する方法について説明します。
サービスを起動・停止するotxadminコマンドは、以下の表の通りです。
| サービス名 | 起動コマンド | 停止コマンド |
|---|---|---|
| JMSサービス | invoke server.jms-service.start または、 start-jms |
invoke server.jms-service.stop または、 stop-jms |
| JNDIサービス | invoke server.jndi-service.start | invoke server.jndi-service.stop |
| Object Brokerサービス | invoke server.objectbrokerservice.start | invoke server.objectbrokerservice.stop |
| Transactionサービス | invoke server.transactionservice.start または、 start-transaction-service |
invoke server.transactionservice.stop または、 stop-transaction-service |
| Webコンテナ | invoke server.internal-lifecycle-module.WebContainerService.start | invoke server.internal-lifecycle-module.WebContainerService.stop |
| Webサーバ* | invoke server.WebServer.start | invoke server.WebServer.stop |
| TPモニタ | start-system | stop-system |
*: WebOTX Webサーバインストール時のみ
ドメインの起動時にサービスを自動起動させるかどうかの設定方法について説明します。
現在の設定を確認するには次のコマンドを実行します。
otxadmin> get server.internal-lifecycle-module.<サービス名>.enabled
trueの場合は自動起動をする、falseの場合は自動を起動しない設定です。
<サービス名>は以下の表に従ってください。
| サービス名 | 説明 |
|---|---|
| JMSProvider | JMSサービス |
| JNDIService | JNDIサービス |
| ObjectBrokerService | Object Brokerサービス |
| TransactionService | Transactionサービス |
| WebContainerService | Webコンテナ |
| WebServerService | HTTPサーバ(ApacheベースWebOTX Webサーバ) |
| TPMonitorManagerService | TPモニタ・マネージャサービス |
otxadmin> get server.internal-lifecycle-module.ObjectBrokerService.enabled server.internal-lifecycle-module.ObjectBrokerService.enabled = true
自動起動の設定を変更するには次のコマンドを実行します。
otxadmin> set server.internal-lifecycle-module.<サービス名>.enabled={ true | false }
<サービス名>は上記表を参照してください。trueの場合は自動起動設定、falseの場合は自動起動しないに変更します。
注意:表になりサービスの自動起動設定は変更しないでください。正常にドメインが起動しなくなります。
otxadmin> set server.internal-lifecycle-module.ObjectBrokerService.enabled=false
WebOTXはセキュリティポリシーによりアクセス権が明示的に設定されています。
WebOTXの各サービスが動作するために必要なセキュリティポリシーはデフォルトで以下のファイルに記述されています。
${INSTANCE_ROOT}/config/server.policy
アプレット (またはセキュリティマネージャの下で動作しているアプリケーション) が、ファイルの読み書きなど、セキュリティ保護された操作を行うためには、その操作を行うためにアクセス権を付与する必要があります。必要に応じてserver.policyファイルに必要な権限を設定するようにしてください。
WebOTXでは、各サービスの基本的動作に必要な権限に加え、統合運用管理ツールなどリモートからの運用操作に必要なアクセス権限をデフォルトで定義しています。リモート接続時に必要な権限は、プリンシパル javax.management.remote.JMXPrincipal "otxadmin"によって定義されています。
セキュリティポリシー、ポリシーファイルの記述に関する詳細は、Java SDK の 「セキュリティ」 に関する情報を参照してください。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/security/
ドメイン停止状態でポリシーファイルを編集することによって、ポリシーを追加することが可能です。
// Grant everyone the following permission:
grant {
permission java.io.FilePermission "/tmp/*", "read,write";
};
この例では、/tmpディレクトリのすべてのファイルに対する、読み込みと書き込み権を全てのJavaクラスに与えます。
WebOTX AS で既定としているJava VM オプションの変更方法とユーザ定義の独自のJava VM オプションの追加方法について説明します。
JDBCドライバや独自のライブラリをクラスパスに追加する方法について説明します。
運用管理コマンド(otxadmin)を利用することにより任意の場所にあるライブラリをクラスパスに追加できます。追加はCLASSPATHの最後に行われます。よってWebOTXのシステムライブラリが先に検索されます。
注意:setコマンドで指定するパスは追加ではありません。全て上書きします。
以下のコマンドを実行します。
確認otxadmin> get server.java-config.classpath-suffix設定
otxadmin> set server.java-config.classpath-suffix=<クラスパス>
例: クラスパスにD:\mylib.jarを追加
otxadmin> set server.java-config.classpath-suffix=D:\\mylib.jar
ライブラリを${INSTANCE_ROOT}/lib/extディレクトリに配置することにより自動的にそのライブラリをクラスパスに追加することができます。ここにjar, zipファイルをコピーするとWebOTXのシステムライブラリより上位のクラスローダによってロードされます。このため、例えばJava EEのAPIクラスなど、WebOTXのシステムライブラリに含まれるクラスを含むライブラリをここに配置すると、クラスロードの依存関係が変わり、ドメインが起動できなくなる可能性がありますので注意してください。
ライブラリを${INSTANCE_ROOT}/libディレクトリにコピーすることにより自動的にそのライブラリをクラスパスに追加することができます。ここにjar, zipファイルをコピーするとWebOTXのシステムライブラリより後で検索されます。
ライブラリを共有コンポーネントとして作成し、ドメインに配備することでCORBA JavaアプリケーションまたはEJBアプリケーションからそのライブラリを参照することができます。この場合配備したアプリケーションの設定で参照する共有コンポーネントを指定する必要があります。
CORBA JavaアプリケーションまたはEJBアプリケーションのプロセスグループの環境変数CLASSPATHを指定するとそのプロセスグループのクラスパスを指定することができます。
各コンテナでロードされるライブラリと検索の優先順位EJBコンテナはStandard-J EditionとStandard/Enterprise Editionでは、実行されるJava VMのプロセスが異なります。Standard-J Editionの場合は、エージェント同じJava VM上で動作しますが、Standard/Enterprise Editionの場合は、エージェントとは別のプロセスグループのJava VM上で動作します。
Edition別のコンテナがロードするライブラリと、検索の優先順位を以下に示します。優先度の高いもの順から記述しています。“○” はロードされることを示し、”×”はロードされないことを示します。
| 設定方法 | Webコンテナ | EJBコンテナ(Standard-J) | EJBコンテナ(Standard/Enterprise) |
|---|---|---|---|
| ${INSTANCE_ROOT}/lib/extへの配置 | ○ | ○ | ○ |
| WebOTXシステムライブラリ | ○ | ○ | ○ |
| classpath-suffix | ○ | ○ | × |
| プロセスグループの環境変数CLASSPATHへの追加 | × | × | ○ |
| ${INSTANCE_ROOT}/lib | ○ | ○ | ○ |
| 共有コンポーネントとして配備 | × | × | ○ |
Java VM のメモリサイズに関する設定項目として以下のものがあります。
| オプション名 | オプションの役割 | 属性 |
|---|---|---|
| -Xms | 初期Javaヒープサイズ | server.java-config.heap-size |
| -Xmx | 最大Javaヒープサイズ | server.java-config.max-heap-size |
| -XX:PermSize | 初期Javaパーマネントサイズ | server.java-config.perm-size |
| -XX:MaxPermSize | 最大Javaパーマネントサイズ | server.java-config.max-perm-size |
運用管理コマンド(otxadmin)を利用することによりJava VM のヒープサイズを設定することができます。
以下のコマンドを実行します。
確認otxadmin> get server.java-config.classpath-suffix設定
otxadmin> set server.java-config.classpath-suffix=<クラスパス>
例: クラスパスにD:\mylib.jarを追加
otxadmin> set server.java-config.classpath-suffix=D:\\mylib.jar
GCログに関する設定項目として以下のものがあります。
| オプション名 | オプションの役割 | 属性 |
|---|---|---|
| -verbose:gc | GCログ採取(標準出力) | server.java-config.verbose-gc-enabled |
| -Xloggc | GCログ採取(指定ファイルへの出力) | server.java-config.heap-size |
設定方法は「Java VM のヒープサイズの設定方法」と同様です。
ネイティブライブラリパスに関する設定項目として以下のものがあります。
| オプション名 | オプションの役割 | 属性 |
|---|---|---|
| -java.library.path | ネイティブライブラリパス | server.java-config.native-library-path-prefix |
| server.java-config.native-library-path-suffix |
ネイティブライブラリパスであるjava.library.pathシステムプロパティへのパスの追加には「Java VM のヒープサイズの設定方法」と同様の手順で行うことができます。
但し、ネイティブライブラリパスへの追加はパスの順序の違いにより以下の2通りがあります。
java.library.pathの先頭に追加
java.library.pathの末尾に追加
デバッグオプションに関する設定項目として以下のものがあります。
| オプション名 | オプションの役割 | 属性 |
|---|---|---|
| -Xdebug | デバッグ有効オプション | server.java-config.debug-enabled |
| -Xrunjdwp | jdwpロードオプション | server.java-config.debug-options |
設定方法は「Java VM のヒープサイズの設定方法」と同様です。
ドメイン起動のJava VMに独自のオプションを設定する方法について説明します。
運用管理コマンド(otxadmin)を利用することにより、任意の場所にあるライブラリをクラスパスに追加したり、Java VMの動作を調整するためのオプションを指定したりすることができます。なお運用管理コマンド「create-jvm-options」、「delete-jvm-options」については「運用管理コマンドリファレンスマニュアル」を参照してください。
注意:VMオプション削除時はプロパティ名だけでなく現在設定されているプロパティの値も指定してください。また、現在設定していいるプロパティを変更するにはいったん削除して作成しなおしてください。
以下のコマンドを実行します。
otxadmin> get server.java-config.jvm-options
otxadmin> create-jvm-options <オプション名>=<値>
otxadmin> delete-jvm-options <オプション名>
otxadmin> create-jvm-options -Dmy-debug-option=true
なお、「<オプション名>=<値>」の形式にならないオプションを設定、削除する場合は明示的にオプションの終了を示す':'(コロン)を最後に付け加えてください。
例) オプション -Xss(スレッドのネイティブスタックサイズ) の値を1024kとして追加
otxadmin> create-jvm-options -Xss1024k:
オペランドの前に'--'を記述することでも実行可能です。
otxadmin> create-jvm-options -- -Xss1024k
また、予めシステム側で設定しているオプションを参照したり、それらの値に変更を加える場合には、次のように指定してください。
otxadmin> get server.java-config.system-jvm-options
otxadmin> create-jvm-options --system <オプション名>=<値>
otxadmin> delete-jvm-options --system <オプション名>
otxadmin> delete-jvm-options --system -Djava.ext.dirs=<現在のプロパティ値>
otxadmin> create-jvm-options --system -Djava.ext.dirs=<新規のプロパティ値>
注意:これらのオプション変更は慎重に行って下さい。誤ってオプションを削除したり、不正なオプションを指定すると、ドメインが起動しなくなる恐れがあります。
統計情報の採取および取得方法について説明します。なお詳細は「WebOTX運用編(モニタリング)」を参考にしてください。
まず統計方法の出力レベルを設定します。otxadminのsetコマンドを利用してレベルを設定します。なおモジュールにより設定できる出力レベルが異なります。
otxadmin> set server.monitoring-service.module-monitoring-levels.<モジュール名>=<レベル>
| モジュール | 説明 | 設定できる値 | 既定値 |
|---|---|---|---|
| connector-connection-pool | コネクションプールに関する統計情報 | OFF, ON | OFF |
| connector-service | コネクタサービスに関する統計情報 | OFF, ON | OFF |
| ejb-container | EJBコンテナに関する統計情報 | OFF, LOW, HIGH | OFF |
| http-service | WebコンテナのHTTPサービスに関する統計情報 | OFF, ON | OFF |
| jdbc-datasource | JDBCデータソースに関する統計情報 | OFF, ON | OFF |
| jms-service | JMSサービスに関する統計情報 | OFF, ON | OFF |
| jvm | JavaVMに関する統計情報 | OFF, LOW, HIGH | OFF |
| thread-pool | スレッドプールに関する統計情報 | OFF, ON | OFF |
| transaction-service | トランザクションサービスに関する統計情報 | OFF, LOW, HIGH | OFF |
| web-container | Webコンテナに関する統計情報 Webアプリケーションの統計情報を採取するには、運用管理コンソールの「統計情報」-「Web Applicationの統計情報」画面で統計情報の収集を開始(収集開始ボタンを押下)しておく必要があります。 |
OFF, ON | OFF |
otxadmin> set server.monitoring-service.module-monitoring-levels.jvm=HIGH
現在の統計情報の出力レベルを確認するにはotxadminのgetコマンドを利用します。
otxadmin> get server.monitoring-service.module-monitoring-levels.* server.monitoring-service.module-monitoring-levels.connector-connection-pool = OFF server.monitoring-service.module-monitoring-levels.connector-service = OFF server.monitoring-service.module-monitoring-levels.ejb-container = OFF server.monitoring-service.module-monitoring-levels.http-service = OFF server.monitoring-service.module-monitoring-levels.jdbc-datasource = OFF server.monitoring-service.module-monitoring-levels.jms-service = OFF server.monitoring-service.module-monitoring-levels.jvm = HIGH server.monitoring-service.module-monitoring-levels.thread-pool = OFF server.monitoring-service.module-monitoring-levels.transaction-service = OFF server.monitoring-service.module-monitoring-levels.web-container = OFF
統計情報の出力レベルをON,LOW,HIGHに設定すると、統計情報採取用のWebOTX統計MBeanが登録されますので、その属性をotxadminコマンドで取得することができます。
otxadmin> get --monitor=true server.jvm.* server.jvm.HeapFreeSize-Current = 34199456 server.jvm.HeapFreeSize-HighWaterMark = 34199456 server.jvm.HeapFreeSize-LowWaterMark = 0 server.jvm.HeapFreeSize-LowerBound = 0 server.jvm.HeapFreeSize-UpperBound = 518979584 server.jvm.HeapSize-Current = 73805824 server.jvm.HeapSize-HighWaterMark = 73805824 server.jvm.HeapSize-LowWaterMark = 0 server.jvm.HeapSize-LowerBound = 0 server.jvm.HeapSize-UpperBound = 518979584 server.jvm.HeapUsedRate-Current = 53 server.jvm.HeapUsedRate-HighWaterMark = 60 server.jvm.HeapUsedRate-LowWaterMark = 0 server.jvm.HeapUsedRate-LowerBound = 0 server.jvm.HeapUsedRate-UpperBound = 100 server.jvm.HeapUsedSize-Current = 39716224 server.jvm.HeapUsedSize-HighWaterMark = 39802144 server.jvm.HeapUsedSize-LowWaterMark = 0 server.jvm.HeapUsedSize-LowerBound = 0 server.jvm.HeapUsedSize-UpperBound = 518979584 server.jvm.UpTime-Count = 2507712
また、レベル設定後、otxadmin コマンド上でこれらの統計情報を定期的に取得するための monitor コマンドを用意しています。一定期間情報を取り続け、そのデータから分析を行う場合に有効です。
Transactionサービス(JTA)に関する統計情報の採取および取得方法について説明します。
次の手順で実施します。

次のコマンドで取得します。ただし統合運用管理ツールの場合同様に、モニタリングレベルがOFFに設定されている場合失敗します。
otxadmin> get --monitor=true server.transaction-service.* server.transaction-service.ActiveCount-Count = 0 server.transaction-service.ActiveIds-Current = No Transactions exists. server.transaction-service.ApplicationRolledbackCount-Count = 1 server.transaction-service.AverageTAT-Count = 26975 server.transaction-service.Committed2PCCount-Count = 2 server.transaction-service.CommittedCount-Count = 5 server.transaction-service.CompletedCount-Count = 7 server.transaction-service.DeletedCount-Count = 0 server.transaction-service.ForgottenCount-Count = 0 server.transaction-service.HeuristicCount-Count = 0 server.transaction-service.ResourceRolledbackCount-Count = 1 server.transaction-service.RolledbackCount-Count = 2 server.transaction-service.SystemRolledbackCount-Count = 0 server.transaction-service.TimedOutCount-Count = 0 server.transaction-service.TransferedCount-Count = 1
モニタリングレベルをLOW、あるいはHIGHに設定した場合には、統合運用管理ツール、およびotxadminコマンドを使用して実行中のトランザクション情報も取得することができます。また表示したトランザクションに対する操作も可能です。
なお、モニタリングレベルがOFFの場合はotxadminコマンドでは表示されません。
次にotxadminコマンドを使用したトランザクション一覧の取得、および操作について説明します。
otxadminコマンドを使用する場合、属性名を次のように指定します。
otxadmin> get --monitor=true server.transaction-service.ActiveIds-Current
これにより実行中トランザクションの一覧が確認できます。実行中のものが存在しない場合、
server.transaction-service.ActiveIds-Current = No Transaction Exists.
と表示されます。存在する場合は
server.transaction-service.ActiveIds-Current = Transaction ID Status A/R Start Time ----------------+--------------------+-------+------------------- 0277689751350000 StatusCommitting Active 2008/6/8 14:39:53 0384489751290000 StatusCommitting Active 2008/6/8 14:39:54 0255289751170000 StatusPrepared Active 2008/6/8 14:39:57 0277689749150001 StatusUnknown Recover 2008/6/8 14:40:49 0384489749070001 StatusUnknown Active 2008/6/8 14:40:51
のように表示されます。統合運用管理ツールでは前述の方法で実施すると右側ペインに上記のように表示されます。
次にそれぞれの項目について説明します。詳細については「コンフィグレーション」をご参照ください。
| 項目 | 説明 |
|---|---|
| TransactionID | トランザクション識別子です。これを利用してトランザクションの操作を実施します。 |
| Status | トランザクションの状態です。 |
| A/R | RCSにトランザクションが移管されているかどうかを表します。 「Active」の場合は移管されておらず、「Recover」の場合は移管されていることを示します。 |
| Start Time | トランザクションが開始された日時です。 |
トランザクションの操作は次のように実施します。

otxadmin> login
otxadmin> commit-transaction 0277689751350000
otxadmin> rollback-transaction 0277689751350000
otxadmin> forget-transaction 0277689751350000
otxadmin> delete-transaction 0277689751350000
トランザクションの操作については、Transactionサービス(統合運用管理ツールの「<ドメイン名>」-「アプリケーションサーバ」-「Transactionサービス」ツリー)からも実施可能です。詳細については「Transactionサービスの運用操作」をご参照ください。
コード変換について説明します。
CORBA通信でのコード変換について説明します。
C++アプリケーションとJavaアプリケーション間のCORBA通信で、日本語データを送受信する場合には、文字化けが発生しないように、適切なコードセットの設定を行う必要があります。C++アプリケーションとJavaアプリケーション間ではそのコードセットの設定情報を交換して、どのようにコード変換を行うかを決定しています。個々の文字列の内容をチェックしている訳ではありません。そのため、実際にC++アプリケーションがどのような文字列を送受信するかによって、正しいNativeコードセットの設定を行っておく必要があります。例えば、C++アプリケーションでSJISの文字列をデータベースやファイルから読み込んで送受信するのであれば、NativeコードセットもSJISに設定する必要があります。
詳細については、次を参照してください。
Object Broker C++では、運用編「コンフィグレーション」の「WebOTX Object Broker C++における環境設定」 の「コードセットに関するオプション設定」を参照してください
を参照してください。
Object Broker Javaでは、
WebOTX アプリケーション開発ガイド- 第4部 7.2.Object Broker - Object Broker Java の機能 - 文字コードセットを参照してください。
Webアプリケーションでは、リクエストやレスポンスの文字エンコーディングをさまざまなところで指定することができます。以下に、場所に応じた文字エンコーディングの指定方法を説明します。
Webブラウザから POSTメソッドで送付されるリクエストパラメータは、javax.servlet.ServletRequest.getParameter() を使って取得しますが、このパラメータを取得する際の文字エンコーディングは次のメソッドで指定します。
javax.servlet.ServletRequest.setCharacterEncoding()
このメソッドは、getParameter() の前に呼び出す必要があります。
Servlet からクライアントに出力するレスポンスの文字エンコーディングは次のメソッドで指定します。
javax.servlet.ServletResponse.setContentType()
引数として、"text/html; charset=Shift_JIS" のように指定します。このメソッドは、PrintWriterを取得する前に呼び出す必要があります。
Servlet の場合と同様です。
JSP からクライアントに出力するレスポンスの文字エンコーディングは次のように pageディレクティブで指定します。
<%@ page contentType="text/html; charset=Shift_JIS" %>
また、JSPファイル自体がどの文字エンコーディングで保存されているかを指定する要素として次のものがあります。
<%@ page pageEncoding="Shift_JIS" %>
もし、上記の指定をしていない場合、デフォルトの "ISO-8859-1" となりますが、このデフォルト値を変更する事も可能です。
変更するには、次のように otxadmin コマンドを使って default-encoding プロパティで指定します。ドメインを起動したあと、次のようにコマンドを実行してください。
otxadmin> set server.web-container.property.default-encoding=Shift_JIS
また、JSP を事前コンパイルする場合のデフォルト文字エンコーディングは nec-web.xml で次のように指定します。
<jsp-config>
<property name="precompileDefaultEncoding" value="Shift_JIS"/>
</jsp-config>
なお、デフォルト文字エンコーディングの指定は JSP をコンパイルする時に決定します。事前コンパイルした場合は nec-web.xml の指定が、そうでない場合は default-encoding プロパティ指定が有効になります。事前コンパイルでない場合、指定を変更するには Webアプリケーションを再配備し、JSP を再コンパイルする必要があります。
ドメイン内で起動するJavaプロセス(JVM)を監視・管理する方法について説明します。
方法は幾つかあり、それぞれ対象となるJavaプロセスやその表示形式が異なりますので、目的に応じて使い分けて下さい。
WebOTXが提供する各種運用管理ツールを使用してJavaプロセスの監視・管理を行います。この方法では、次のJavaプロセスが監視・管理の対象となります。
ドメインに接続後、「<ドメイン名>」-「統計情報」-「domain」-「アプリケーションサーバ」-「JVM」を選択すると、画面右側に監視情報が表示されます。

ドメインにログイン後、JVMの統計情報に対するコマンド表記名(server.jvm)を使用して、次のコマンドを実行します。
otxadmin> get --monitor=true server.jvm.*
デフォルトの状態では、ヒープの消費状況や実行時間についての情報を参照することができます。
より詳細な情報を参照するためには、JVMに対するモニタリングレベルを変更します。モニタリングレベルに応じて、次のような情報を参照することができます。
| 監視対象 | 説明 | モニタリングレベル | 統合運用管理ツール「<ドメイン名>」-「統計情報」-「domain」-「アプリケーションサーバ」-「JVM」を基準 |
運用管理コマンドコマンド表記名(CLIName) |
|---|---|---|---|---|
| クラスローディングシステム | JVM内で使用されるクラスのロードに関する情報を監視します。 | LOW,HIGH | 「JVM」配下 | server.jvm.class-loading-system |
| コンパイルシステム | JVM内で実行されるコンパイル処理に関する情報を監視します。 | LOW,HIGH | 「JVM」配下 | server.jvm.compilation-system |
| ガベージコレクタ | JVM内で実行されるGC処理に関する情報を監視します。 | LOW,HIGH | 「JVM」-「メモリシステム」-「<ガベージコレクタ名>」配下 | server.jvm.garbage-collectors.<ガベージコレクタ名> |
| メモリシステム | JVM内でのメモリの消費状況や、メモリプールに関する情報を監視します。 | 概要:LOW,HIGH プール単位:HIGH |
概要:「JVM」配下 プール単位:「JVM」-「メモリシステム」-「<メモリプール名>」 |
概要:server.jvm.memory スレッド単位:server.jvm.memory.<メモリプール名> |
| オペレーティングシステム | JVMが動作するOSに関する情報を監視します。 | LOW,HIGH | 「JVM」配下 | server.jvm.operating-system |
| 実行時システム | JVMの実行に関する情報を監視します。 | LOW,HIGH | 「JVM」配下 | server.jvm.runtime |
| スレッドシステム | JVM内で生成されるスレッドに関する情報を監視します。 | 概要:LOW,HIGH スレッド単位:HIGH |
概要:「JVM」配下 スレッド単位:「JVM」-「スレッドシステム」-「<スレッド名>」 |
概要:server.jvm.thread-system スレッド単位:server.jvm.thread-system.<スレッド名> |
なお、各監視対象で参照可能な監視項目の詳細については、運用編(モニタリング)を参照してください。
「<ドメイン名>」-「アプリケーションサーバ」-「モニタリングサービス」-「モジュールモニタリングレベル」を選択し、画面右側に表示される設定項目「JVM」の値を LOW もしくは HIGH に変更し、「更新」ボタンを押します。

次のコマンドを実行します。
otxadmin> set server.monitoring-service.module-monitoring-levels.jvm=LOW
otxadmin> set server.monitoring-service.module-monitoring-levels.jvm=HIGH
※監視を終了する場合は、モニタリングレベルを OFF に戻して設定を更新してください。
また、統合運用管理ツールでは、定期的な情報採取によりこれまでに取り上げた監視項目をグラフ化表示したり、監視項目が一定条件を満たした際にその旨を通知画面に出力したりすることができます。一方で、運用管理コマンドではJVMヒープ情報に関して、定期的な情報採取により監視項目をプロンプト画面に出力することができます。詳しくは、運用管理ツール「統計情報」を参照してください。
JDK 5.0およびJDK6.0に付属のJMX(Java Management Extensions)仕様に準拠した監視ツールjconsoleを利用して、Javaプロセスの監視・管理を行います。
この方法では、次のJavaプロセスが監視・管理の対象となります。
また、jconsoleに関する詳しい説明は、使用するバージョンに応じてSunの公式サイトを参考にして下さい。
但し、jconsoleをWebOTXと同じマシン(ローカル)で動作させるか、異なるマシン(リモート)で動作させるかによってパラメータ指定画面が異なります。以下に接続例を示します。
JDK5.0付属jconsole画面
JDK6付属jconsole画面
「ローカル」タブ(JDK5.0版)/「ローカルプロセス」(JDK6版)をクリックし、接続候補リストの中から「クラスと引数」(JDK5.0版)/「名前」(JDK6版)列に“com.nec.webotx.enterprise.server.WOLaunch start”(JMXエージェントへの接続)が表示されている行を選択し、「接続」ボタンを押します。
※上記以外のJavaプロセスを監視する場合には、「3.3 動作プロセスについて」で記載されている引数情報を参考に対象のプロセスを選択してください。
JDK5.0付属jconsole画面
JDK6付属jconsole画面
「リモート」タブ(JDK5.0版)/「リモートプロセス」(JDK6版)をクリックし、「ホストまたはIP」列に接続先のホスト名またはIPアドレスを、「ポート」にはドメインの管理ポート番号を入力します(JDK5.0版)。あるいは、入力フィールドに<ホスト名>:<ポート>の形式で入力します(JDK6版)。「ユーザ名」と「パスワード」には、ドメインに対して設定されている運用ユーザ名とパスワードを入力します。
パラメータ指定後、「接続」ボタンを押します。
接続に成功すると、以下のような画面が表示されます。
JDK5.0付属jconsole画面
JDK6付属jconsole画面
初期表示画面では「概要」タブが選択されており、監視対象のJVMに関するパフォーマンス情報とリソース消費情報、およびOSに関するリソース情報が表示されます。
この他の画面では、カテゴリ毎に情報が細分化され、それらの監視項目がグラフィカルに表示されます。以下に、各表示項目について簡潔に説明します。

(※)WebOTXでは、高機能化の実現にあたり、独自にJMX仕様を拡張させたMBeanを使用しています。そのため、そのMBeanを示すツリーノードは画面左側に表示されますが、ノードをクリックした場合、jconsoleでは対応しきれず以下のエラーメッセージが表示されます。

これらのMBeanは通常システム内部でのみ使用するため、ユーザが参照する必要はありません。これらのMBeanは、システム内部および「統合運用管理ツール」や「運用管理コマンド」などから参照されます。
運用管理コマンドを使用して、Javaプロセスに対する様々な監視項目をレポート形式で出力します。
この方法では、次のJavaプロセスが監視・管理の対象となります。
指定したドメインにログイン後、以下に示すコマンドを入力することで、ドメイン内のJavaプロセスに対して対象となる監視項目を画面に表示することができます。
otxadmin> generate-jvm-report --type <統計情報のタイプ名> <サーバ名>
<統計情報のタイプ名>には、summary、memory、class、thread のいずれかを指定します。<サーバ名>には、情報取得の対象となるサーバ(Javaプロセス)の名前を指定します。サーバ名は次のようになります。
なお、--type オプションが省略された場合は<統計情報のタイプ名>に "summary" が、<サーバ名>が省略された場合は "server" がデフォルトとして指定されます。
otxadmin> generate-jvm-report --type summary <サーバ名>
otxadmin> generate-jvm-report --type summary server
**** Java Virtual Machine [Application Server Instance Name: server] Summary ****
Operating System Information:
Name of the Operating System: Windows 2003
Binary Architecture name of the Operating System: x86, Version: 5.2
:
General Java Runtime Environment Information for the VM: 3780@HOSTNAME
[JRE BootClassPath]
D:\WebOTX/lib/endorsed\activation.jar
D:\WebOTX/lib/endorsed\resolver.jar
D:\WebOTX/lib/endorsed\serializer.jar
:
[JRE ClassPath]
D:\WebOTX\lib\wosv-launch.jar
D:\WebOTX\lib\javaee.jar
D:\Program Files\Java\jdk1.5.0_15/lib/tools.jar
:
[JRE Native Library Path]
D:\WebOTX\lib
D:\WebOTX\share\bin
D:\WebOTX\TS\bin
:
JRE name: Java HotSpot(TM) Server VM Vendor: Sun Microsystems Inc. Version: 1.5.0_15-b04
List of System Properties for the Java Virtual Machine:
awt.toolkit = sun.awt.windows.WToolkit
catalina.base = D:\WebOTX\domains\domain1
catalina.home = D:\WebOTX\domains\domain1
:
コマンドを実行したタイミングでの、JVMが動作するOS情報を始め、設定されているクラスパス(ブートクラスパス、システムクラスパス)やネイティブライブラリパスおよび、システムプロパティなどが一覧形式で表示されます。
otxadmin> generate-jvm-report --type memory <サーバ名>
otxadmin> generate-jvm-report --type memory server
**** Memory (Perm Gen, Eden Space etc.) Information for Java Virtual Machine [Application Server Instance Name: server] ****
[Memory Information]
Heap Memory Usage: 53,695 K / 96,832 K total(committed), 55 % used [ 0 K init, 466,048 K max]
Non-heap Memory Usage: 53,184 K / 65,376 K total(committed), 81 % used [ 18,688 K init, 245,760 K max]
Approximate number of objects for which finalization is pending: 0
[Memory Pool Information]
The uptime of Java Virtual Machine: 4 Hours 48 Minutes 45 Seconds
PS Eden Space 14,165 K / 38,400 K total(committed), 36 % used [ 3,072 K init, 158,848 K max]
PS Perm Gen 45,804 K / 57,984 K total(committed), 78 % used [ 16,384 K init, 196,608 K max]
PS Survivor Space 2,000 K / 6,912 K total(committed), 28 % used [ 512 K init, 6,912 K max]
:
PS Eden Space
+------------------------------------------------------------+
|///// | | 36 % used
+------------------------------------------------------------+
|| init (3,072 K)
|----| used (14,165 K)
|-------------| committed (38,400 K)
|------------------------------------------------------------| max (158,848 K)
PS Perm Gen
+------------------------------------------------------------+
|///////////// | | 78 % used
+------------------------------------------------------------+
|----| init (16,384 K)
|------------| used (45,804 K)
|----------------| committed (57,984 K)
|------------------------------------------------------------| max (196,608 K)
:
[Garbage Collector Information]
Name of the Garbage Collector: PS MarkSweep
Number of collections occured using this garbage collector: 10 Times
Garbage Collection Time: 2 Seconds 840 Milliseconds
:
コマンドを実行したタイミングでの、ヒープ、非ヒープ領域のメモリ使用状況を始め、各メモリプール毎に細分化したメモリ情報のスナップショット、およびそれらの視覚的な表示、ならびにGC動作情報などが一覧形式で表示されます。
JVMベンダーや指定されたJVMオプションによって多少メモリプール情報の内容が異なりますが、大抵の場合、次のような内容となります。
また、それぞれの値に示された項目は次のような内容となります。
なお、JVM側の挙動により、まれにスナップショットされた値に不整合が生じる影響で、視覚的な表示が正しく表示されない場合があります。ご了承ください。
otxadmin> generate-jvm-report --type class <サーバ名>
otxadmin> generate-jvm-report --type class server
**** Class Statistics for Java Virtual Machine [Application Server Instance Name: server] ****
Class loading and unloading in the Java Virtual Machine:
Number of classes currently loaded in the Java Virtual Machine: 8,135
Number of classes loaded in the Java Virtual Machine since the startup: 8,667
:
コマンドを実行したタイミングでの、ロードおよびアンロードされたクラスのカウント情報などが一覧形式で表示されます。
otxadmin> generate-jvm-report --type thread <サーバ名>
otxadmin> generate-jvm-report --type thread server
**** Thread Dump for Java Virtual Machine [Application Server Instance Name: server] ****
Full Java Thread Dump Java HotSpot(TM) Server VM 1.5.0_15-b04 Sun Microsystems Inc.
Number of threads: 98
Number of daemon threads: 79
Thread "Thread-739" thread-id 2,309 thread-state RUNNABLE Running in native
at: java.net.SocketInputStream.socketRead0(Native Method)
at: java.net.SocketInputStream.read(SocketInputStream.java:129)
at: jp.co.nec.orb.GIOP.Message.readPartOfMessage(Message.java:944)
at: jp.co.nec.orb.GIOP.Message.readOneMessage(Message.java:894)
at: jp.co.nec.orb.GIOP.Message.dispatchReceiveMessage(Message.java:823)
at: jp.co.nec.orb.ClientReader.run(ClientReader.java:648)
at: java.lang.Thread.run(Thread.java:595)
Thread "RMI TCP Connection(1360)-HOSTNAME" thread-id 2,308 thread-state RUNNABLE Running in native
at: java.net.SocketInputStream.socketRead0(Native Method)
at: java.net.SocketInputStream.read(SocketInputStream.java:129)
at: java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at: java.io.BufferedInputStream.read(BufferedInputStream.java:235)
at: java.io.FilterInputStream.read(FilterInputStream.java:66)
at: sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:448)
at: sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at: java.lang.Thread.run(Thread.java:595)
Thread "RMI TCP Connection(1359)-HOSTNAME" thread-id 2,307 thread-state RUNNABLE Running in native
at: java.net.SocketInputStream.socketRead0(Native Method)
at: java.net.SocketInputStream.read(SocketInputStream.java:129)
at: java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at: java.io.BufferedInputStream.read(BufferedInputStream.java:235)
at: java.io.FilterInputStream.read(FilterInputStream.java:66)
at: sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:448)
at: sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at: java.lang.Thread.run(Thread.java:595)
:
No deadlock found
コマンドを実行したタイミングでの、JVM内の全スレッドの動作情報、およびスレッド毎のスタックトレース情報(=スレッドダンプ)などが一覧形式で表示されます。また、JVM内のスレッド間でデッドロックが発生している場合には、その旨を示す内容が画面に表示されます。
プロンプトの設定状況によっては記述の途中で改行されたり、最初の方の出力結果が表示されない場合があります。一方で、出力結果をファイルに保存したい場合があります。その際は、コマンドの実行結果を任意のファイルにリダイレクトする等の方法が有効です。
otxadmin generate-jvm-report --user <ユーザ名> --password <パスワード> --host <ホスト名> --port <ポート番号> --type thread server > <出力先ファイルパス>
JavaプロセスにおけるGC処理の様子をファイルへ出力します。
この方法では、次のJavaプロセスが監視・管理の対象となります。
ドメインに接続後、「<ドメイン名>」-「アプリケーションサーバ」-「JVM構成」を選択し、画面右側に表示される「GC」タブ内の設定項目-「GC情報の出力」にチェックを入れます。この状態では、標準出力用のログファイルであるserver.log(${INSTANCE_ROOT}/logs配下)に出力されますので、任意のファイルにGCログ情報を出力するためには、さらに同タブ内の項目「GC情報の出力先」にて、ファイル出力先のフルパスを指定して下さい。
設定後、「更新」ボタンを押します。設定は、ドメインの再起動後に反映されます。

ドメインにログイン後、次のコマンドを実行します。
otxadmin> set server.java-config.verbose-gc-enabled=true
※GCログの採取を終了する場合は、設定を元の状態に戻します(運用管理コマンドの場合は値をfalseに設定)。
なお、ドメイン再起動の度に過去のGCログファイルは上書きされますので、ログを残す場合にはドメイン起動の前にファイルを別の場所に退避するか、リネームするなどの処置を行ってください。
3.886: [GC 16446K->3056K(62848K), 0.0165272 secs]
9.617: [GC 19504K->4723K(62848K), 0.0174459 secs]
16.169: [GC 21171K->7358K(62848K), 0.0296354 secs]
17.911: [GC 11882K->7984K(62848K), 0.0125603 secs]
17.924: [Full GC 7984K->7787K(62848K), 0.1311320 secs]
:
上記出力例の場合、1行目のログは、JVMが起動してから3.886秒後に、GCによってJavaヒープ領域内のオブジェクトの合計サイズが16,446K(≒16M)バイトから3,056K(≒3M)バイトに減少したことを示します。すなわち、このGCにより13,390K(≒13M)バイトの領域が解放されたことになります。また、カッコ内の数値は、現在のJavaヒープ全体のサイズが62,848K(≒62M)バイトであることを示します。最後の数値は、このGCに要した時間で、0.0165272(≒17ミリ)秒となります。
なお、ログ中の "GC" は、Scavenge GC、"Full GC" は、フルGC が発生したことを示します。

より詳細なGC情報を参照するためには、JVMオプションを追加します。オプションに応じて、次のような情報を参照することができます。
| オプション | 説明 |
|---|---|
| -XX:+PrintGCDetails | GCに関する詳細情報を表示します。 |
| -XX:+PrintGCTimeStamps | GCの詳細情報にタイムスタンプを追加します。 |
| -XX:+PrintHeapAtGC | GC前後のヒープの使用状況を表示します。 |
| -XX:+PrintTenuringDistribution | オブジェクトの生存回数や殿堂入りに関する情報を表示します。 |
「<ドメイン名>」-「アプリケーションサーバ」-「JVM構成」を選択し、画面右側に表示される「JVMオプション」タブ内の設定項目-「JVMオプション」に上述のオプションを追加し、「更新」ボタンを押します。
次のコマンドを実行します(上述のオプションを全て指定する場合)。
otxadmin> create-jvm-options -- "-XX\:+PrintGCTimeStamps"
otxadmin> create-jvm-options -- "-XX\:+PrintGCDetails"
otxadmin> create-jvm-options -- "-XX\:+PrintHeapAtGC"
otxadmin> create-jvm-options -- "-XX\:+PrintTenuringDistribution"
GCログの採取を終了する場合は、オプションを削除します(運用管理コマンドの場合は delete-jvm-options コマンドにて各オプションを指定し削除)。
3.970: [GC {Heap before gc invocations=0:
def new generation total 19648K, used 17472K [0x10010000, 0x11560000, 0x1aab0000)
eden space 17472K, 100% used [0x10010000, 0x11120000, 0x11120000)
from space 2176K, 0% used [0x11120000, 0x11120000, 0x11340000)
to space 2176K, 0% used [0x11340000, 0x11340000, 0x11560000)
tenured generation total 43712K, used 0K [0x1aab0000, 0x1d560000, 0x30010000)
the space 43712K, 0% used [0x1aab0000, 0x1aab0000, 0x1aab0200, 0x1d560000)
compacting perm gen total 65536K, used 7519K [0x30010000, 0x34010000, 0x38010000)
the space 65536K, 11% used [0x30010000, 0x30767e60, 0x30768000, 0x34010000)
No shared spaces configured.
3.971: [DefNew
Desired survivor size 1114112 bytes, new threshold 1 (max 15)
- age 1: 2228224 bytes, 2228224 total
: 17472K->2176K(19648K), 0.0265893 secs] 17472K->3213K(63360K)Heap after gc invocations=1:
def new generation total 19648K, used 2176K [0x10010000, 0x11560000, 0x1aab0000)
eden space 17472K, 0% used [0x10010000, 0x10010000, 0x11120000)
from space 2176K, 100% used [0x11340000, 0x11560000, 0x11560000)
to space 2176K, 0% used [0x11120000, 0x11120000, 0x11340000)
tenured generation total 43712K, used 1037K [0x1aab0000, 0x1d560000, 0x30010000)
the space 43712K, 2% used [0x1aab0000, 0x1abb3790, 0x1abb3800, 0x1d560000)
compacting perm gen total 65536K, used 7519K [0x30010000, 0x34010000, 0x38010000)
the space 65536K, 11% used [0x30010000, 0x30767e60, 0x30768000, 0x34010000)
No shared spaces configured.
}
, 0.0268294 secs]
:
この場合のログは、ヒープ内の各メモリ領域ごとに非常に詳細なGC情報が出力されますが、JVMのベンダーによってその出力形式が異なるため、解析の際には各ベンダーが提供する専用のツールなどをご利用ください。
クライアントからドメインに接続を行う際に使用するプロトコルはデフォルトではJRMPとなっています。WebOTXではJRMP以外にも 下位互換用のプロトコルとしてJMXMPを提供しています。また、SSLを利用した接続もサポートしています。
下位互換用のプロトコルJMXMPを利用する手順について説明します。
JMXMPを有効にするために、以下のコマンドを実行し、ドメインを再起動してください。
otxadmin> set server.admin-service.jmx-connector.system-option.enabled=true
JMXMPを利用してドメインに接続するにはコマンドに--protocolオプションでjmxmpを指定してください。loginコマンドの実行例を以下に示します。
otxadmin> login --user admin --password adminadmin --port 6712 --protocol jmxmp --secure=true
SSLを利用してクライアントからドメインに接続する手順について説明します。SSLはJMXMP利用時は使用することはできません。JRMP利用時のみ可能です。
SSLを有効にするために、以下のコマンドを実行し、ドメインを再起動してください。
otxadmin> set server.admin-service.jmx-connector.system.security-enabled=true
SSLを利用してドメインに接続するにはコマンドに--secureオプションでtrueを指定してください。loginコマンドの実行例を以下に示します。
otxadmin> login --user admin --password adminadmin --port 6212 --secure=true
リソースの追加・削除は統合運用管理ツールもしくは運用管理コマンド(otxadmin)で行うことができます。
WebOTXで提供するリソースの一覧を以下に示します。なお個々のリソースについての詳細は運用編「MO定義リファレンス」を参照してください。
| リソース | 説明 | ドット区切りの名前 |
|---|---|---|
| admin-object-resource | アドミンオブジェクトリソース | server.resources.admin-object-resource.<リソース名> |
| connector-connection-pool | コネクションプール | server.resources.connector-connection-pool.<リソース名> |
| connector-resource | コネクタリソース | server.resources.connector-resource.<リソース名> |
| custom-resource | カスタムリソース | server.resources.custom-resource.<リソース名> |
| external-jndi-resource | JNDIリソース | server.resources.external-jndi-resource.<リソース名> |
| jdbc-datasource | JDBCデータソース | server.resources.jdbc-datasource.<リソース名> |
| jms-connection-factory | JMSコネクションファクトリリソース | server.resources.jms-resource.jms-connection-factory.<リソース名> |
| jms-logical-destination | JMS送信先リソース | server.resources.jms-resource.jms-logical-destination.<リソース名> |
| jms-resource | JMSリソース | server.resources.jms-resource |
| persistence-manager-factory-resource | 永続化リソース | server.resources.persistence-manager-factory-resource.<リソース名> |
| resource-adapter-config | リソースアダプタ | server.resources.resource-adapter-config.<リソース名> |
| resources | リソースの親MO | server.resources |

コマンドでリソースを追加したり、削除したりすることが出来ます。なお各コマンドの詳細については運用編「運用管理コマンドリファレンスマニュアル」を参照してください。
| コマンド | 説明 |
|---|---|
| add-resources | 指定されたXMLファイルへリソースを登録 |
| create-connector-resource | 指定されたJNDI名でのリソースの登録 |
| create-custom-resource | カスタムリソースの登録 |
| create-javamail-resource | JavaMailリソースの登録 |
| create-jdbc-datasource | JDBCデータソースの登録 |
| create-jms-resource | JMSリソースの登録 |
| create-jndi-resource | JNDIリソースの登録 |
| create-persistence-resource | 永続化リソースの登録 |
| delete-connector-resource | 指定のコネクタリソースの削除 |
| delete-custom-resource | カスタムリソースの削除 |
| delete-javamail-resource | JavaMailリソースの削除 |
| delete-jdbc-datasource | JDBCデータソースの削除 |
| delete-jms-resource | JMSリソースの削除 |
| delete-jndi-resource | JNDIリソースの削除 |
| delete-persistence-resource | 永続化リソースの削除 |
作成したドメインの環境をバックアップ、リストアする手順について説明します。
WebOTXでは、ファイル書き込み中の電源障害による設定ファイルの破損や、設定変更のミスによりドメインが正常に起動できなくなった場合に備え、前回正常起動した時の状態を自動でバックアップしています。バックアップからファイルを復元することで前回正常起動した状態まで環境を元に戻すことができます。
ドメイン環境の自動バックアップでは、各ドメイン毎の${INSTANCE_ROOT}配下のファイルを以下のディレクトリに自動でバックアップしています。(デフォルトでは、前回3回分の正常起動時のファイルがfiles1〜files3のディレクトリ名で保存されています。)
${INSTANCE_ROOT}/backup/files1〜files3
バックアップ世代数の変更を変更する場合は、以下の手順を行ってください。世代数は0から3の間で設定できます。以下の例は世代数を1に変更する場合です。1の部分を設定する世代数にあわせて変更してください。
otxadmin> set domain.num-config-backup-generations=1
ドメイン環境の自動バックアップされるディレクトリを指定することができます。domain.backup-optionに値を設定することで、バックアップ対象を指定することができます。設定できる値はall、またはconfigsとなります。(デフォルトではallが指定されています。)
以下のように設定を行います。
otxadmin > set domain.backup-option=all
または、
otxadmin > set domain.backup-option=configs
バックアップされるディレクトリの一覧は以下のようになります。
| バックアップされるディレクトリ | domain.backup-option=allの場合 | domain.backup-option=configsの場合 |
|---|---|---|
| applications | ○ | × |
| autodeploy | ○ | × |
| backup | × | × |
| bin | ○ | × |
| config | ○ | ○ |
| diagnostic-reports | × | × |
| docroot | ○ | × |
| generated | ○ | × |
| java-web-start | ○ | × |
| jbi(Enterprise Service Busを利用の場合) | ○ | ○ |
| lib | ○ | × |
| logs | × | × |
| session-store | ○ | × |
| stats | ○ | × |
| wojms | ○ | × |
以下では、前回正常起動時の状態にドメイン環境を戻す方法について説明します。
(作業の前には、次章のバックアップ手順を参照してバックアップをとってください。)
bin/otxadmin stop-domain WebOTXAdmin
bin/otxrecovery <ドメイン名>
この操作により、上記で指定したドメインの環境(=${INSTANCE_ROOT}配下)が前回正常起動時の状態に復元されます。復元前の(ドメインの起動に失敗した環境の)各種ファイルは、デフォルトでは${INSTANCE_ROOT}配下に作成される一時保管領域であるfailedディレクトリ内に移動されます。
なお、クラスタ環境構築などにより、ドメイン環境が<WebOTXインストールディレクトリ>\domains配下に存在しない場合や、ディスク容量不足などの理由で、バックアップ領域や一時保管領域を別のディスク領域に変更する場合は、以下のように指定してくください。
bin/otxrecovery <${INSTANCE_ROOT}の値> <バックアップ格納場所> <一時保管場所>
bin/otxrecovery D:\domains\domain1 D:\domains\domain1\backup D:\domains\domain1\failed
cd ${INSTANCE_ROOT}
del /S /Q .\applications\j2ee-apps\*
del /S /Q .\applications\j2ee-modules\*
del /S /Q .\autodeploy\*
cd ${INSTANCE_ROOT}
rm -Rf ./applications/j2ee-apps/*
rm -Rf ./applications/j2ee-modules/*
rm -Rf ./autodeploy/*
cd ${INSTANCE_ROOT}
xcopy /S /E /Y .\backup\files1\* .\
cd ${INSTANCE_ROOT}
cp -pR ./backup/files1/* ./
前回のドメイン正常起動時におけるバックアップ処理に失敗している場合、復元処理を行っても、前回より前のドメイン環境に復元される可能性があります。ドメイン正常起動時におけるバックアップ処理に成功している場合は、${INSTANCE_ROOT}/backup/files1〜files3配下にrecovery_successというファイルが作成されています。そのファイルが存在しないバックアップ環境を${INSTANCE_ROOT}配下へコピーしても、ドメイン起動の保障は致しかねます。
環境の退避は、バージョンアップ前の環境を保存したり、環境の移行の際の移行前の環境を保存するといった際に利用します。バージョンアップの際には、旧バージョンのWebOTXをアンインストールする前に行ってください。
以下は、各々のOSについての環境の退避する必要のあるファイルの一覧です。
環境の退避はWebOTXを停止した状態で行ってください。
バックアップした環境からWebOTXの環境をリストア(復元)します。
以下では、各々のOSについての環境のリストアする手順について説明します。
ただし、同一環境にリストアする場合でも、ドメインの構成に変更がある環境やアンインストール後のリストアの場合は、「異なる環境にリストアする手順」で示した手順を用いてOSのサービス登録情報などを復元する必要があります。
バックアップした次のファイルを元の場所にコピーしてください。
バックアップした次のファイルを元の場所にコピーしてください。
WebOTXの環境を別のマシンに移行する場合の手順は以下のとおりです。ただし、移行前のマシンと移行後のマシンで別々のWebOTXのライセンスを利用する場合は、移行前のマシンのWebOTXを削除する必要はありません。
バックアップ手順 を参照してください。
移行前のマシンのWebOTXをアンインストールしてください。UNIX版の場合は、設定したライセンスも削除してください。
移行するマシンにWebOTXをインストールしてください。
移行前にバックアップした以下の設定ファイルを移行後のマシンに復元します。(domains配下のファイルについては、ここではリストアしないでください。)
移行後のマシンのWebOTXインストールフォルダが異なる場合は以下のファイルを修正します。
<WebOTXインストールディレクトリ>\config\asenv.bat に記述されている各ディレクトリ設定を移行後の設定に合わせ修正します。
set AS_ANT=C:\WebOTX\lib\ant set AS_ANT_LIB=C:\WebOTX\lib\ant\lib set AS_WEBSERVICES_LIB=C:\WebOTX\lib set AS_IMQ_LIB=C:\WebOTX\wojms\lib set AS_IMQ_BIN=C:\WebOTX\wojms\bin set AS_CONFIG=C:\WebOTX\config set AS_INSTALL=C:\WebOTX set AS_JAVA=C:\jdk1.5.0_16 set AS_ACC_CONFIG=C:\WebOTX\lib\appclient\nec-acc.xml set AS_ICU_LIB=C:\WebOTX\lib set AS_DEF_DOMAINS_PATH=C:\WebOTX\domains set AS_OSPI_LIB=C:\WebOTX\ObjectBroker\lib set AS_BOOT_DOMAIN=WebOTXAdmin
/opt/WebOTX/config/asenv.conf に記述されている各ディレクトリ設定を移行後の設定に合わせ修正します。
AS_ANT="/opt/WebOTX/lib/ant" AS_ANT_LIB="/opt/WebOTX/lib/ant/lib" AS_WEBSERVICES_LIB="/opt/WebOTX/lib" AS_IMQ_LIB="/opt/WebOTX/wojms/lib" AS_IMQ_BIN="/opt/WebOTX/wojms/bin" AS_CONFIG="/opt/WebOTX/config" AS_INSTALL="/opt/WebOTX" AS_JAVA="/usr/java/jdk1.5.0_16" AS_ACC_CONFIG="/opt/WebOTX/lib/appclient/nec-acc.xml" AS_ICU_LIB="/opt/WebOTX/lib" AS_DEF_DOMAINS_PATH="/opt/WebOTX/domains" AS_OSPI_LIB="/opt/ObjectSpinner/lib" AS_BOOT_DOMAIN="WebOTXAdmin"
ドメインを作成します。ドメインを作成することでOSのサービス登録情報などを復元します。
WebOTXインストールディレクトリ配下に先ほど復元した、ドメイン設定ファイル(xxx.properties)ファイルを使ってドメインを作成します。以下のコマンドを実行してください。ドメインが複数ある場合はすべてのドメインについてcreate-domainコマンドを実行します。また、インストール時にデフォルトで作成されるdomain1 を利用しない場合は delete-domainコマンドにて削除します。
.\bin\otxadmin start-domain WebOTXAdmin .\bin\otxadmin stop-domain domain1 (※domain1を利用しない場合) .\bin\asant -buildfile setup.xml -Ddomain.name=domain1 delete-domain (※domain1を利用しない場合) .\bin\asant -buildfile setup.xml -Dfile=xxx.properties create-domain … .\bin\otxadmin stop-domain WebOTXAdmin
移行前にバックアップしたdomains配下のファイルを移行後のマシンに上書きして復元します。
<WebOTXインストールディレクトリ>\domains
/opt/WebOTX/domains
WebOTXでは、これまでに紹介したバックアップ機能を更に強化し、特にドメインの起動を妨げるような状況に陥るのをできるだけ回避するよう、ドメインの構成情報を格納する2つの重要なファイル(domain.xml、およびdomains-config.xml)については、更新時にリアルタイムにバックアップを取るようにしています。そして、ファイル破損等の万一の障害の際には自動でバックアップファイルから復旧するよう強化しています。これにより、障害の影響でドメインが正常に起動しなくなったといったような問題が大幅に解決されます。
自動復旧機能の対象となるファイルは以下の場所に格納されています。
${INSTANCE_ROOT}/config/domain.xml
${INSTANCE_ROOT}/config/domains-config.xml (管理ドメインのみ)
これらのファイルに対して本機能が正常に実行された場合は、webotx_agent.log に以下のようなメッセージが出力されます。
(例) ドメイン構成ファイル domain.xml が不正なため読み込みに失敗しましたが、バックアップファイルによってリカバリされ、正常に読み込まれました。
なお、これらのバックアップファイルは同じディレクトリ内に“.backup”という拡張子で必要時に作成されますので、以下の事項にご注意願います。