WebOTX Web Edition/Standard-J Edition/Express、および、シングルプロセスモード(V8以降はスタンダードモード)を利用している環境で、Webアプリケーションが無応答になった場合、ドメインのエージェントプロセスがストールしていることが考えられます。
以下の手順で復旧してください。V8以降と、V7以前で手順が一部異なりますのでご注意ください。
※マルチプロセスモード(V8以降はアドバンスドモード)をご利用の場合、以下の手順では復旧できませんのでご注意ください。
1. 障害の原因を究明するためにエージェントプロセスのスレッドダンプを採取してください。
バージョン、OSによって以下のような手順となります。
【V8以降】
(1) 運用管理コマンド(otxadminコマンド)を起動して問題の発生したドメインにログインを試みてください。
otxadmin> login --user <ユーザ名> --password <パスワード> --host <ホスト名> --port <ポート番号>
(2) 手順(1)でログインが成功した場合、以下のコマンドを実行してください。
otxadmin> generate-diagnostic-report <ドメイン名>
(3) 手順(1)でログインに失敗した場合、WebOTXが稼働しているサーバ上で、運用管理コマンド(otxadminコマンド)を起動して、以下のコマンドを実行してください。
otxadmin> generate-diagnostic-report --local <ドメイン名>
(4) 次のファイルにスレッドダンプが出力されていることを確認してください。
(Windows) {WebOTXインストールディレクトリ}/domains/{ドメイン名}\logs\diagnostics\jvminfo\threaddump.txt
(Unix) {WebOTXインストールディレクトリ}/domains/{ドメイン名}/logs/server.log
【V7以前(Windows)】
※JDK1.6以上を使用している場合のみ以下の手順を実施してください。
JDK1.5以下を使用している場合は、スレッドダンプは採取できませんので手順2以降を実施してください。
(1) エージェントプロセスのプロセスIDを特定する
コマンドプロンプトで「netstat -ao」を実行して、ドメインのポート番号を使用しているプロセスのプロセスIDを確認してください。
(2) スレッドダンプを取得
手順(1)でプロセスIDを取得できたら、以下のコマンドを5秒程度の間隔で3回実行してください。
手順(1)でプロセスIDを確認できなかった場合、ドメインのプロセスはすでに停止しています。手順2に移ってください。
<JDKインストールディレクトリ>\bin\jstack.exe <プロセスID> >> threaddump.log
(3) スレッドダンプが threaddump.log に出力されていることを確認してください。
【V7以前(Unix)】
(1) エージェントプロセスのプロセスIDを特定する
コマンドプロンプトで「netstat -a | grep <ドメイン名> | grep funcid=agent」を実行して、ドメインのポート番号を使用しているプロセスのプロセスIDを確認してください。
(2) スレッドダンプを取得
手順(1)でプロセスIDを取得できたら、以下のコマンドを5秒程度の間隔で3回実行してください。
手順(1)でプロセスIDを確認できなかった場合、ドメインのプロセスはすでに停止しています。手順2に移ってください。
kill -3 <プロセスID>
(3) スレッドダンプが {WebOTXインストールディレクトリ}/domains/{ドメイン名}/logs/server.log に出力されていることを確認してください。
2. ドメインを停止してください。
【V8以降】
以下のコマンドを実行してドメインを停止してください。
otxadmin stop-domain --force <ドメイン名>
【V7以前】
(1) 手順1で確認したエージェントプロセスをタスクマネージャ、もしくは、killコマンドで停止してください。
(2) 以下のコマンドを実行して、エージェントプロセス以外のプロセスを停止してください。
otxadmin> stop-domain --force <ドメイン名>
3. WebOTXサービスを停止してください。
他のドメインを停止したくない場合は、問題のあったドメインのみを停止してください。
4. プロセスの一覧を表示して、ドメインのプロセスが残っていないことを確認してください。
5. WebOTXを起動して、Webアプリケーションに接続できることを確認してください。
問題のあったドメインのみを停止した場合は、該当ドメインのみを起動して、Webアプリケーションに接続できることを確認してください。
6. ドメインがストールした原因を究明する必要がある場合は、開発部隊にログとスレッドダンプを送付してください。
【対象製品】Application Server
【確認済みのバージョン】 V6.4 V6.5 V7.1 V8.1 V8.2 V8.3
【確認済みのエディション】 Web Edition Standard-J Edition Express Foundation Standard Edition Enterprise Edition
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】運用管理
【カテゴリー】トラブルシューティング