Sun Java System Application Server Enterprise Edition 8.2 トラブルシューティングガイド

第 1 章 概要

この章では、Sun Java System Application Server 8.2 Enterprise Edition Platform Edition のトラブルシューティングに使用できるツール、手法、および情報源について説明します。問題の評価および調査のためのガイドラインも提供します。

事前に計画する

アプリケーションの配備、配備解除、再配備を行なったり、異なるサーバー設定を試したりしていくうちに、サーバーが混乱状態または不安定状態になることがあります。そのような場合は、よりどころとなる有効な設定が、前に保存されていると役立ちます。これ自体は問題解決策ではありませんが、まず第一に問題を回避するための方法です。

Application Server の asadmin コマンドには、指定したドメインをバックアップする backup-domain オプションがあります。このオプションを使用して、サーバー設定の定期的な「スナップショット」を取ってください。その後、必要な場合には、restore-domain オプションを使用して 1 つ以上のドメインを正常に機能する既知の状態に復元します。

asadmin backup-domain および restore-domain オプションの詳細な使用手順については、『Application Server 管理ガイド』を参照してください。ただし、この『トラブルシューティングガイド』の目的の範囲内で、サーバー設定のバックアップおよび復元手順の概要を次に示します。

Procedureサーバー設定をバックアップおよび復元する

  1. Application Server を起動します。


    install_dir/bin/asadmin start-domain domain_name
    
  2. ドメインを停止します。


    install_dir/bin/asadmin stop-domain domain_name
    
  3. ドメインをバックアップします。


    install_dir/bin/asadmin backup-domain domain_name
    

    デフォルトでは、バックアップしたディレクトリは install_dir/backups ディレクトリに保存されます。

  4. Application Server の設定またはドメイン、あるいはその両方に必要な変更を加えます。

  5. 必要に応じて、サーバーやドメインの設定を、前記手順 3 で保存した状態に復元します。


    install_dir/bin/asadmin restore-domain --filename backup_file domain_name
    

問題を特定する

一般に、J2EE アプリケーションサーバーは、複雑で高度に洗練されたオペレーティング環境に配備されます。Sun Java System Application Server は、Java、Java サーブレット、XML、JSP、JDBC データソース、EJB テクノロジなど、幅広いテクノロジに対応しています。Application Server と関連するほかの製品およびツールは、LDAP、Web Server、Sun Java System Message Queue、配備および移行ツールなどです。多数の本質的に異なるコンポーネントが関係する複雑な問題を理解および診断するには、十分な知識と注意深い診断プロセスが必要です。

次に示す情報のいずれかまたはすべてを収集すれば、問題を分類して解決策を探すことが容易になります。システム情報の収集には、Solaris の pkginfoshowrev、Linux の rpm など、オペレーティングシステムのユーティリティーが役立ちます。

Procedure設定情報を確認する

  1. オペレーティングシステムとインストールされている製品の正確なバージョン番号を確認します。

  2. パッチが適用されているかどうか調べます。適用されている場合は、製品およびオペレーティングシステムのパッチ番号を指定します。

  3. システムの構成を調べます。

    1. システムが備えるシステムリソース (メモリー、ディスク、スワップ空間など) について調べます。

    2. インストールされているアプリケーションサーバー、Web サーバー、およびディレクトリサーバーの数を調べます。

    3. Web サーバーと Application Server との接続方法について調べます。それらは同じマシン上にありますか ?

    4. Application Server とディレクトリサーバーとの接続方法について調べます。

    5. アプリケーションサーバーがクラスタ化されているかどうか調べます。

    6. アップグレードが行われたかどうか調べます。すでに行われている場合は、ソースバージョンとターゲットバージョンを確認します。

    7. 移行が行われたかどうか調べます。すでに行われている場合は、ソースバージョンとターゲットバージョンを確認します。

  4. 新しいアプリケーションが配備されたかどうか調べます。

  5. SSL に対応しているかどうか調べます。

  6. HADB および使用しているバックエンドデータベースのバージョンを確認します。

  7. データベースのアクセスに使用している JDBC ドライバを特定します。

  8. 使用している JDK のバージョンを確認します。

  9. JVM のヒープ、スタック、およびガベージコレクション関連のパラメータの設定値を確認します。

  10. JVM オプションを確認します。

  11. インストールで使用されているサードパーティーのテクノロジについて調べます。

  12. 相互運用コンポーネントのバージョンが、リリースノートに記載された互換表に適合しているかどうか調べます。

    これらの情報を収集したあと、次の作業を行います。

    • Web サーバーのエラーおよびアクセスログのデータを収集します (Web サーバーインスタンスによって異なる)。

    • Application Server のスタックトレースを収集します。特定の問題に関連するログの最新セットが稼働するように注意してください。これにより、何ギガバイトもの無関係なログ情報を走査することを避けることができます。

    • その問題を解決するためにすでに実行した可能性のある手順を含め、問題の最初の出現時に発生したイベントのシーケンスを調べます。

解決法を探す

問題を特定し、何が間違っているかについて予備的な仮説を立てると、調査を行う準備が整います。

この節では、次のトピックについて説明します。

システム設定を確認する

もっとも明白な解決法が見過ごされている場合も少なくありません。したがって、最初の手順はシステム設定を確認することです。最新のシステム要件と依存関係については、『Sun Java System Application Server 8.2 リリースノート』を参照してください。

メッセージを評価する

メッセージには通常、試行されたアクション、アクションの結果、さらに場合によっては障害や失敗の原因に関する情報が含まれています。

メッセージの種類

ログファイルに含まれている一般的なメッセージエントリの種類は、次のとおりです。

エラーメッセージ

アプリケーションの続行を妨げる問題には、通常、エラーメッセージが伴います。

ログファイルを検査する

多数の Application Server サブシステムでログファイルが作成され、イベントがそれらのファイルに記録されます。これらのログファイルの主な目的は、トラブルシューティング情報を提供することです。

記録されたメッセージから、メッセージテキストに加えて次の情報を得ることができます。

ログレベル

Application Server の 管理 GUI では、さまざまなログレベルを設定できます (FINESTFINERFINECONFIGINFOWARNINGSEVEREALERT、および FATAL)。ログレベルを FINEST に設定するとすべてのメッセージが記録され、ログレベルを FATAL に設定すると重大なエラーメッセージのみが出力されます。

詳細なログレベル (FINESTFINERFINE) では、ある特定のイベントのログ情報が大量に生成されるため、一見すると、実際には存在しなくてもエラー条件が存在するように見えることがあります。

デフォルトレベルの INFO より重大でないログレベル (FINESTFINERFINE、および CONFIG) のすべてのメッセージには、デバッグに関連する情報が含まれているので、特定して有効にする必要があります。これを行う手順については、『Sun Java System Application Server 管理ガイド』を参照してください。

Application Server には、標準の JDK ログレベルに加えて、Application Server ログファイル (server.log) との関係を直観的に把握でき、Solaris と緊密に統合するように考案されたログレベルが追加されています。ログレベル ALERT および FATAL は Application Server に固有なログレベルで、JDK1.4 のログ API には実装されていません。


注 –

Microsoft Windows オペレーティング環境で使用されるイベントログ機構については、キーワード「イベントログ」で Windows ヘルプシステムを索引検索してください。Windows server.log ファイルにログを送信する場合、ログレベル INFO、WARNING、SEVERE、ALERT、または FATAL のメッセージのみが Windows イベントログに記録されます。


ログオプション

管理 GUI は次の 2 つのログオプションを提供します。

クライアント側のログ

アプリケーションクライアントコンテナ (ACC) には、ローカルファイルにのみ出力可能な独自のログサービスがあります。通常、ACC は、Application Server とは別のホスト上の独自のプロセスで実行されます。ログインフラストラクチャーとログファイルは ACC 固有のものです。ACC の設定は、sun-acc.xml ファイルに格納されています。詳しくは、『Sun Java System Application Server Developer's Guide』を参照してください。

スレッドダンプの取得

ここでは、Application Server 8.2 のスレッドダンプを取得する方法について説明します。デフォルトでは、サーバーからコアファイルがダンプされ、server.xml ファイルにある -Xrs java-option フラグに従って再起動が行われます。

UNIX の場合

UNIX でサーバースレッドダンプを取得する方法は次のとおりです。

ProcedureUNIX でサーバースレッドダンプを取得する

  1. 影響を受けるサーバーインスタンスの server.xml ファイルに -Xrs java-option フラグが含まれていないことを確認します。含まれている場合は、-Xrs java-option フラグを削除します。

  2. オプションが変更されている場合は、サーバーインスタンスを再起動します。

  3. ps コマンドを使用して、アプリケーションサーバーが稼働している java プロセスまたは appservDAS プロセス、あるいはその両方を特定します。

  4. アプリケーションサーバーインスタンスで次のコマンドを実行します。


    kill -3 pid
    

    この kill コマンドで、スレッドダンプがサーバーインスタンスの server.log ファイルにリダイレクトされます。

Windows の場合

Windows でサーバースレッドダンプを取得する方法は次のとおりです。

ProcedureWindows でサーバースレッドダンプを取得する

  1. サーバーインスタンスの server.xml ファイルに -Xrs java-option フラグが含まれていないことを確認します。含まれている場合は、-Xrs java-option フラグを削除します。

  2. オプションが変更された場合は、Application Server を再起動します。

  3. 「Application Server」ウィンドウで ctrl-brk を入力します。スレッドダンプがインスタンスの server.log ファイルにリダイレクトされます。

その問題を以前に解決したことがないか確認する

最初にこの『トラブルシューティングガイド』に目を通して、その問題が扱われているかどうか確認することをお勧めします。扱われているなら、適切な解決法を選択します。多くの解決法では、詳細な説明や例については、Application Server のマニュアルセット内のほかのマニュアルを参照するように指示されています。

製品マニュアルを検索する

トラブルシューティングする製品の該当バージョンの『リリースノート』を読むことから始めます。

この Application Server 製品リリースのマニュアルは、次の場所から入手できます。

http://docs.sun.com/db/coll/ApplicationServer81

Application Server のマニュアルの詳細については、「Application Server のマニュアルセット」を参照してください。

ナレッジベースを検索する

ナレッジベースは、製品の問題に関する記事を集めたもので、トラブルシューティングに役立つ情報が含まれています。ナレッジベースを利用するには、次の手順に従います。

Procedureナレッジベースを検索する

  1. SunSolve Online に移動します。

  2. 「SunSolve Collections」で「Search Collections」リンクをクリックします。

  3. 検索するコレクションのチェックボックスを選択します。

  4. 「次へ」をクリックします。

  5. 検索基準を入力します。

  6. 「検索」をクリックします。

オンラインフォーラムで検索または参加する

オンラインフォーラム内で直接検索するか、ログインおよび登録してメッセージを投稿できるようにします。Application Server のオンラインフォーラムは、次の場所にあります。http://swforum.sun.com/jive/index.jsp?cat=7

サポートに問い合わせる

必要な場合は、これまでに取得した情報を手元に用意して、テクニカルサポート http://www.sun.com/service/contacting までお問い合わせください。