診断サービス

1. 診断サービスの設定

診断サービスで収集される情報には大きく分けて次のような種類があります。それぞれの種類は、複数の項目を保持しています。 収集情報の種類と、各収集項目は、収集する・収集しないを設定することができ、収集情報の種類が「収集する」という設定になっている場合のみ、 各項目を収集できます。既定値は、○が収集されること、×が収集されないことを表しています。

属性のDottedName:server.diagnostic-service

診断サービスで収集される情報一覧
収集情報の種類(属性名) 説明 収集項目 既定値
システム情報
(system)
オペレーティングシステムの情報を収集します。 OSの概要
メモリの使用状況
ディスクの使用状況
プロセス一覧
ネットワークの状態
カーネルパラメータ (HP-UXのみ)
共有メモリの使用状況 (UNIXのみ)
インストール情報
(install)
WebOTX AS のインストールに関する情報を収集します。 WebOTX AS インストール時のログ
WebOTX AS の設定ファイル
WebOTX AS <バージョン番号> Agent Service の設定ファイル (Windowsのみ)
OSの環境変数
WebOTX AS に関する情報
WebOTX AS インストールディレクトリ配下のファイル一覧 ×
コンフィグレーション情報
(config)
ドメインの設定に関する情報を収集します。 ドメインの設定ファイル
persistent-mbeanディレクトリ ×
tpsystemディレクトリ直下のファイル
tpsystemディレクトリ配下の全ファイル ×
configディレクトリ配下の全ファイル
configディレクトリ配下に対する収集リスト null
configディレクトリ配下に対する除外リスト null
配備アプリケーション情報
(applications)
配備アプリケーションに関する情報を収集します。 配備記述子
generatedディレクトリ配下の一部のファイル
generatedディレクトリ配下の全ファイル ×
applicationsディレクトリ、generatedディレクトリ配下に対する収集リスト null
applicationsディレクトリ、generatedディレクトリ配下に対する除外リスト null
ログ情報
(logs)
診断対象ドメインのログを収集します。 標準出力、標準エラー出力に関するログ
ドメイン上で動作する各サービスに関するログ
サーバ、ドメインの運用管理エージェントへのアクセスログ
JVMが出力するエラーログファイル
logsディレクトリ配下の全ファイル ×
収集するログの対象期間 (単位:時間) 72
logsディレクトリ配下に対する収集リスト null
logsディレクトリ配下に対する除外リスト null
モニタリング情報
(monitoring)
モニタリング(統計)情報を収集します。 統計情報
Java VM 情報
(jvm)
Java VM に関する情報を収集します。 Java VM のバージョン
Java VM のメモリ ○ (注1)
Java VM のスレッドダンプ ○ (注2)
スレッドダンプの取得回数 (単位:回) 3
スレッドダンプの取得間隔 (単位:秒) 5
プロセスグループのスタックトレース
スタックトレースを収集するプロセスグループを指定する ×
スタックトレースを収集するプロセスグループ null
拡張情報
任意のファイルを収集します。 収集リスト null
システム情報

WebOTX AS が稼動しているサーバマシンのオペレーティングシステムの情報を収集します。収集する情報の詳細は以下のような項目になります。 これらの情報を収集するためには、システム情報の属性値が trueになっている必要があります。trueへの変更の仕方は、2章を参照してください。 システム情報は、あらかじめ存在する情報ではないため、診断サービス実行時に、各OS用のスクリプトファイルを実行して情報採取を行い、診断レポートに含めます。

属性のDottedName:server.diagnostic-service

オペレーティングシステムの収集情報一覧
収集項目 説明 収集ファイル 属性名
OSの概要 OS名、OSのバージョン、CPUの情報を収集します。 ${INSTANCE_ROOT}/logs/diagnostics/systeminfo/osinfo.txt system-os-summary
メモリの使用状況 物理メモリ、仮想メモリの情報を収集します。 ${INSTANCE_ROOT}/logs/diagnostics/systeminfo/osinfo.txt system-memory
ディスクの使用状況 ディスクの総量、空き容量、使用可能量、ファイルシステムの情報を収集します。 ${INSTANCE_ROOT}/logs/diagnostic/systeminfo/osinfo.txt system-disk
プロセス一覧 プロセス名、プロセスIDの情報を収集します。 ${INSTANCE_ROOT}/logs/diagnostics/systeminfo/osinfo.txt system-process
ネットワークの状態 起動しているネットワーク接続について、プロトコル、ローカルアドレス、外部アドレス、接続状態の情報を収集します。 ${INSTANCE_ROOT}/logs/diagnostics/systeminfo/osinfo.txt system-network
カーネルパラメータ (HP-UXのみ) 設定されているカーネルパラメータの情報を収集します。 ${INSTANCE_ROOT}/logs/diagnostics/systeminfo/kernel.txt system-kernel
共有メモリの使用状況 (UNIXのみ) プロセス間通信に使用するリソースの使用状況に関する情報を収集します。共有メモリの使用状況に加えて、メッセージのキューやセマフォについての情報も収集します。 ${INSTANCE_ROOT}/logs/diagnostics/systeminfo/sharememory.txt system-sharememory
インストール情報

WebOTX AS のインストールに関する情報を収集します。収集する情報の詳細は以下のような項目になります。 これらの情報を収集するためには、インストール情報の属性値がtrueになっている必要があります。 trueへの変更の仕方は、3章を参照してください。 インストール情報のうち、OSの環境変数、WebOTX AS に関する情報、WebOTX AS インストールディレクトリ配下のファイル一覧については、 診断サービス実行時に、各OS用のスクリプトファイルを実行して情報採取を行い、診断レポートに含めます。

属性のDottedName:server.diagnostic-service

WebOTX ASインストールに関する収集情報一覧
収集項目 説明 収集ファイル 属性名
WebOTX AS インストール時のログ WebOTX AS インストールした時の状況が出力されているログを収集します。 ${AS_INSTALL}/ant_setup.log install-ant-setup
WebOTX AS の設定ファイル WebOTX AS の設定ファイルを収集します。 ${AS_INSTALL}/config/asenv.bat,
${AS_INSTALL}/config/asenv.conf
install-asenv
WebOTX AS <バージョン番号> Agent Service の設定ファイル (Windowsのみ) WebOTX AS <バージョン番号> Agent Service の設定ファイルを収集します。 ${AS_INSTALL}/config/woasinfo.properties install-woasinfo
OSの環境変数 OSの環境変数を収集します。 ${INSTANCE_ROOT}/logs/diagnostics/installinfo/env.txt install-env
WebOTX AS に関する情報 WebOTX AS のエディション、バージョン、パッチ適用状況の情報を収集します。 ${INSTANCE_ROOT}/logs/diagnostics/installinfo/otxinfo.txt install-info
WebOTX AS インストールディレクトリ配下のファイル一覧 WebOTX AS のインストールディレクトリ配下のファイル一覧を収集します。 ${INSTANCE_ROOT}/logs/diagnostics/installinfo/otxlist.txt install-file-list
コンフィグレーション情報

ドメインの設定に関する情報を収集します。収集する情報の詳細は以下のような項目になります。 これらの情報を収集するためには、コンフィグレーション情報の属性値がtrueになっている必要があります。trueへの変更の仕方は、2章を参照してください。 コンフィグレーション情報では、収集される情報は全てあらかじめ存在するファイルであり、診断サービスの実行時に新しく採取される情報はありません。 また、収集リスト・除外リストについては、「2.2.8 収集リスト・除外リストについて」を参照してください。

属性のDottedName:server.diagnostic-service

コンフィグレーション収集情報一覧
収集項目 説明 収集ファイル 属性名
ドメインの設定ファイル 診断対象ドメインの設定ファイルを収集します。 ${INSTANCE_ROOT}/config/domain.xml config-domain
persistent-mbeanディレクトリ 診断対象ドメインのconfigディレクトリ配下のpersistent-mbeanディレクトリを収集します。 ${INSTANCE_ROOT}/config/persistent-mbeanディレクトリ config-persistent-mbean
tpsystemディレクトリ直下のファイル 診断対象ドメインのconfigディレクトリ配下のpersistent-mbeanディレクトリを収集します。 ${INSTANCE_ROOT}/config/tpsystemディレクトリ直下のファイル config-tpsystem-file
tpsystemディレクトリ配下の全ファイル 診断対象ドメインのconfigディレクトリ配下のpersistent-mbeanディレクトリを収集します。 ${INSTANCE_ROOT}/config/tpsystemディレクトリ config-tpsystem-all
configディレクトリ配下の全ファイル 診断対象ドメインのconfigディレクトリ配下の全ファイルを収集します。ただし、persistent-mbeanディレクトリ、tpsystemディレクトリを除きます。 ${INSTANCE_ROOT}/configディレクトリ config-dir
configディレクトリ配下に対する収集リスト 診断対象ドメインのconfigディレクトリ配下の任意のファイルを収集します。 記入されたファイル(注) config-includes
configディレクトリ配下に対する除外リスト configディレクトリ配下の任意のファイルを診断レポートから除外します。 記入されたファイル(注) config-excludes
配備アプリケーション情報

配備アプリケーションに関する情報を収集します。収集する情報の詳細は以下のような項目になります。 これらの情報を収集するためには、配備アプリケーション情報の属性値がtrueになっている必要があります。trueへの変更の仕方は、2章を参照してください。 配備アプリケーション情報では、収集される情報は全てあらかじめ存在するファイルであり、 新しく診断実行時に採取される情報はありません。また、収集リスト・除外リストについては、「2.2.8 収集リスト・除外リストについて」を参照してください。

属性のDottedName:server.diagnostic-service

配備アプリケーション収集情報一覧
収集項目 説明 収集ファイル 属性名
配備記述子 配備記述子を収集します。 ${INSTANCE_ROOT}/applicationsディレクトリ配下のxmlファイルのみ (注1) applications-dir
generatedディレクトリ配下の一部のファイル 診断対象ドメインのgeneratedディレクトリ配下のうち、policyディレクトリとxmlディレクトリを収集します。 ${INSTANCE_ROOT}/generated/policyディレクトリ、
${INSTANCE_ROOT}/generated/xmlディレクトリ
applications-generated-dir
generatedディレクトリ配下の全ファイル 診断対象ドメインのgeneratedディレクトリ配下の全ファイルを収集します。 ${INSTANCE_ROOT}/generatedディレクトリ applications-generated-all
applicationsディレクトリ、generatedディレクトリ配下に対する収集リスト 診断対象ドメインのapplicationsディレクトリとgeneratedディレクトリ配下の任意のファイルを収集します。 記入されたファイル(注2) applications-includes
applicationsディレクトリ、generatedディレクトリ配下に対する除外リスト 診断対象ドメインのapplicationsディレクトリとgeneratedディレクトリ配下の任意のファイルを診断レポートから除外します。 記入されたファイル(注2) applications-excludes
ログ情報

診断対象ドメインのログを収集します。収集する情報の詳細は以下のような項目になります。これらの情報を収集するためには、 ログ情報の属性値がtrueになっている必要があります。trueへの変更の仕方は、2章を参照してください。 ログ情報では、収集される情報は全てあらかじめ存在するファイルであり、新しく診断実行時に採取される情報はありません。 また、収集リスト・除外リストについては、「2.2.8 収集リスト・除外リストについて」を参照してください。

属性のDottedName:server.diagnostic-service

ログ収集情報一覧
収集項目 説明 収集ファイル 属性名
標準出力、標準エラー出力に関するログ 標準出力、標準エラー出力のログを収集します。 ${INSTANCE_ROOT}/logs/server.log
${INSTANCE_ROOT}/logs/server_err.log
logs-server
ドメイン上で動作する各サービスに関するログ ドメイン上で動作する各サービスに関するログを収集します。 ${INSTANCE_ROOT}/logs/agent.log
${INSTANCE_ROOT}/logs/agent
${INSTANCE_ROOT}/logs/bizbp
${INSTANCE_ROOT}/logs/esb
${INSTANCE_ROOT}/logs/jdbc
${INSTANCE_ROOT}/logs/ObjectBroker
${INSTANCE_ROOT}/logs/portal
${INSTANCE_ROOT}/logs/tpsystem
${INSTANCE_ROOT}/logs/TS
${INSTANCE_ROOT}/logs/uddi
${INSTANCE_ROOT}/logs/webcontainer
${INSTANCE_ROOT}/logs/web
${INSTANCE_ROOT}/logs/webservice
${INSTANCE_ROOT}/logs/jmq
logs-agent
サーバ、ドメインの運用管理エージェントへのアクセスログ サーバ、ドメインの運用管理エージェントへのアクセスログを収集します。 ${INSTANCE_ROOT}/logs/server_access.log
${INSTANCE_ROOT}/logs配下のアクセスログ
logs-access
JVMが出力するエラーログファイル JVMが出力するエラーログファイルを収集します。 ${INSTANCE_ROOT}/config/hs_err_pidxxx.log logs-jvm-err
logsディレクトリ配下の全ファイル 診断対象ドメインのlogsディレクトリ配下の全ファイルを収集します。 ${INSTANCE_ROOT}/logsディレクトリ logs-dir
収集するログの対象期間(単位:時間) 収集するログの対象期間を指定します。単位は時間です。(注1) なし logs-period
logsディレクトリ配下に対する収集リスト 診断対象ドメインのlogsディレクトリ配下の任意のファイルを収集します。 記入されたファイル(注2) logs-includes
logsディレクトリ配下に対する除外リスト 診断対象ドメインのlogsディレクトリ配下の任意のファイルを診断レポートから除外します。 記入されたファイル(注2) logs-excludes
モニタリング情報

モニタリング(統計)情報を収集します。収集する情報の詳細は以下のような項目になります。これらの情報を収集するためには、 モニタリング情報の属性値がtrueになっている必要があります。trueへの変更の仕方は、2章を参照してください。 モニタリング情報は、あらかじめ存在する情報ではないため診断サービス実行時に情報採取を行い、診断レポートに含めます。この情報採取では、MBeanを使用しているため ローカルモードで実行した場合は採取できないことがあります。 ローカルモードで実行した場合は、エージェントプロセスが起動しており、かつ診断対象ドメインへ同じクライアント端末からログイン している場合のみ、情報を取得することができます。


属性のDottedName:server.diagnostic-service
モニタリング収集情報一覧
収集項目 説明 収集ファイル 属性名
統計情報 server、domain、tpsystemの統計情報について、情報を収集します。 ${INSTANCE_ROOT}/logs/diagnostics/monitorinfo/monitorinfo.txt (注) monitoring-info
Java VM 情報

診断対象ドメインのJava VM に関する情報を収集します。収集する情報の詳細は以下のような項目になります。これらの情報を収集するためには、 Java VM 情報の属性値がtrueになっている必要があります。trueへの変更の仕方は、2章を参照してください。 Java VM 情報は、あらかじめ存在する情報ではないため、診断サービス実行時に情報採取を行い、診断レポートに含めます。 この情報採取には、一部MBeanを使用しているため、ローカルモードで実行した場合は採取できない情報があります。

属性のDottedName:server.diagnostic-service

Java VM 収集情報一覧
収集項目 説明 収集ファイル 属性名
Java VM のバージョン Java VM のバージョンについての情報を収集します。 ${INSTANCE_ROOT}/logs/diagnostic/jvminfo/jvmversion.txt jvm-version
Java VM のメモリ Java VM のメモリについての情報を収集します。(注1) ${INSTANCE_ROOT}/logs/diagnostic/jvminfo/jvmmemory.txt jvm-memory
Java VM のスレッドダンプ Java VM のスレッドダンプについての情報を収集します。(注2) Windows:${INSTANCE_ROOT}/logs/diagnostic/jvminfo/threaddump.txt
UNIX:${INSTANCE_ROOT}/logs/server.log
jvm-thread-dump
スレッドダンプの取得回数 (単位:回) スレッドダンプの取得回数を指定します。 なし jvm-thread-dump-count
スレッドダンプの取得間隔 (単位:秒) スレッドダンプの取得間隔を指定します。 なし jvm-thread-dump-interval
プロセスグループのスタックトレース プロセスグループのスタックトレースを収集します ${INSTANCE_ROOT}/logs/tpsystem/${APGNAME}/${PGNAME}/${PGNAME}.${PID}.log, ${PGNAME}_sys.${PID}.log (注3) jvm-pg-stack
スタックトレースを収集するプロセスグループを指定する スタックトレースを収集するプロセスグループを指定します。 jvm-pg-specify
スタックトレースを収集するプロセスグループ スタックトレースを収集したいプロセスグループ名を記入してください。複数のプロセスグループ名を記入する場合、カンマ(,)で区切って記入してください。 jvm-pg-list
拡張情報

診断サービスにて作成されるアーカイブファイルに任意の情報を含めます。

属性のDottedName:server.diagnostic-service

拡張収集情報一覧
収集項目 説明 収集ファイル 属性名
収集リスト 絶対パスで記入されたファイルまたはディレクトリを収集します。絶対パスには、 任意の文字列を表す*(アスタリスク)を使用することができます。 記入されたファイル includes
収集リスト・除外リストについて

コンフィグレーション情報、配備アプリケーション情報、ログ情報では、収集項目に収集リスト、除外リストが存在します。 これは、各項目のtrue、falseと組み合わせて、柔軟に収集したいファイルのみを収集できるようにするためです。 各項目の優先順位は次のようになります。また、ファイルのパスには、統合運用管理ツールでは/または\を、運用管理コマンドでは/または\\を使用してください。

  1. 収集リストに記入されたもの。
  2. 除外リストに記入されたもの。
  3. 各項目のtrue、falseの値。

よって、収集リストと除外リストに同じファイルが書かれた場合、収集リストが優先されます。次にいくつか例を挙げます。

例1)logsディレクトリ配下のagentログ以外を収集したい。
   server.diagnostic-service.capture-log=true
   server.diagnostic-service.capture-logs-dir=true
   server.diagnostic-service.excludes-log=agent

例2)logsディレクトリ配下の全ファイルのうち、agentディレクトリだけ除いて収集したい。
   しかし、agentディレクトリ配下のagent_access.logだけは収集したい。
   server.diagnostic-service.capture-log=true
   server.diagnostic-service.capture-logs-dir=true
   server.diagnostic-service.includes-log=agent/agent_access.log
   server.diagnostic-service.excludes-log=agent

2. 診断サービスの実行

診断サービスの実行方法について説明します。

2.1. 統合運用管理ツール

統合運用管理ツールを用いた診断サービスの実行方法について説明します。

  1. 取得したい情報をあらかじめ設定しておきます。
    統合運用管理ツールの[診断対象ドメイン]-[アプリケーションサーバ]-[診断サービス] を選択します。

    diagnositc-image



  2. [全般]タブのうち、取得したい情報にチェックを入れて、更新ボタンを押します。

  3. さらに詳細に設定する場合は、各情報のタブを選択し、取得したい情報にチェックを入れます。
    また、収集したい任意のファイルを収集リストに、除外したい任意のファイルを除外リストに記入して、更新ボタンを押します。

    diagnositc-image



  4. 「診断サービス」を右クリックして、[ドメインの情報採取]をクリックします。

  5. 診断レポート名を指定したい場合はアーカイブファイル名の欄に、絶対パスで記入して下さい。絶対パスで記入しなかった場合は、診断レポートを作成できず、エラーとなります。
    アーカイブファイル名に記入しない場合は、${INSTANSE_ROOT}/diagnostic-reportsディレクトリにドメイン名と日付を用いたファイル名で保存されます。
    また、テキストレポートに出力したい文字列がある場合は説明の欄に記入して下さい。 記入が終わったら、実行ボタンを押します。

    diagnositc-image



  6. 診断サービスの実行が成功すれば、診断レポートの保存先が絶対パスで返却されます。

    diagnositc-image


2.2. 運用管理コマンド

運用管理コマンドを用いた診断サービスの実行方法について説明します。 各収集項目の属性名については、 [ 診断サービスの設定 ] を参照してください。

  1. 運用管理コマンドのsetコマンドを用いて、取得したい情報をあらかじめ設定しておきます。
    まず、取得したい情報の種類の属性値をtrueにします。

    例)
    set server.diagnostic-service.system=true
    
    システム情報をtrueに変更しました。
    set server.diagnostic-service.install=true
    
    インストール情報をtrueに変更しました。
    set server.diagnostic-service.config=true
    
    コンフィグレーション情報をtrueに変更しました。

  2. さらに詳細に設定する場合は、各項目の属性値を変更します。

    例)
    set server.diagnostic-service.config-domain=true
    
    ドメインの設定ファイルをtrueに変更しました。
    set server.diagnositc-service.config-includes=log4otx.xml
    
    log4otx.xmlを収集リストに記入しました。

  3. 次のコマンドを入力して、診断を実行します。このとき、引数には次のものが使用できます。

    例)
     generate-diagnostic-report domain1
    
    ドメイン1に対してリモートモードで診断サービスを実行しました。

    generate-diagnostic-reportコマンド オプション一覧
    オプション名 記入できる値 説明
    target ドメイン名 診断レポートを生成したいドメイン名を指定します。必須オプションです。
    outputfile 診断レポートの絶対パス 診断実行後に出力される診断レポート名を任意に指定できます。ただし、絶対パスで記入してください。
    入力されない場合は、${INSTANSE_ROOT}/diagnostic-reportsディレクトリにドメイン名と日付を用いた診断レポート名で保存されます。
    local true、false ローカルモードで実行する場合はtrueを、リモートモードで実行する場合はfalseを指定します。
    デフォルト値はfalseです。
    reportid 任意の文字列 テキストレポート内のReportIDの欄に出力される文字列を、任意に記入できます。
    targetdir 診断対象ドメイン存在するディレクトリまでの絶対パス ローカルモード時のみ有効になります。指定されない場合は、WebOTX Application Server インストール時のディレクトリ階層だと仮定して、診断情報の収集を行います。 また、パスに半角スペースを含む場合は、パス全体を"(ダブルクォーテーション)で括ってください。

  4. 診断サービスの実行が成功すれば、診断レポートの保存先が絶対パスで返却されます。

    例)
    Report File :C:\WebOTX\domains\domain1\diagnostic-reports\domain1_2008-6-3_18-27-17_report.zip
    診断レポートに含まれた情報の詳細は同名のテキストファイルを参照してください。
    !!注意!!
    生成された診断レポート(アーカイブファイル)内に含まれるファイルには、
    ユーザ情報やマシン情報などが含まれる場合があります。
    診断レポートを WebOTX AS 問い合わせ窓口へ送付された場合、
    調査担当部隊では問題解決の目的にのみレポート内の情報を参照し、問題解決後は速やかにレポートを破棄します。
    コマンド generate-diagnostic-report は正常に実行されました。
    

2.3. 診断結果のファイル構成

診断サービスを実行すると、情報を収集したzipファイルが作成されます。 zipファイルの構成は以下の図のようになっています。ただし、収集する情報の種類により、ディレクトリが作成される場合と作成されない場合があります。

diagnositc-image

それぞれのディレクトリには、次のような情報が含まれます。

診断結果のzipファイルの構成
ディレクトリ名 含まれる情報
WebOTX config WebOTX AS の設定ファイル(asenv.bat、asenv.conf)、WebOTX AS <バージョン番号> Agent Service の設定ファイル(woasinfo.properties)
Trnsv Java VM ガ出力するエラーログファイル(hs_err_pidxxx.log)
${INSTANCE_ROOT} システム情報、インストール情報、コンフィグレーション情報、配備アプリケーション情報、ログ情報、モニタリング情報、 Java VM 情報
ant_setup.log WebOTX AS インストール時のログ
Extension 拡張情報

2.4. 診断結果の確認

診断サービスを実行した結果を確認するには、診断レポートとして出力されたzipファイルと同名のテキストレポートを参照します。
テキストレポートは以下のような形式となっています。収集結果は、次のように表されます。

収集結果一覧
収集結果 説明
OK 収集に成功しました。
NG 収集に失敗しました。詳細はagent.logを参照してください。
収集対象に選択されませんでした。

diagnositc-image
図10.2.4-1

テキストレポートの各項目の説明を以下の表に表します。

■診断レポートの概要

テキストレポート(診断レポートの概要)
テキストレポート項目 説明
Date 日付です。
ReportID reportidとして入力された文字列を出力します。
Report 診断レポート名を絶対パスで出力します。

■システム情報

テキストレポート(システム情報)
テキストレポート項目 説明
Operating system information システム情報全体の収集結果です。
OS summary
(OS Name, OS Version, CPU : osinfo.txt)
OSの概要の収集結果です。
Memory usage
(Physical and virtual memory size : osinfo.txt)
メモリの使用状況の収集結果です。
Disk usage
(Total size, Free space, Available space, File system : osinfo.txt)
ディスクの使用状況の収集結果です。
List of processes
(Name, Process ID : osinfo.txt)
プロセス一覧の収集結果です。
List of active connections
(Protocol, Local address, Foreign address, State : osinfo.txt)
ネットワークの状態の収集結果です。
Kernel parameters
(kernel.txt) *HP-UX-only
カーネルパラメータの収集結果です。HP-UXの場合のみ収集することができます。
Share memories
(Message queues, Shared memory, Semaphores : sharememory.txt) *Unix-only
共有メモリの使用状況の収集結果です。UNIXの場合のみ収集することができます。

■インストール情報

テキストレポート(インストール情報)
テキストレポート項目 説明
Installation of WebOTX Application Server インストール情報全体の収集結果です。
Log file about installation of WebOTX Application Server
(ant_setup.log)
WebOTX Application Server インストール時のログの収集結果です。
Configuration file about WebOTX Application Server
(asenv.bat, asenv.conf)
WebOTX Application Server の設定ファイルの収集結果です。
Configuration file about WebOTX AS <バージョン番号> Agent Service
(woasinfo.properties) *Windows-only
WebOTX AS <バージョン番号> Agent Service の設定ファイルの収集結果です。Windowsの場合のみ収集することができます。
Environment variables
(env.txt)
OSの環境変数の収集結果です。
Basic information about WebOTX Application Server
(エディション, Version, Patches : otxinfo.txt)
WebOTX Application Server に関する情報の収集結果です。
List of the all in the "WebOTX" directory
(otxlist.txt)
WebOTX Application Server インストールディレクトリ配下のファイル一覧の収集結果です。

■コンフィグレーション情報

テキストレポート(コンフィグレーション情報)
テキストレポート項目 説明
Configuration of WebOTX Application Server コンフィグレーション情報全体の収集結果です。
Configuration file about target domain
(domain.xml)
ドメインの設定ファイルの収集結果です。
Target domain's "persistent-mbean" directory in "config" directory persistent-mbeanディレクトリの収集結果です。
The files in "tpsystem" directory tpsystemディレクトリ直下のファイルの収集結果です。
Target domain's "tpsystem" directory tpsystemディレクトリ配下の全ファイルの収集結果です。
Target domain's "config" directory
(excluding"persistent-mbean"directory, "tpsystem" directory)
configディレクトリ配下の全ファイルの収集結果です。ただし、persistent-mbeanディレクトリ、 tpsystemディレクトリを除きます。
Included list configディレクトリ配下に対する収集リストの収集結果です。
Excluded list configディレクトリ配下に対する除外リストの除外結果です。

■配備アプリケーション情報

テキストレポート(配備アプリケーション情報)
テキストレポート項目 説明
Configuration of the deployed applications 配備アプリケーション情報全体の収集結果です。
Deployment descriptors
(XML files in "applications" directory)
配備記述子の収集結果です。
Basic files in target domain's "generated" directory
("policy" directory, "xml" directory)
generatedディレクトリ配下の障害調査によく利用されるファイルの収集結果です。
All of the target domain's "generated" directory ggeneratedディレクトリ配下の全ファイルの収集結果です。
Included list applicationsディレクトリ、generatedディレクトリ配下に対する収集リストの収集結果です。
Excluded list applicationsディレクトリ、generatedディレクトリ配下に対する除外リストの除外結果です。

■ログ情報

テキストレポート(ログ情報)
テキストレポート項目 説明
Log of WebOTX Application Server ログ情報全体の収集結果です。
Log file about System.out and System.err
(server.log)
標準出力、標準エラー出力に関するログの収集結果です。
Log files about each service of domain ドメイン上で動作する各サービスに関するログの収集結果です。
Log file about target domain's Java VM crash
(hs_err_pid.log)
Java VM が出力するエラーログファイルの収集結果です。
Log file about server accesses and domain agent accesses
(server_access.log, agent_access.log)
サーバ、ドメインの運用管理エージェントへのアクセスログの収集結果です。
All of the target domain's "logs" directory logsディレクトリ配下の全ファイルの収集結果です。
Included list logsディレクトリ配下に対する収集リストの収集結果です。
Excluded list logsディレクトリ配下に対する除外リストの除外結果です。

■モニタリング情報

テキストレポート(モニタリング情報)
テキストレポート項目 説明
Monitoring information モニタリング情報全体の収集結果です。
Monitoring information
(domain, server, tpsystem : monitorinfo.txt)
モニタリング情報の収集結果です。

■JVM情報

モニタリング情報(JVM情報)
テキストレポート項目 説明
JVM information JVM情報全体の収集結果です。
Target domain's JVM version
(javaversion.txt)
診断対象ドメインのエージェントプロセスのJava VM バージョンの収集結果です。
Memory usage of target domain's JVM
(jvmmemory.txt)
診断対象ドメインのエージェントプロセスのメモリの収集結果です。
Thread dump from target domain's JVM
(threaddump.txt or server.log)
診断対象ドメインのエージェントプロセスのスレッドダンプの収集結果です。
Stack trace of a process group
(${PGNAME}.${PID}.log, ${PGNAME}_sys.${PID}.log)
プロセスグループのスタックトレースの収集結果です。

2.5. 診断サービスの利用例

診断サービスは、障害が起こった場合に利用できます。

  1. アプリケーションサーバに障害が発生した場合、まずは、エラーメッセージを見て、エラーメッセージから原因が分かるようであれば、対処を行って下さい。
  2. 次に、server.log、agent.logにエラーが出力されていないか確認してください。エラーが出ていた場合は、メッセージに従って対処を行って下さい。
  3. それでも解決できず、WebOTXサポート窓口側に問い合わせる場合に、本サービスを利用して情報収集を行い、生成された診断レポートをメールなどで送付して下さい。

3. 統計レポート

統計レポート機能では、一定時間ごとに性能情報などを収集しCSVファイルへ出力を行います。 出力されたCSVファイルは表計算ソフトによりグラフ化したりすることができます。

3.1. 統計レポートの出力項目

CSVファイルには、ドメイン起動後の初回出力時には項目名としてヘッダ行を出力します。 また出力を続けると、CSVファイルはログファイルのように設定されたファイルサイズと世代数に応じてローテーションを行います。 統計レポートの収集した情報は、それぞれ下記の3種類のCSVファイルとして出力されます。

3.1.1. エージェントプロセスの出力項目

エージェントプロセスから採取された情報は以下のファイルに出力されます。

出力先ファイル
${INSTANCE_ROOT}/logs/diagnostics/report.csv

出力内容の例は以下の通りです。

出力内容
Date,Average Response Time (msec),CPU Usage (%),Heap Used (Bytes),Non Heap Used (Bytes),Web Threads,Web Busy Threads,AP Threads, AP Busy Threads,JDBC Connections,Disk Usage (Bytes)
2014/1/12 8:50:00.000,5,50,184525744, 40478096,1,1,1,1,0,43744161792
2014/1/12 8:51:00.000,10,75,184525744, 40478096,2,0,2,0,0,43744161792
...

出力される項目の内容は以下の通りです。

項目説明
Date出力日時
Average Response Time (msec)全サーブレットの平均応答時間
CPU Usage (%)CPU使用率
Heap Used (Bytes)Javaメモリ使用量(ヒープ)
Non Heap Used (Bytes)Javaメモリ使用量(ヒープ以外)
Web ThreadsWeb層での実行スレッド数
Web Busy ThreadsWeb層での実行スレッド数のうちビジーなスレッド数
AP ThreadsAP層での実行スレッド数
AP Busy ThreadsAP層での実行スレッド数のうちビジーなスレッド数
JDBC ConnectionsJDBCコネクション量
Disk Usage (Bytes)ディスク使用量

3.1.2. プロセスグループの出力項目

プロセスグループから採取された情報は以下のファイルに出力されます。

出力先ファイル
${INSTANCE_ROOT}/logs/diagnostics/<アプリケーショングループ名>/<プロセスグループ名>/report.csv

出力内容の例は以下の通りです。

出力内容
Date,CPU Usage (%),Physical Memory Usage (KBytes),Virtual Memory Usage (KBytes),Active Threads,Idle Threads
2014/1/12 8:50:00.000,50,184525, 40478,1,1
2014/1/12 8:51:00.000,75,184525, 40478,2,0
...

出力される項目の内容は以下の通りです。

項目説明
Date出力日時
CPU Usage (%)CPU使用率
Physical Memory Usage (KBytes)物理メモリ消費量
Virtual Memory Usage (KBytes)仮想メモリ消費量
Active Threadsアクティブスレッド数
Idle Threadsアイドルスレッド数

3.1.3. プロセスグループ配下プロセスの出力項目

プロセスグループの各プロセスから採取された情報は以下のファイルに出力されます。

出力先ファイル
${INSTANCE_ROOT}/logs/diagnostics/<アプリケーショングループ名>/<プロセスグループ名>/<プロセスID>/report.csv

出力内容の例は以下の通りです。

出力内容
Date,Heap Used (Bytes)
2014/1/12 8:50:00.000,184525744
2014/1/12 8:51:00.000,184525744
...

出力される項目の内容は以下の通りです。

項目説明
Date出力日時
Heap Used (Bytes)Javaメモリ使用量(ヒープ)

3.1.4. 任意の統計情報を指定した際の出力項目

任意の統計情報を採取するよう設定を行った場合、取得情報は以下のファイルに出力されます。

出力先ファイル
${INSTANCE_ROOT}/logs/diagnostics/optional-stats.csv

出力内容の例は以下の通りです。

出力内容
Date,<統計情報名>
2015/1/12 8:50:00.000,<統計情報の値>
2015/1/12 8:51:00.000,<統計情報の値>
...

出力される項目の内容は以下の通りです。

項目説明
Date出力日時
統計情報名CLIName形式の統計情報名
指定した統計情報の値指定した統計情報の採取結果

3.2. 統計レポートの設定項目

統計レポートの設定は、エージェントプロセスに対する設定とプロセスグループに対する設定があります。

3.2.1. エージェントプロセスの設定項目

エージェントプロセスに対する設定を行うには、統合運用管理ツールより以下のノードを選択します。
[<ドメイン名>]-[アプリケーションサーバ]-[診断サービス]-[統計レポート]

statistics-report-agent

設定項目の詳細は[ コンフィグレーション(設定一覧) > 運用管理エージェント > 運用管理エージェント設定項目一覧 > Dotted-name:server.diagnostic-service.statistics-report ] を参照してください。

3.2.2. プロセスグループの設定項目

プロセスグループに対する設定を行うには、統合運用管理ツールより以下のノードを選択します。
[<ドメイン名>]-[TPシステム]-[アプリケーショングループ]-[<アプリケーショングループ名>]-[プロセスグループ]-[<プロセスグループ名>]
上記ノード選択後、[統計レポート]のタブを選択します。

statistics-report-pg

設定項目の詳細は[ 1. コンフィグレーション(設定一覧) > TPシステム > 運用管理エージェント設定項目・設定方法 > TPシステム設定項目一覧 > WebOTXJ2EEProcessGroup ] を参照してください。

3.2.3. 任意の統計情報を採取するための設定項目

任意の統計情報の採取設定を行うには、統合運用管理ツールより以下のノードを選択します。
[<ドメイン名>]-[アプリケーションサーバ]-[診断サービス]-[統計レポート]を選択した後、[採取情報の追加]タブを選択します。

statistics-report-extend

採取を行う統計情報は、dotted-name(CLIName)形式で指定する必要があり、また採取するために予めモニタニングレベルを変更する必要があります。採取情報のCLIName及びモニタリングレベルについては[ MBean > WebOTX統計MBean一覧]を参照してください。

その他、設定項目の詳細は[ コンフィグレーション(設定一覧) > 運用管理エージェント > 運用管理エージェント設定項目一覧 > Dotted-name:server.diagnostic-service.statistics-report ] を参照してください。

4. 障害対策機能

障害対策機能では、スローダウン障害対策機能とメモリ不足障害対策機能を提供しています。本章では、それぞれについて説明します。

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

4.1.1. スローダウン障害対策機能とは

スローダウン障害対策機能は、下記の機能を提供します。

上記の機能とスローダウン障害対策機能の動作概要については下記の図を参照してください。

diagnositc-image


4.1.2. スローダウン障害対策機能詳細

本節ではスローダウン障害対策機能の詳細動作を説明します。

  1. WebOTX上で実行されるリクエスト処理の実行時間を計測し、「異常とみなす応答時間」(既定値:40秒)を超過しないか監視します。

  2. 「異常とみなす応答時間」を超過するリクエスト処理が発生した場合、スタックトレースを採取してログファイルに出力します。
    また、リクエスト処理の完了後に「異常とみなす応答時間」を超過したことを示す警告ログ(OTX011914xx)を出力します。

  3. 「異常とみなす応答時間」を超えるリクエスト処理が発生した後、さらに下記の条件を両方満たすとスローダウン障害と判断します。
    障害と判断した場合は、「障害回復処理」を実行します。



  4. 「障害回復処理」では障害から復旧するため、WebOTX の負荷を下げる下記の処理を実行します。



  5. 「障害回復処理」を実施後、下記の条件を両方満たしたら、障害から回復したと判断して「障害回復処理」を停止します。



  6. 「障害回復検証時間」(既定値:300秒)を経過しても障害から回復しなかった場合、「プロセス異常終了可否」(既定値:false)の設定により、下記のいずれかの処理を実施します。

以上が、スローダウン障害対策機能の処理の流れとなります。

スローダウン障害対策機能のログは次の箇所に出力されます。

エージェントプロセス プロセスグループ
${INSTANCE_ROOT}/logs/agent.log
${INSTANCE_ROOT}/logs/server.log (スタックトレースのみ)
${INSTANCE_ROOT}/logs/tpsystem/${APGNAME}/${PGNAME}.${PID}.log

出力されるログメッセージの詳細は、[ メッセージ > OTXから始まるメッセージ > OTX01:運用管理エージェント ] を参照してください。「OTX011914xx」が障害対策機能のログメッセージとなります。

4.1.3. スローダウン障害対策機能の設定

スローダウン障害対策機能で使用する設定の一覧は以下の通りです。

スローダウン障害対策機能で使用する設定一覧
設定名
(属性名)
説 明 既定値
スローダウン監視の有効化(slowDownMonitor) スローダウン監視を有効にするか否かを設定します。 true
障害監視間隔(faultWatchInterval) 障害を監視する間隔を指定します。(単位:秒) 60
障害検証時間(faultVerificationTime) 最初の障害発生からプロセス全体の障害とみなすまでに、使用されない動作スレッドの数と負荷を検証するための時間を指定します。(単位:秒) 300
スレッド数の抑制割合(reduceThreadsRate) 負荷を下げるためにリクエストの割当を中断するスレッド数の割合を指定します。 20
障害回復検証時間(recoveryVerificationTime) 負荷を下げるための待ち合わせおよびリクエストの割当中断による障害からの回復を図る時間を指定します。(単位:秒) 300
障害回復待機時間(recoveryWaitTime) 負荷を下げるためにリクエスト終了後に待ち合わせを行う時間を指定します。(単位:秒) 1
スタックトレース採取回数(dumpStackTraceCount) 障害確定前に該当スレッドのスタックトレースを連続して採取する回数を指定します。 1
プロセス異常終了可否(processAbnormallyEnd) trueを指定すると、障害とみなされた場合に業務プロセスを異常終了させます。 false
正常とみなす応答時間(normalResponseTime) 正常とみなすリクエストの応答時間を指定します。(単位:秒) 20
障害とみなす応答時間(faultResponseTime) 障害とみなすリクエストの応答時間を指定します。(単位:秒) 40
障害とみなす未使用スレッド数の割合(faultFreeThreadsRate) 障害とみなす未使用スレッド数の割合を指定します。 10
アボートとみなす応答時間(abortResponseTime) スローダウンの検出に伴いプロセスを再起動するまでの監視時間を指定します。(単位:秒) 1200
スレッドダンプ採取回数(dumpThreadDumpCount) 障害確定後にスレッドダンプを連続して採取する回数を指定します。 3
無視するリクエスト(ignorableRequests) 障害監視の対象外とするリクエスト名のリストを指定します。
アプリケーショングループ/プロセスグループ(customSettingsProcessGroup) 特定のアプリケーショングループ/プロセスグループに対する個別の設定を指定します。設定は、アプリケーショングループ/プロセスグループの操作から実行してください なし
JavaEEアプリケーション(customSettingsJava) 配備しているJavaEEアプリケーションに対する個別の設定を指定します。設定はアプリケーションの操作から実行してください。 なし
WebアプリケーションのURL(customSettingsURL) WebアプリケーションのURLを指定します。特定のURLに対して個別の設定を行ないたい場合、本設定を追加してください。(指定例)<URL>.<設定名>=<設定値> なし
Concurrency Resources(customSettingsConcurrency) Concurrency Resourcesに対する個別の設定を表示します。設定はConcurrency Resourcesの操作から実行してください。 なし

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

4.2.1. メモリ不足障害対策機能とは

メモリ不足障害対策機能では、次の機能を提供します。

上記の機能とメモリ不足障害対策機能の動作概要については下記の図を参照してください。

diagnositc-image


4.2.2. メモリ不足障害対策機能詳細

本節ではメモリ不足障害対策機能の詳細動作を説明します。

  1. 「メモリ使用率の監視間隔」(既定値:600秒)の間隔またはGC実行後のタイミングで、定期的にヒープメモリの使用率を確認します。

  2. ヒープメモリの使用率が「障害とみなすメモリ使用率下限」(既定値:85%)を超えていた場合、下記のログを出力します。
    また、監視タイミングを「定期的(periodic)」としている場合は、使用率の監視の間隔を「障害監視間隔」(既定値:60秒)に変更して、監視を継続します。
    監視タイミングが「GC実行後」の場合は、通常時と同様に「GC実行後」に使用率を監視します。

    ログレベル メッセージ
    INFO OTX01191403: Memory Monitor : ヒープメモリの使用率が <数値> % (障害とみなすメモリ使用率下限)を超えました。障害検証状態に移行します。使用済みヒープメモリサイズ = <数値> KB, 最大ヒープメモリサイズ = <数値> KB


  3. ヒープメモリの使用率が「障害とみなすメモリ使用率下限」を超えた後、「障害検証時間」(既定値:300秒)の間にヒープメモリの使用率が「障害とみなすメモリ使用率上限」(既定値:90%)も超えた場合、ヒープメモリ不足の障害が起きていると判断して「障害回復処理」を実行します。「障害検証時間」の間に、「障害とみなすメモリ使用率上限」を超えない場合は、通常の監視状態に戻ります。

  4. 「障害回復処理」では、障害から復旧するため下記の処理を実行します。


    (*) スローダウン障害対策機能の「障害回復処理」と同じ処理です。

  5. 「障害回復処理」を実施後、ヒープメモリの使用率が「障害とみなすメモリ使用率上限」よりも低くなった場合、障害から回復したと判断して「障害回復処理」を停止します。

  6. 「障害回復処理」を実施後、「障害回復検証時間」(既定値:300秒)を経過してもヒープメモリの使用率が「障害とみなすメモリ使用率上限」よりも低くならず、かつ OutOfMemoryError エラーが発生した場合、「プロセス異常終了可否」(既定値:false)の設定により、下記のいずれかの処理を実施します。

メモリ不足障害対策機能のログは、次の箇所に出力されます。

エージェントプロセス プロセスグループ
${INSTANCE_ROOT}/logs/agent.log
${INSTANCE_ROOT}/logs/heapDump<日時>.bin (ヒープダンプ)
${INSTANCE_ROOT}/logs/heapDump<日時>.log (ヒープダンプ)
${INSTANCE_ROOT}/logs/tpsystem/${APGNAME}/${PGNAME}.${PID}.log
${INSTANCE_ROOT}/logs/heapDump<日時>.bin (ヒープダンプ)
${INSTANCE_ROOT}/logs/heapDump<日時>.log (ヒープダンプ)

出力されるログメッセージの詳細は、[ メッセージ > OTXから始まるメッセージ > OTX01:運用管理エージェント ] を参照してください。「OTX011914xx」が障害対策機能のログメッセージとなります。

4.2.3. メモリ不足障害対策機能の設定

メモリ不足障害対策機能で使用する設定の一覧は以下の通りです。

メモリ不足障害対策機能で使用する設定一覧
設定名
(属性名)
説 明 既定値
メモリ不足監視の有効化(memoryMonitor) メモリ不足監視を有効にするか否かを設定します。 true
障害監視間隔(faultWatchInterval) 障害を監視する間隔を指定します。(単位:秒) 60
障害検証時間(faultVerificationTime) 最初の障害発生からプロセス全体の障害とみなすまでに、使用されない動作スレッドの数と負荷を検証するための時間を指定します。(単位:秒) 300
スレッド数の抑制割合(reduceThreadsRate) 負荷を下げるためにリクエストの割当を中断するスレッド数の割合を指定します。 20
障害回復検証時間(recoveryVerificationTime) 負荷を下げるための待ち合わせおよびリクエストの割当中断による障害からの回復を図る時間を指定します。(単位:秒) 300
障害回復待機時間(recoveryWaitTime) 負荷を下げるためにリクエスト終了後に待ち合わせを行う時間を指定します。(単位:秒) 1
プロセス異常終了可否(processAbnormallyEnd) trueを指定すると、障害とみなされた場合に業務プロセスを異常終了させます。 false
メモリ使用率の監視間隔(memoryWatchInterval) 正常時のメモリ使用量の監視間隔を指定します。(単位:秒) 600
障害とみなすメモリ使用率上限(faultMemoryUsageHMK) フェイルセーフ処理を開始するためのメモリ使用率の閾値を指定します。(単位:%) 90
障害とみなすメモリ使用率下限(faultMemoryUsageLMK) 障害監視間隔でメモリ使用量の計測を開始するためのメモリ使用率の閾値を指定します。(単位:%) 85
ヒープダンプのタイプ(dumpHeapDumpType) 障害確定後に採取するヒープダンプの種類を指定します。次の2つから選択可能です。
・hprof : hprof形式(バイナリ)
・histogram : クラスヒストグラム(テキスト)
hprof
メモリ使用率の監視タイミング(memoryWatchTiming) メモリ使用率の監視タイミングを指定します。次の2つから選択可能です。設定の反映には再起動が必要です。
・periodic : 定期的
・gc : GC実行後
periodic
アプリケーショングループ/プロセスグループ(customSettingsProcessGroup) 特定のアプリケーショングループ/プロセスグループに対する個別の設定を指定します。設定は、アプリケーショングループ/プロセスグループの操作から実行してください なし
JavaEEアプリケーション(customSettingsJava) 配備しているJavaEEアプリケーションに対する個別の設定を指定します。設定はアプリケーションの操作から実行してください。 なし
WebアプリケーションのURL(customSettingsURL) WebアプリケーションのURLを指定します。特定のURLに対して個別の設定を行ないたい場合、本設定を追加してください。(指定例)<URL>.<設定名>=<設定値> なし

4.3. 障害対策機能の設定変更方法

本節では、障害対策機能の設定変更方法について説明します。スローダウン障害対策機能も、メモリ不足障害対策障害対策機能の設定は「診断サービス」という機能にあります。

4.3.1. otxadminコマンドでの設定方法

[ スローダウン障害対策機能の設定 ]、[ メモリ不足障害対策機能の設定 ] ]で紹介している属性値に対しserver.diagnostic-serviceを付与することで設定を確認・変更することが出来ます。

(例) 障害監視間隔(属性名: faultWatchInterval)を確認する場合
otxadmin > login --user <ドメインのユーザ名> ---password <ドメインのパスワード> --port <ドメインのポート番号>
otxadmin > get server.diagnostic-service.faultWatchInterval
server.diagnostic-service.faultWatchInterval = 60
(例) 障害監視間隔(属性名: faultWatchInterval)を変更する場合
otxadmin > login --user <ドメインのユーザ名> ---password <ドメインのパスワード> --port <ドメインのポート番号>
otxadmin > set server.diagnostic-service.faultWatchInterval=60

4.3.2. 運用管理コンソールでの設定方法

[アプリケーションサーバ] > [診断サービス]を選択し、表示されるタブ([フェールセーフ(共通)][フェールセーフ(スローダウン)][フェイルセーフ(メモリ)] )から設定を確認・変更することが可能です。

diagnositc-image