7.8. 診断サービス

WebOTX には、ドメインの診断サービスという機能があります。これは障害が起きた場合に、障害解析 に必要な情報を収集して、ひとつのアーカイブファイルにまとめる機能です。問い合わせ窓口に問い合 わせる際には、診断機能を実行してアーカイブファイルを作成し、これを送付することで、調査部隊に必 要な情報を送付することができます。

また、診断サービスには、スローダウン障害対策機能、およびメモリ不足障害対策機能があります。 これらは、APサーバ内での障害の発生または発生の予兆を独自の方法で判断・分析し、それを契機に、 業務プロセスでのリクエストの処理量を制御してサーバの負荷を軽減するためのフェイルセーフ処理を 実施します。 また、障害が発生した際にはスレッドダンプやヒープダンプなど、障害解析に有益となる情報を自動で 採取します。
これらの機能により、システム障害の発生に伴う被害を最小限に留めます。

7.8.1. 収集情報の種類

診断サービスで収集される情報は以下のような種類があります。

なお、収集される情報の詳細については、「診断サービス」を参照してください。

以降では、診断サービスの概要について説明します。

7.8.2. 診断サービスとは

診断サービスとは、アプリケーションサーバに障害が起きたときに、障害解析に必要な情報を収集する機能です。収集する情報は、アプリケーションサーバのログや、OSの種類やバージョン、JVMのスレッドダンプなど様々なものがあります。 WebOTXの診断サービスには、リモートモードとローカルモードという2つのモードが存在します。下の図は、2つのモードについて簡単に表したものです。


リモートモード

リモートモードは、統合運用管理ツールまたは運用管理コマンドから実行できます。 これは、ドメインに対するエージェントプロセスを経由して、実行するため、遠隔地からも操作を行うことができます。ただし、収集した情報をネットワーク経由で取得することはできません。 アプリケーションサーバが稼動しているマシン内に保存されます。

ローカルモード

ローカルモードは、運用管理コマンドで、localオプションをtrueとすることで、実行できます。 ローカルモードは、ドメインに対するエージェントプロセスを経由せずに、情報を収集するため、アプリケーションサーバが稼動しているマシン上でしか実行できません。 しかし、ドメインに対するエージェントプロセスを経由しないため、ドメインに対するエージェントプロセスが起動していなくても情報が収集できるという利点があります。

診断サービス実行の流れ

診断サービスの実行は、次のような手順で行われます。

1. 収集したい情報を設定します

統合運用管理ツール、または運用管理コマンドを用いて、収集したい情報の属性値をtrueにします。 ただし、この変更はドメインが起動しているときのみ可能であり、ドメインが停止しているときは変更できません。 ドメインが停止している場合は、直前に設定した値がそのまま使用されます。

2. 診断サービスを実行します

統合運用管理ツール、または運用管理コマンドを用いて診断サービスを実行します。 統合運用管理ツールの場合は、ドメインが起動していなければ接続できないため、リモートモードでの実行となります。運用管理コマンドの場合は、 localオプションをtrueにした場合に、ローカルモードで実行されます。

3. 診断レポートを確認する

診断サービスを実行すると、設定された情報を収集して、1つのzipファイルとして出力します。 zipファイル名は、ユーザが任意に指定できます。また、各情報が実際に収集できたかを確認するために、 zipファイルと同名のテキストレポートが、zipファイルと同じディレクトリに出力されます。各収集項目の収集結果が、 OKかNGで出力されています。NGの場合は、収集できなかった原因に関するメッセージがagent.logに出力されているので、そちらを確認してください。

zipファイル名を指定しなかった場合は、ドメイン名と実行された時間から次のような名前で出力します。
・診断レポート(zipファイル)出力ディレクトリ : ${INSTANCE_ROOT}/diagnostic-reports
・診断レポート(zipファイル)名 : <診断対象ドメイン名>_<実行日時>_report.zip
・テキストレポート : <zipファイル名>.txt

例)
・診断レポート(zipファイル)出力ディレクトリ : C://WebOTX/domains/domain1/diagnostic-reports
・診断レポート(zipファイル)名 : domain1_2008-6-3_18-27-1_report.zip
・テキストレポート : domain1_2008-6-3_18-27-1_report.txt

7.8.3. スローダウン障害対策機能

スローダウンが継続的に発生する状況を検出した際に、業務リクエストに対する応答を一定時間遅らせるとともに、動作スレッド数を一定の割合で抑制することで、業務が動作するプロセスにかかる負荷の抑制、および、処理時間の改善を図ります。状況が改善できなければプロセスを異常終了させることでスローダウン障害からの復旧を行います。

詳細は[診断サービス > 障害対策機能 > スローダウン障害対策機能 ] を参照してください。

7.8.4. メモリ不足障害対策機能

OutOfMemoryError の発生やメモリ使用量が非常に多い状況を検出した際に、業務リクエストに対する応答を一定時間遅らせるとともに、動作スレッド数を一定の割合で抑制することで、業務が動作するプロセスのメモリ使用量の抑制、および、処理時間の改善を図ります。状況が改善できなければプロセスを異常終了させることでメモリ不足障害からの復旧を行います。

詳細は[診断サービス > 障害対策機能 > メモリ不足障害対策機能 ] を参照してください。