1. はじめに

本書はWebOTX実行環境を運用するための運用操作法について概要や具体的な設定項目や設定方法について記載しています。

対象読者

このマニュアルはWebOTX Application Server Web Edition、Standard-J Edition、Standard Edition、Enterprise Editionを使って運用環境を構築するシステムエンジニア、日々の運用を行うオペレータを対象としています。

表記について

パス名表記

本書ではパス名の表記については特にOSを限定しない限りセパレータはスラッシュ’/’で統一しています。Windows環境においては’\’に置き換えてください。

環境変数表記

インストールディレクトリやドメインルートディレクトリなど環境によって値の異なるものについては環境変数を用いて表します。${env} または $(env)で表しています。

例)
${AS_INSTALL} : インストールディレクトリ
${INSTANCE_ROOT}: ドメインルートディレクトリ

コマンド操作について

本書中では運用操作に用いるコマンドの詳細についての説明は省略しています。 コマンドの詳細は「運用管理コマンド」、「運用管理コマンドリファレンス」を参照してください。

2. ロギングの概要

ログは日々の運用でのメンテナンスや障害発生時の原因調査など、ログはシステム運営において重要な位置を占めています。本章ではWebOTX ASのロギングおよび業務アプリケーションからのログ出力方法について、その概要を説明します。

2.1. WebOTX ASのログについて

この節ではWebOTX AS が出力するログの概要を説明します。

2.1.1. ドメインを構成するサービスについて

WebOTX AS は運用領域をドメインと呼ばれる単位にグルーピングして管理しています。ドメインは各種の機能を提供するサービス群から構成されており、各サービスはその機能を提供するプロセス群またはモジュールと制御モジュールから構成されます。

各サービスは運用管理サービスの中核を担うAgentプロセス内のモジュールとその制御モジュールから構成されるサービスと、Agentプロセスの外部のプロセス群とAgentプロセス内の制御モジュールから構成されるサービスがあります。

1つのドメイン内で出力されるログはそのドメインを構成するサービスが個々の方法を利用して出力しています。そのため、ログの出力方法はサービスにより異なります。

WebOTX ASのログの出力方法は大きくは以下のように分けられます。

(*1)Log4JをベースとしたWebOTX AS独自のログモジュールです

このログ出力方法の違いから、WebOTX AS でのログの設定方法は多岐に渡っています。

そこで、WebOTX AS のログの概要を理解するために、まずはWebOTX AS を構成するサービスの関係について説明します。

ここで、WebOTX AS ではエディションによりドメインを構成するサービスが異なるため、以下にエディション別のサービス構成図を記します。

・Web/Standard-J Edition

Web Edition および Standard-J Edition ではドメインは、ドメイン全体を管理する 運用管理サービス、JMS関連の機能を提供するJMSサービス、CORBA通信関連の機能を提供するObjectBrokerサービス、Webサーバ関連の機能を提供するWebServerサービスから構成されます。

ここで、運用管理サービスのAgentプロセスおよびJMSコンポーネントのJMSプロセスはともにJavaのプロセスであり、ログの出力にはLog4otxを用いています。その他のプロセスは独自の方法を利用してログを出力しています。

各サービスとログの関係の詳細については次節を参照してください。

・Standard/Enterprise Edition

Standard Edition および Enterprise Edition では Web Edition および Standard-J Edition を構成するサービスに加え、Transactionの管理機能を提供するTransactionService、高信頼実行基盤であるTPモニタ サービスから構成されます。また、運用管理サービスのAgentプロセスおよびJMSコンポーネントのJMSプロセスはともにLog4otxを、その他のプロセスは独自の機構を利用してログを出力しています。

各コンポーネントとログの関係については次節を参照してください。

サービスとログの関係

前節でも述べたようにサービスはプロセス群またはモジュールと制御モジュールから構成されています。また、制御モジュールはAgentプロセスの内部で稼動しています。ここで ${INSTANCE_ROOT}/logsには各サービスごとにディレクトリが分けられており、各ディレクトリにはプロセス群またはモジュールが出力するログファイルと制御モジュールが出力するログファイルが格納されます。

以下はエディション別のサービスと出力先ディレクトリの関係図です。

・Web/Standard-J Edition

Webサーバ、JMS、ObjectBrokerのサービスはそれぞれ外部プロセス群とAgentプロセス内の制御モジュールとから構成され、その他のサービスはAgentプロセス内のモジュールと制御モジュールから構成されています。また、各サービスごとに${INSTANCE_ROOT}/logs内にディレクトリ区分されログが出力されます。

${INSTANCE_ROOT}/logs直下に出力されるとログファイルについては以下のようなログが出力されます。

webotx_agent.log ・・・Agentプロセス内の全てのサービスが出力するメッセージが出力されます。

server.log ・・・ Agentプロセスの標準出力が出力されます。

server_err.log ・・・ Agentプロセスの標準エラーが出力されます。

server_access.log ・・・ Webコンテナへのアクセスログが出力されます。

・Standard/Enterprise Edition

Web/Standard-J Editionの場合に加え、TransactionService、TPMonitorサービスが各々外部プロセス群とサービスから構成され、追加されます。また、Web/Standard-J EditionではAgentプロセス内で動作していたWebコンテナ(*2)、EJBコンテナがTPMonitor上で動作します。そして、各サービスごとに${INSTANCE_ROOT}/logs内にディレクトリ区分されログが出力されます。

また、${INSTANCE_ROOT}/logs直下に出力されるwebotx_agent.log、server.log、server_err.logについてはWeb/Standard-J Editionと同様です。

2.2. 業務アプリケーションからログを出力する場合

この節では業務アプリケーションからログを出力する方法について説明します。

WebOTX AS上に配備された業務アプリケーションからログを出力するには業務アプリケーションに含まれるLog4Jを利用する方法と標準出力を利用する方法があります。

(※ WebOTX AS では Ver 8 からLog4Jをバンドルしていません。そのため、Log4Jを利用してログを出力する場合は業務アプリケーション側でLog4Jを用意していただく必要があります。)

Log4Jを利用する場合は次節を、WebOTX ASが提供するAPIを利用する場合は「APIリファレンスマニュアル」を参照してください。

2.2.1. 業務アプリケーションに含まれるLog4Jを利用する場合

 

配備した業務アプリケーションに含まれるLog4Jを利用する場合、アプリケーションが利用するLog4J定義ファイルは、WEB-INF/classes以下に配置する必要があります。

2.2.2. 標準出力を利用する場合

標準出力を利用する場合、エディションまたはドメインの構成により以下のファイルへ出力されます。

3.各サービスのログ

WebOTXの各サービスが出力するログについて説明します。

WebOTXの各オプション製品が出力するログに関しては、各製品のマニュアルを参照してください。

3.1.運用管理

3.1.1. server.log

3.1.2. webotx_agent.log

3.1.3.webotx_admin.log

3.1.4. webotx_security.log

3.1.5. agent_access.log

3.2. CHDL

3.2.1. webotx_chdl.log

3.3. Deploy

3.3.1. webotx_deploy.log

3.4. EJBコンテナ

3.4.1. webotx_ejbcont.log

3.5. JDBC

3.5.1. wojdbc.log

3.5.2. wojta.log

3.6. JMS

3.6.1. wojms.log

3.6.2. wojmsservice.log

3.6.3. std.log

3.6.4. wojmsadmin.log

3.6.5. wojmspacket.log

3.6.6. wojmsmessage.log

3.6.7. wojmserror.log

3.6.8. wojmssv.pid

3.6.9. wojmsexec.log

3.7. JNDI

3.7.1. webotx_jndisp.log

3.7.2.webotx_naming.log

3.8.ObjectBroker

3.8.1.objava.log

3.8.2.webotx_ospi.log

3.8.3.ObLog.log

3.8.4.Oad.log

3.8.5.InterfaceRepository.log

3.8.6.corbaloc.log

3.8.7.namesv.log

3.8.8.cnamesv.log

3.8.9.message.log

3.8.10.syslog.log

3.8.11.oadj.log

3.9.TPモニタ

3.9.1.webotx_tpmmgr.log

3.9.2.${PGNAME}.${PID}.log

3.9.3.${PGNAME}_sys.${PID}.log

3.9.4.${PGNAME}_recovery.${PID}.log

3.9.5.${APGNAME}_EXIT_sys.${PID}.log

3.9.6.${SYSTEMNAME}_IIOPLsn.log${SYSTEMNAME}_A_IIOPLsn.log

3.9.7.${SYSTEMNAME}_woejout<number>.log

3.10.Transaction Service

3.10.1.webotx_ts.log

3.10.2.RCS.trc

3.10.3.LRS.trc

3.10.4.webotx_ts_cpp.log

3.11.Webコンテナ

3.11.1.webotx_catalina.log

3.11.2.webotx_webcont.log

3.11.3.webotx_container.log

3.11.4.webotx_webc_message.log

3.11.5. webotx_webc_stat_vm.log

3.11.6. webotx_webc_stat_webap.log

3.11.7.webotx_struts.log

3.11.8.mod_jk.log

3.11.9.mod_jk_20.log

3.11.10.isapi.log

3.11.11.nsapi.log

3.11.12.mod_jk_om.log

3.11.12.mod_jk_om-20.log

3.12.Webサーバ

3.12.1.webotx_websv.log

3.12.2.access_log(access.log)

3.12.3.error_log(error.log)

3.12.4.ssl_request_log(ssl_request.log)

3.12.5.server_access.log

3.13.Web Service

3.13.1.webservice.log

3.13.2.wsrm.log

3.14.Working Domain Coodinator

3.14.1.wowdc.log

4.その他

4.1.連続運用時のディスクフルについて

連続運用時にログの容量増加に伴うディスクフルの危険性の有無を各ログファイルに以下の表に示します。

ログファイル名 対象Edition ディスクフルの危険性
Web Std-J Std Ent
server.log 有(*8)
webotx_agent.log
server_access.log
webotx_admin.log
webotx_security.log
agent_access.log
webotx_chdl.log
webotx_deploy.log
webotx_ejbcont.log
wojdbc.log
wojta.log
webotx_jndisp.log
webotx_naming.log
objava.log
webotx_ospi.log
ObLog.log 有(*9)
Oad.log 有(*9)
Interface Repository.log ○(*1) ○(*1) ○(*1) 有(*9)
corbaloc.log ○(*1) ○(*1) ○(*1) 有(*9)
namesv.log 有(*9)
cnamesv.log ○(*2) 有(*9)
message.log 有(*9)
syslog.log 有(*9)
oadj.log
webotx_tpmmgr.log
${SYSTEMNAME}_IIOPLsn.log
${SYSTEMNAME}_woejout<number>.log
${PGNAME}.${PID}.log
${PGNAME}_sys.${PID}.log
${PGNAME}_recovery.${PID}.log
${APGNAME}_EXIT_sys.${PID}.log
webotx_ts.log
RCS.trc
LRS.trc
webotx_ts_cpp.log
webotx_catalina.log
webotx_webcont.log
webotx_container.log
webotx_webc_message.log
webotx_webc_stat_vm.log
webotx_webc_stat_webap.log
webotx_struts.log
mod_jk.log (*3) 有(*8)
mod_jk-20.log 有(*8)
isapi.log
nsapi.log
mod_jk_om.log 有(*8)
mod_jk_om-20.log 有(*8)
webotx_websv.log
access_log(access.log) ○(*4) ○(*4) ○(*4) ○(*4) 有(*8)
error_log(error.log) (*6) ○(*4) ○(*4) ○(*4) ○(*4) 有(*8)
ssl_request_log(ssl_request.log) ○(*5) ○(*5) ○(*5) ○(*5) 有(*8)
webservice.log
wsrm.log
wojms.log
wojmsserver.log
std.log 有(*10)
wojmsadmin.log
wojmspacket.log
wojmsmessage.log
wojmserror.log
wojmssv.pid
wojmsexec.log
wowdc.log ○(*2)

(*1)デフォルトでは起動しない      

(*2)WebOTX Clusterとの組み合わせが必要です。

(*3) 標準修正 7.11.02.00の適用が必要です。

(*4)インストール時に「WebOTX Webサーバ(Apache)」を選択した場合のみ出力されます。

(*5)HTTPS使用時に出力されます。

(*6)V7.11.02パッチの適用が必要となります。

(*7)V7.10でのみ出力されるログです

(*8)rotatelogsを利用すれば回避可能です。

(*9)設定により回避可能です。詳しくは3.8節の各ログファイルの項目を参照してください。

(*10)スレッドダンプ取得回数に依存します。

4.2.rotatelogsを利用したログローテーション

4.2.1.server.logのローテーション

server.log などではログのローテーション機能がありませんがWebOTX Web Server(2.0) に付属している

rotatelogs (Apatch に付属するツール)を利用することでし、指定期間やファイルサイズによる切り替えを行うことが可能です。

通常はWebOTX を停止したタイミングでログを退避(削除)する必要がありますが、連続運用などWebOTXを停止せずにserver.log の切り替えを行う必要がある場合に有効です。だたし、rotatelogs では、切り替後のファイルを自動で削除する機能はないため、定期的に古いファイルを削除する必要があります。

rotatelogs のコマンド形式

${AS_INSTALL}/WebServer2/bin/rotatelogs [ -l ] logfile [ rotationtime [ offset ]] | [ filesizeM ]

* サイズを指定する場合は、数字の後に"M"の文字を指定します。

注意事項:rotatelogsを利用してserver.logをローテーションさせる方法はUNIX環境でのみ有効です。

  1. ${AS_INSTALL}/lib/launcher.xmlの編集
    launcher.xmlの以下の箇所のredirectoutputの値をfalseに変更します。

    変更前

       <launch classname="com.nec.webotx.enterprise.server.WebOTXMain"
       requiretools="true"
       print="${print}"
       debug="${jdb}"
       usesystemin="false"
       waitforchild="${wait}"
       redirectoutput="true"
       output="${com.nec.webotx.instanceRoot}${file.separator}logs${file.separator}server.log"
       appendoutput="true"

    変更後

       <launch classname="com.nec.webotx.enterprise.server.WebOTXMain"
       requiretools="true"
       print="${print}"
       debug="${jdb}"
       usesystemin="false"
       waitforchild="${wait}"
       redirectoutput="false"
       output="${com.nec.webotx.instanceRoot}${file.separator}logs${file.separator}server.log"
       appendoutput="true"



  2. ${INSTANCE_ROOT}/bin/startservの編集
    startservの最終行を編集します。

    変更前
       〜-DCATALINA_OPTS="$CATALINA_OPTS" -Dwait="true" start "${@}" >> "${INSTANCE_ROOT}/logs/server.log" 2>&1 &

    変更後
       〜-DCATALINA_OPTS="$CATALINA_OPTS" -Dwait="true" start "${@}" 2>&1 |/opt/WebOTX/WebServer2/bin/rotatelogs "${INSTANCE_ROOT}/logs/server.log" 86400 &

4.2.2.Webサーバのログのログローテーション

Webサーバが出力するログのローテーション方法については、マニュアルの以下の章を参照してください。

[運用編]-[WebOTX Webサーバ運用ガイド]-[4.6 ログファイルのローテーション]

4.2.3.mod_jkのログのローテーション

WebサーバとWebコンテナとの連携モジュールであるmod_jkが出力するログファイルのローテーション方法について説明します。

はじめに、mod_jkの設定ファイル名について説明します。mod_jkの設定ファイルは使用するWebサーバとWebOTXの動作モードによって以下のように変わります。設定ファイルは${INSTANCE_ROOT}/config/WebCont以下にあります。

使用 Webサーバ WebOTX動作モード mod_jk設定ファイル名
WebOTX Webサーバ 1.3 シングルプロセスモード mod_jk.conf-auto
WebOTX Webサーバ 1.3 マルチプロセスモード mod_jk_om.conf-auto
WebOTX Webサーバ 2.0 シングルプロセスモード mod_jk-20.conf-auto
WebOTX Webサーバ2.0 マルチプロセスモード mod_jk_om-20.conf-auto

本章ではWebOTXインストールするフォルダは既定値(C:/WebOTX)、ドメイン名はdomain1、WebOTX Webサーバ2.0とマルチプロセスモードの組み合わせを例に手順を説明いたします。組み合わせがことなる場合も手順は同じですので、ファイル名、パス名を適宜読み替えてください。

以下の手順を、ドメインが停止した状態で行ってください。

  1. mod_jk設定ファイルのリネーム

    mod_jk_om-20.conf-autoをコピーし、mod_jk_om-20.conf-loadを作成します。
  2. mod_jk_om-20.conf-loadの編集

    以下の例では、一日(86400秒)ごとにローテーションさせます。適宜数値は変更してください。また、ファイルサイズでローテーションさせる場合は、数値の後にMをつけることで実現することができます。
    例えば、10MB単位にトーレーションさせる場合は10Mと記述します。


  3. httpd.confの編集

    ${INSTANCE_ROOT}/config/WebServer/httpd.confを編集し、2で作成したmod_jk_om-20.conf-loadを読み込むように編集します。

本手順を行うと、mod_jk_om-20.log.<数字>というファイル名でログが出力されます。数字が小さいものは過去ログとなりますので、削除することができます。

4.3.Standard/Enterprise EditionにおけるサーバAPのログ

Standard/Enterprise Editionにおけるサーバアプリケーションに関するログについて説明します。サーバアプリケーションの動作に問題がある場合に参照すべきログについて説明します。

WebOTXにはシステムやプロセスの稼動状況を示すために様々なトレースファイルが存在します。 何か異常が起こったときは以下に説明するファイルを参照してください。

この表の上位4つのファイルで、ほとんどの場合に対処可能です。トレースレベルを最大にすると通常運用に支障が出る場合もあります。最大よりは1ないし2つほど下げて運用してください。デバッグ時は常に最大にしてください。これらのファイルについてはファイルの読み方とエラー番号一覧 (別のセクションにあるものもあります)を示します。

また、下位2つは上位4つでも判らない時に採取するログです。通常運用には耐えられないほどのログが出ますので、デバッグ時や開発元からの依頼があった時のみ採取願います。下位 2つのファイルに関しては採取方法のみ示します。

トレース種別 トレース内容
サーバアプリケーショントレース(Java) WebOTXのトレースとユーザトレース(TPSUserTrace())をマージして出力します。
サーバアプリケーショントレース(C++) WebOTXのトレースとユーザトレース(TPSUserTrace())をマージして出力します。
システムトレース プロセス起動時の情報やCORBAアプリケーションで検出したエラーの情報が出力します。
イベントログ(Windows)、シスログ(UNIX) WebOTX内部で異常が発生した時に異常の内容を出力します。
サーバアプリケーション内部トレース サーバアプリケーションの下位層(スレッド管理やメッセージ管理など)の状況を出力します。
IIOPリスナ内部トレース クライアントからの要求を管理する部分と下位層(ソケット管理やメッセージ管理など)の状況を出力します。

4.3.1.サーバアプリケーショントレース採取

サーバアプリケーションのログについて説明します。

ファイル名 ディレクトリ サイズ 説明
${PGNAME}.${PID}.log ${INSTANCE_ROOT}
/logs/tpsystem
/${APGNAME}/${PGNAME}
ユーザ
指定値
サーバアプリケーショントレースを採取するには統合運用管理ツールで設定する必要があります。統合運用管理ツールにてプロセスグループのアイコンを選択し、[トレース設定]タブをクリックして[トレース設定]ページを表示してください。このページにある[トレースレベル]が、[出力しない]になっていないことを確認してください。次に、トレースファイルの最大サイズを確認してください(既定値 32 KBytes)。トレースファイル名を確認してください。最後にトレースレベルを確認してください(既定値5)。トレースファイルはトレースファイルの最大サイズに達すると、ファイル名に ".bak" を付加してバックアップファイルを作成します。そして、新規にトレースファイルを作成します。バックアップは一回分しか残しません。WebOTX以外のアプリケーションからサーバアプリケーショントレースにログを出力しても、サイズ算定に含まれません。最大サイズのチェックは出力毎であるため、指定された最大サイズとバックアップされたファイルのサイズは、必ず同じになるわけではありません。サーバアプリケーション中からトレースファイルにトレースを出力するにはTPSUesrTrace()を使用してください。Javaの場合はjava.lang.System.out.println()を用いても出力できます。C++の場合はprintf()を用いても出力できますが、トレースファイルのサイズの最大値以上に出力されることがあります。トレースレベルが5(LOG_NOTICE)の場合、WebOTXとしてエラー以外は何も出力しません。
${PGNAME}_sys.${PID}.log ${INSTANCE_ROOT}
/logs/tpsystem
/${APGNAME}/${PGNAME}
1MB システムトレースファイルです。プロセス起動時の情報やCORBAアプリケーションで検出したエラーの情報が出力されます。Javaアプリケーションでスタック情報採取を行ったときにも出力されます。上記以外の機会に出力されることはありません。
${PGNAME}_EXIT_sys.${PID}.log ${INSTANCE_ROOT}
/logs/tpsystem
/${APGNAME}/${PGNAME}_EXIT
1MB アプリケーション初期プロセスのシステムトレースファイルです。アプリケーション初期プロセスを使用する場合のみ出力されます。プロセス起動時の情報やエラーの情報が出力されます。
${PGNAME}_recovery.${PID}.log ${INSTANCE_ROOT}
/logs/tpsystem
/${APGNAME}/${PGNAME}
1MB プロセス異常終了によりプロセスグループが停止した場合に出力されます。
${PGNAME}.${TIME}.${PID}.log ,
${PGNAME}_sys.${TIME}.${PID}.log ,
${PGNAME}_recovery.${TIME}.${PID}.log
${INSTANCE_ROOT}
/logs/tpsystem
/${APGNAME}/${PGNAME}/save
ユーザ
指定値
プロセス終了時及びプロセスグループ起動時に、使用していないサーバアプリケーショントレースファイルをsaveディレクトリに退避します。saveディレクトリに退避されたログはプロセス異常終了時の障害解析等で必要になる場合がありますが、任意のタイミングでsaveディレクトリを退避あるいは削除することができます。ディスクサイズを節約したい場合は定期的にsaveディレクトリを削除してください。なお、saveディレクトリに退避されていないログは運用中のプロセスのログなので削除しないでください。
${APGNAME}_EXIT_sys.${TIME}.${PID}.log ${INSTANCE_ROOT}
/logs/tpsystem
/${APGNAME}/${PGNAME}_EXIT/save
1MB アプリケーション初期プロセスのプロセス終了時及びアプリケーショングループ起動時に、使用していないシステムトレースファイルをsaveディレクトリに退避します。saveディレクトリに退避されたログはプロセス異常終了時の障害解析等で必要になる場合がありますが、任意のタイミングでsaveディレクトリを退避あるいは削除することができます。ディスクサイズを節約したい場合は定期的にsaveディレクトリを削除してください。なお、saveディレクトリに退避されていないログは運用中のプロセスのログなので削除しないでください。

4.3.2.トレースの読み方(Java)

サーバアプリケーションログは以下のような形式になっています。

ログレベル メッセージ
ログレベル1〜3 yyyy/mm/dd HH:MM:SS.sss|TTT: Error: メッセージ
ログレベル4〜7 yyyy/mm/dd HH:MM:SS.sss|TTT: メッセージ

yyyy 西暦 mmdd

HH 時(00〜23) MM 分(00〜59) SS 秒(00〜59) sss ミリ秒

xxxxxxxx:エラーID(無い場合もあります) TTT:論理スレッド番号 メッセージ:メッセージ本文

WebOTXのサーバアプリケーションが出力するログの中にErrorが出力される場合は何か異常が起きています。主に初期化時にエラーが出ることが多いのでここでは初期か時に発生しうるエラー一覧を載せます。これ以外のエラーが出ている場合は開発元に連絡してください。

エラーメッセージ 原因 対処
Can't get catalog directory. 環境変数 TPM_CAT_DIR の取得に失敗しました。 メモリが不足している可能性があります。OS再起動してください。それでも解決しない場合は、可能ならWebOTXを再インストールしてください。
Can't get application server name. 環境変数TPM_AP_CLASSの取得に失敗しました。 メモリ不足の可能性があります。マシンのメモリ使用量を確認してください。
Can't get TP_HOME. 環境変数 TP_HOME の取得に失敗しました。 WebOTXのインストール情報が壊れている可能性があります。可能なら再インストールしてください。
WG2 file is invalid. コンポーネント定義ファイル(WG2ファイル)が不正です。 コンポーネント定義ファイル(WG2ファイル)が壊れている可能性があります。可能なら再インストールしてください。
Can't read wc2 file. コンポーネント定義ファイル(wc2)ファイルの読み込みに失敗しました。 コンポーネント定義ファイル(wc2ファイル)が壊れている可能性があります。可能ならWebOTXを再インストールしてください。
Cannot initialize Winsock. WinSockの初期化に失敗しました。 WSock32.dllのバージョン(1.1以上が利用可能か)を確認してください。
Can't access naming mutex object. 名前サーバアクセス用Mutexの生成に失敗しました。 メモリ不足の可能性があります。マシンのメモリ使用量を確認してください。
Failed in acquiring the port number of the asynchronous message. サービスのポートに、IIOPリスナ(アライブチェック)用ポートが設定されていません。 /etc/services に”webotx-mess”という名前のサービスを追加してください。
Cannot load ObjectManagerComponent. WebOTXのライブラリのロードに失敗しました。 WebOTXのインストール情報が壊れている可能性があります。可能なら再インストールしてください。
Can't get mutex object for VISConnector. VISコネクタ制御用のMutexオブジェクトの生成ができませんでした。 メモリ不足の可能性があります。マシンのメモリ使用量を確認してください。UNIXの場合、共有メモリが破壊された恐れがあります。マシン再起動が必要かもしれません。
Get classpath failed. wo_jars.cnfからCLASSPATHの生成に失敗しました。 WebOTXあるいはObject Brokerその他のコンポーネントのインストール情報が壊れている可能性があります。可能なら再インストールしてください。
set PATH failed. PATH環境変数の設定に失敗しました。 メモリ不足の可能性があります。マシンのメモリ使用量を確認してください。UNIXの場合、共有メモリが破壊された恐れがあります。マシン再起動が必要かもしれません。
load library error. (jvm.dll) : errno=XX,msg=XX JavaVMのロードに失敗しました。 JDKまたはJREのインストール情報が壊れている可能性があります。JDKまたはJREを再インストールしてください。
find function error. (JNI_CreateJavaVM) : errno=XX, msg=XX JavaVMの初期化関数を見つけられませんでした。 JavaVMのDLLが壊れています。
Can't alloc main object. Javaオブジェクトの生成に失敗しました。 WOTXMAIN.jarが壊れているか改ざんされている恐れがあります。またはメモリが不足している可能性があります。OS再起動してください。それでも解決しない場合は、可能ならWebOTXを再インストールしてください。
Can't create server object. サーバオブジェクトの生成ができませんでした。 サーバオブジェクトのコンストラクタ内で例外が発生する要因が無いか調べてください。
CORBANameServer.bind() failed. 名前サーバへのオブジェクトのバインドに失敗しました。 名前サーバが正しく稼動しているか、orbmanag.exe(Object Brokerのツール)で確認してください。
Catch OMWatchComException. オブジェクトのバインド時・アンバインド時に、Watchサーバが停止している可能性があります。 Watchサーバプロセスの存在確認と、Watchサーバのログを確認してください。
Catch OMWatchServerException. オブジェクトのバインド時・アンバインド時に、Watchサーバ内部で例外しました。 Watchサーバプロセスの存在確認と、Watchサーバのログを確認してください。
OTXSCur.TransactionService.init() is error. WebOTX TransactionServiceの初期化に失敗しました。 WebOTX TransactionServiceのログを確認して対処してください。
APProlog abnormally done. アプリケーションの初期化に失敗しました。 上記エラーが出た場合に出力されます。この前のエラーメッセージを見て対処してください。
Thread does not have initialized(ret=XX). スレッドの初期化に失敗しました。 上記エラーが出た場合に出力されます。この前のエラーメッセージを見て対処してください。
AbortExit(exitkey=XX, endkey=XX). 例外が発生しました(開始) 例外が発生したので、後処理を開始しました。
AbortExit(exitkey=XX, endkey=XX)(finished). 例外が発生しました(終了) 例外の後処理が完了しました。
Disconnecting terminal(XXXXXX). クライアントとのセションが切れました(開始) CreateServerObject()を呼び出した後、ReleaseServerObject()を呼び出す前にクライアントアプリケーションが終了したと思われます。クライアントアプリケーション側でReleaseServerObjectを呼ばずに終了する箇所があれば、通常のクライアントアプリケーション終了時にも出力される可能性があります。また、このメッセージは対象とするクライアントアプリケーションが使用しているはアプリケーショングループ内の全プロセスに通知されます。
Disconnecting terminal(XXXXXX)(finished). クライアントとのセションが切れました(開始) クライアントとのセッションが切れた処理が完了しました。
The following TX execution is unfinished このエラーメッセージに記述されたオペレーションの実行途中にプロセスが終了しました。 イベントログ(syslog)を確認し、原因を判別してください。該当オペレーションに問題がないか確認してください。

4.3.3.トレースの読み方(C++)

サーバアプリケーションログは以下のような形式になっています。

ログレベル メッセージ
ログレベル1〜3 yyyy/mm/dd HH:MM:SS.sss|TTT: Error: メッセージ
ログレベル4〜7 yyyy/mm/dd HH:MM:SS.sss|TTT: メッセージ

yyyy 西暦 mmdd

HH 時(00〜23) MM 分(00〜59) SS 秒(00〜59) sss ミリ秒

xxxxxxxx:エラーID(無い場合もあります) TTT:論理スレッド番号 メッセージ:メッセージ本文

WebOTXのサーバアプリケーションが出力するログの中にErrorが出力される場合は何か異常が起きています。主に初期化時にエラーが出ることが多いのでここでは初期化時に発生するエラー一覧を載せます。これ以外のエラーが出ている場合は開発元に連絡してください。

エラーメッセージ 原因 対処
Can't get catalog directory. 環境変数 TPM_CAT_DIR の取得に失敗しました。 メモリが不足している可能性があります。OS再起動してください。それでも解決しない場合は、可能ならWebOTXを再インストールしてください。
Can't get application server name. 環境変数TPM_AP_CLASSの取得に失敗しました。 メモリ不足の可能性があります。マシンのメモリ使用量を確認してください。
Can't get TP_HOME. 環境変数 TP_HOME の取得に失敗しました。 WebOTXのインストール情報が壊れている可能性があります。可能なら再インストールしてください。
WG2 file is invalid. コンポーネント定義ファイル(WG2ファイル)が不正です。 コンポーネント定義ファイル(WG2ファイル)が壊れている可能性があります。可能なら再インストールしてください。
Can't read wc2 file. コンポーネント定義ファイル(Wc2)の読み込みに失敗しました。 コンポーネント定義ファイル(Wc2ファイル)が壊れている可能性があります。可能なら再インストールしてください。
Cannot initialize Winsock. WinSockの初期化に失敗しました。 WSock32.dllのバージョン(1.1以上が利用可能か)を確認してください。
Can't access naming mutex object. 名前サーバアクセス用Mutexの生成に失敗 メモリ不足の可能性があります。マシンのメモリ使用量を確認してください。
Failed in acquiring the port number of the asynchronous message. サービスのポートに、IIOPリスナ(アライブチェック)用ポートが設定されていません。 /etc/services にwebotx-messという名前のサービスを追加してください。
Cannot load ObjectManagerComponent. WebOTXのライブラリのロードに失敗しました。 WebOTXのインストール情報が壊れている可能性があります。可能なら再インストールしてください。
Cannot load dll = XX. サーバコンポーネントのロードに失敗しました。 サーバコンポーネントが不正か、コンポーネントが正常に登録できていません。また、サーバコンポーネントと、それがリンクしているライブラリとの間に不整合がある場合も考えられます。サーバコンポーネント、使用している共有コンポーネントを再登録してみてください。それでも解決しない場合は、コンポーネントをリビルドして再登録してください。
exception: CreateRegidentObject() 常駐オブジェクトの生成に失敗しました。 常駐オブジェクトのコンストラクタ内で例外が発生する要因が無いか調べてください。メモリ不足の可能性もあります。
Cannot Find Component Init Function XX. コンポーネント初期化関数が見つかりません。 設定されているコンポーネント初期化関数の名前を確認してください。
WOServantCallback is not set . WOServantCallbackがsetされていません。 コンポーネント初期化関数から、WebOTX::WOComponent::add()を使用してコンポーネント内の全インターフェースの情報を登録するようにコンポーネントを再作成してください。
Can't get function address for create object. サーバオブジェクト生成関数が見つかりません。 IDLコンパイルからやり直してください。xxx_Entry.C(.cpp)を含めているか確認してください。
Can't create object. サーバオブジェクトの生成ができませんでした。 サーバオブジェクトのコンストラクタ内で例外が発生する要因が無いか調べてください。メモリ不足の可能性もあります。
Fail binding. error=XX 名前サーバへのオブジェクトのバインドに失敗しました。 名前サーバが正しく稼動しているか、orbmanag.exe(Object Brokerのツール)で確認してください。
Fail unbinding. error=XX 名前サーバへのオブジェクトのアンバインドに失敗しました。 名前サーバが正しく稼動しているか、orbmanag.exe(Object Brokerのツール)で確認してください。
Catch OMWatchComException. オブジェクトのバインド時・アンバインド時に、Watchサーバが停止している可能性があります。 Watchサーバプロセスの存在確認と、Watchサーバのログを確認してください。
Catch OMWatchServerException. オブジェクトのバインド時・アンバインド時に、Watchサーバ内部で例外しました。 Watchサーバプロセスの存在確認と、Watchサーバのログを確認してください。
Can't set property header(process shared memory is exception). 共有プロパティのプロパティアクセスにて共有メモリにアクセスできませんでした。 メモリ不足の可能性があります。マシンのメモリ使用量を確認してください。UNIXの場合、共有メモリが破壊された恐れがあります。マシン再起動が必要かもしれません。
Can't get property header(process shared memory is exception). 共有プロパティのプロパティアクセスにて共有メモリにアクセスできませんでした。 メモリ不足の可能性があります。マシンのメモリ使用量を確認してください。UNIXの場合、共有メモリが破壊された恐れがあります。マシン再起動が必要かもしれません。
WebOTX TransactionService is not installed. WebOTX TransactionServiceがインストールされてないようです。 PATH環境変数を確認してください。可能ならWebOTX TransactionServiceを再インストールしてください。
TransactionService::init() is FALSE. WebOTX TransactionServiceの初期化に失敗しました。 WebOTX TransactionServiceのログを確認して対処してください。
Unable to tx_register(). WebOTX TransactionServiceのデータベース名の設定が失敗しました。 WebOTX TransactionServiceのログを確認して対処してください。
APProlog abnormally done. アプリケーションの初期化に失敗しました。 上記エラーが出た場合に出力されます。この前のエラーメッセージを見て対処してください。
Thread does not have initialized(ret=XX). スレッドの初期化に失敗しました。 上記エラーが出た場合に出力されます。この前のエラーメッセージを見て対処してください。
AbortExit(exitkey=XX,endkey=XX)(finished). 例外が発生しました(終了) 例外の後処理が完了しました。
Disconnecting terminal(XXXXXX). クライアントアプリケーションとのソケットコネクションが切れました CreateServerObject()を呼び出した後、ReleaseServerObject()を呼び出す前にクライアントアプリケーションが終了したと思われます。クライアントアプリケーション側でReleaseServerObjectを呼ばずに終了する箇所があれば、通常のクライアントアプリケーション終了時にも出力される可能性があります。また、このメッセージは対象とするクライアントアプリケーションが使用しているはアプリケーショングループ内の全プロセスに通知されます。
Disconnecting terminal(XXXXXX)(finished). クライアントアプリケーションとのソケットコネクションが切れました(終了) クライアントアプリケーションとのソケットコネクション切断時の後処理が完了しました。
The following TX execution is unfinished. このエラーメッセージに記述されたオペレーションの実行途中にプロセスが終了しました。 イベントログ(syslog)を確認し、原因を判別してください。該当オペレーションに問題がないか確認してください。

4.3.4.サーバアプリケーション内部トレースの採取方法

サーバアプリケーショントレース(Java)および サーバアプリケーショントレース(C++)では主にオブジェクト管理部分のトレースを出力します。

これより低レベルの情報(スレッド管理、メッセージ管理、プロセス監視など)を表示する方法があります。かなりの量のトレースを出力するため、プロセスが起動しないときや、明らかに動作がおかしいとき、開発元に調査依頼を行う時などのみ採取すべきです。

以下にサーバアプリケーション内部トレースの採取方法を示します。

これで、/tmp/servertrc.txtに内部ログの初めの部分、続きはサーバアプリケーショントレースに出力されます。ファイルに何か出力されていることを確認した後、まとめて開発元に送付してください。

ファイルの採取が終わりましたら、環境定義ファイルを元に戻してください。コマンドライン引数の-OltpTplibTraceも削除してください。

4.3.5.IIOPリスナ内部トレースの採取方法

IIOPリスナは普段はクライアントからの要求を適切なサーバアプリケーションに振り分ける処理を行います。もし、クライアントからの通信が行えなかったり、サーバアプリケーションに正しく要求が届かなかったりする場合は、IIOPリスナのトレースを採取して開発元に送付してください。

これも、かなりの量のトレースを出力しますので、普段は採取しないようにしてください。

IIOPリスナは二つのトレースファイルから構成されます。一つは通信管理部分。もう一つは振り分け部分になります。

通信管理部分のトレース

${INSTANCE_ROOT}/config/tpsystem/iiop.sgをnotepadかviなどのエディタで開いてください。ファイル中の説明を読んでトレース採取の有無、トレースファイル名、ファイルサイズを設定して下さい。
このログは開発環境での障害発生時に採取を依頼する場合があります。通常の運用ではユーザは意識する必要はありません。

振り分け部分のトレース

${INSTANCE_ROOT}/config/tpsystem/IIOPLsn.sg.sv をIIOPLsn.sg に変更してください。
これで、${INSTANCE_ROOT}/logs/tpsystem/システム名_IIOPLsn.log に振り分け部分のトレースを出力します。ファイルサイズを変更する場合は、上記設定ファイルIIOPLsn.sgをファイル中の説明を読んで変更して下さい。
このログは障害発生時に採取を依頼する場合があります。通常の運用ではユーザは意識する必要はありません。
ログファイルのサイズが32KBを超えると新しいログファイルが作成されます。古いログファイルは<ログファイル名.bak>として保存されます。ログは2世代で、世代数の変更はできません。

以上の設定が終わったら該当するTPシステムを再起動してください。上記ファイルにファイルに何か出力されていることを確認した後、まとめて開発元に送付してください。

ファイルの採取が終わりましたら、全て元に戻してください。

4.4.業務アプリケーションがLog4Jを利用する場合の注意点

WebOTX上で動作するJavaアプリケーションにおいて、Log4Jを利用する場合の注意点について説明します。

4.4.1.マルチプロセスモードでWebアプリケーションのログ出力を行う場合

Standard、Enterprise Editionをマルチプロセスモードで動作させる場合のWebアプリケーションのログ出力の手順について説明します。
マルチプロセスモードで実行する場合、WebAPはプロセスグループ上で動作します。プロセスグループは、多重度を設定することができるため、ファイルにログ出力を行う場合、複数のプロセスが同じファイルに書き込みを行い、メッセージの欠損やローテート失敗によるメッセージの全損等等の問題が発生する可能性があります。そのため、以下のいずれかの手順で問題を回避する必要があります。

Webアプリケーションのログをプロセスグループのログに出力する場合

アプリケーションのログをプロセスグループのログに出力するには、標準出力を利用します。プロセスグループ上で標準出力を行うと、プロセスグループのログファイルに出力されます。ログファイルは以下に出力されます。
${INSTANCE_ROOT}/logs/tpsystem/${APGNAME}/${PGNAME}/${PGNAME}.${PID}.log

Webアプリケーションのログを個別のファイルに出力する場合

Webアプリケーションのログを個別のファイルに出力する場合、出力するログファイル名に、Webアプリケーションが動作するプロセスのプロセスIDを付与することで、多重度を設定した場合でもプロセス単位にログを出力することができます。d

4.4.2.Log4Jで利用できるJavaシステムプロパティ

Standard、Enterprise Editionを利用している場合は、次のJavaシステムプロパティが利用できます。

これらのJavaシステムプロパティをLog4Jのプロパティに指定することにより、プロセスIDの取得等が可能になります。

出力情報 Javaシステムプロパティ名
ドメイン名 domain.name
System名 jp.co.nec.WebOTX.SystemName
アプリケーショングループ名 jp.co.nec.WebOTX.APGroupName
プロセスグループ名 jp.co.nec.WebOTX.ProcessGroupName
プロセスID jp.co.nec.WebOTX.ProcessID

(注意) 上記のJavaシステムプロパティに指定する値は変更できません。変更した場合の動作は保証できません。

4.5. ログの設定方法

エージェントプロセス内で動作するコンポーネントはコンポーネント単位にログレベルを設定することが可能です。ログレベルの変更はエージェントが起動中でも反映することができます。これらの設定は、統合運用管理ツールから変更が可能です。

以下のコンポーネント毎のログレベル設定が可能です。

コンポーネント名

コンポーネント

ログレベル(既定値)

admin adminモジュールのログレベルを指定します。 CONFIG
admin-assistant admin-assistantモジュールのログレベルを指定します。 CONFIG
admlistener admlistenerモジュールのログレベルを指定します。 CONFIG
chdl CHDLモジュールのログレベルを指定します。 CONFIG
core coreモジュールのログレベルを指定します。 CONFIG
deployment deploymentモジュールのログレベルを指定します。 CONFIG
ejb-container ejb-containerモジュールのログレベルを指定します。 CONFIG
jaxr jaxrモジュールのログレベルを指定します。 CONFIG
jaxrpc jaxrpcモジュールのログレベルを指定します。 CONFIG
jaxws jaxwsモジュールのログレベルを指定します。 CONFIG
jdbc-datasource jdbc-datasourceモジュールのログレベルを指定します。 CONFIG
jms-client jms-clientモジュールのログレベルを指定します。 CONFIG
jmx-remote-access jmx-remote-accessモジュールのログレベルを指定します。 CONFIG
jndi jndiモジュールのログレベルを指定します。 CONFIG
jndi-service jndi-serviceモジュールのログレベルを指定します。 CONFIG
jta jtaモジュールのログレベルを指定します。 CONFIG
oadj oadjモジュールのログレベルを指定します。 CONFIG
objectbroker objectbrokerモジュールのログレベルを指定します。 CONFIG
objectbrokerjava-lib objectbrokerjava-libモジュールのログレベルを指定します。 CONFIG
objectbrokerjava-msg objectbrokerjava-msgモジュールのログレベルを指定します。 CONFIG
process-conductor process-conductorモジュールのログレベルを指定しま CONFIG
saaj saajモジュールのログレベルを指定します。 CONFIG
security securityモジュールのログレベルを指定します。 CONFIG
service-repogitory service-repogitoryモジュールのログレベルを指定します。 CONFIG
sip-servlet sip-servletモジュールのログレベルを指定します。 CONFIG
sip-stack-core sip-stack-coreモジュールのログレベルを指定します。 CONFIG
sip-stack-javax sip-stack-javaxモジュールのログレベルを指定します。 CONFIG
tpmonitormanager tpmonitormanagerモジュールのログレベルを指定します。 CONFIG
transaction transactionモジュールのログレベルを指定します。 CONFIG
transactionservice transactionserviceモジュールのログレベルを指定します。 CONFIG
wdc wdcモジュールのログレベルを指定します。 CONFIG
web-container web-containerモジュールのログレベルを指定します。 CONFIG
webserver webserverモジュールのログレベルを指定します。 CONFIG
wsrm wsrmモジュールのログレベルを指定します。 CONFIG
ログレベルの変更

なお、ログレベルに設定する値を以下に示します。

threshold値

説明

OFF 全ての出力を行いません
ERROR ERRORレベル以上のメッセージを出力します。(V7以前ではSEVERE)
WARN WARNレベル以上のメッセージを出力します。(V7以前ではWARNING)
INFO INFOレベル以上のメッセージを出力します。
CONFIG CONFIGレベル以上のメッセージを出力します。
DEBUG DEBUGレベル以上のメッセージを出力します。(V7以前ではFINE)
DETAIL DETAILレベル以上のメッセージを出力します。(V7以前ではFINER)
TRACE TRACEレベル以上のメッセージを出力します。(V7以前ではFINEST)
ログファイルの最大サイズの変更

属性名と運用管理ツール表示、ファイル名の対応は以下の表になります。

  

属性名

運用管理ツール表記

ファイル名

サイズ(既定値)

ADMINFILELOGMaxFileSize Admin webotx_admin.log 100KB
FILELOGMaxFileSize Agent webotx_agent.log 1MB
JMXREMOTEACCESSLOGMaxFileSize Agent Access Log agent_access.log 100KB
CHDLFILELOGMaxFileSize CHDL webotx_chdl.log 100KB
DEPLOYFILELOGMaxFileSize Deployment webotx_deploy.log 100KB
EJBCONTAINERFILELOGMaxFileSize EJB Container webotx_ejbcont.log 100KB
WOJDBCFILELOGMaxFileSize JDBC wojdbc.log 512KB
WOJMSFILELOGMaxFileSize JMS wojms.log 512KB
JNDISPFILELOGMaxFileSize JNDI Service webotx_jndisp.log 100KB
WOJTAFILELOGMaxFileSize JTA wojta.log 512KB
NAMINGFILELOGMaxFileSize Naming webotx_naming.log 100KB
OSPIJLIBFILELOGMaxFileSize Oadj objava.log 1MB
OSPIFILELOGMaxFileSize Object Broker webotx_ospi.log 100KB
BPLOGMaxFileSize Process Conductor bizbp_engine.log 100KB
SECURITYFILELOGMaxFileSize Security webotx_security.log 100KB
SERVICEREPOSITORYLOGMaxFileSize Service Repository webotx_srep.log 100KB
SIPSTACKFILELOGMaxFileSize Sip Stack webotx_sipstack.log 100KB
SIPSTACKTRCLOGMaxFileSize Sip Stack Trace webotx_sipstack.trc 100KB
TPMMGRFILELOGMaxFileSize TP Monitor Manager webotx_tpmmgr.log 100KB
TSFILELOGMaxFileSize Transaction Service webotx_ts.log 100KB
WEBCONTAINERFILELOGMaxFileSize Web Container webotx_webcont.log 100KB
WSRMFILELOGMaxFileSize Web Service Reliable Messaging wsrm.log 100KB
WEBSVFILELOGMaxFileSize WebServer webotx_websv.log 100KB
WSFILELOGMaxFileSize WebService webservice.log 100KB
WDCFILELOGMaxFileSize Working Domain Cordinator wdc.log 100KB
ログの世代数の変更

属性名と運用管理ツール表示、ファイル名の対応は以下の表になります。

  

属性名

運用管理ツール表記

ファイル名

世代数(既定値)

ADMINFILELOGMaxBackupIndex Admin webotx_admin.log 1
FILELOGMaxBackupIndex Agent webotx_agent.log 2
JMXREMOTEACCESSLOGMaxBackupIndex Agent Access Log agent_access.log 1
CHDLFILELOGMaxBackupIndex CHDL webotx_chdl.log 1
DEPLOYFILELOGMaxBackupIndex Deployment webotx_deploy.log 1
EJBCONTAINERFILELOGMaxBackupIndex EJB Container webotx_ejbcont.log 1
WOJDBCFILELOGMaxBackupIndex JDBC wojdbc.log 1
WOJMSFILELOGMaxBackupIndex JMS wojms.log 1
JNDISPFILELOGMaxBackupIndex JNDI Service webotx_jndisp.log 1
WOJTAFILELOGMaxBackupIndex JTA wojta.log 1
NAMINGFILELOGMaxBackupIndex Naming webotx_naming.log 1
OSPIJLIBFILELOGMaxBackupIndex Oadj objava.log 1
OSPIFILELOGMaxBackupIndex Object Broker webotx_ospi.log 1
BPLOGMaxBackupIndex Process Conductor bizbp_engine.log 1
SECURITYFILELOGMaxBackupIndex Security webotx_security.log 1
SERVICEREPOSITORYLOGMaxBackupIndex Service Repository webotx_srep.log 1
SIPSTACKFILELOGMaxBackupIndex Sip Stack webotx_sipstack.log 1
SIPSTACKTRCLOGMaxBackupIndex Sip Stack Trace webotx_sipstack.trc 1
TPMMGRFILELOGMaxBackupIndex TP Monitor Manager webotx_tpmmgr.log 1
TSFILELOGMaxBackupIndex Transaction Service webotx_ts.log 1
WEBCONTAINERFILELOGMaxBackupIndex Web Container webotx_webcont.log 1
WSRMFILELOGMaxBackupIndex Web Service Reliable Messaging wsrm.log 1
WEBSVFILELOGMaxBackupIndex WebServer webotx_websv.log 1
WSFILELOGMaxBackupIndex WebService webservice.log 1
WDCFILELOGMaxBackupIndex Working Domain Cordinator wdc.log 1

ロガー名称

WebOTXがデフォルトで設定しているロガーの名称について説明します。コンポーネント別に独自のファイルアペンダを用意しています。

コンポーネント名

ロガー名

使用するアペンダ

apacheプロジェクト org.apache.tomcat
org.apache.coyote
org.apache.jasper
org.apache.jk
FILELOG
commons org.apache.commons ADMINFILELOG
struts org.apache.struts STRUTSFILELOG
Catalina org.apache.catalina CATALINAFILELOG
共通 com.nec.webotx EVENTLOG/SYSLOG
FILELOG
NOTIFICATIONLOG
javax javax FILELOG
tomcat tomcat CATALINAFILELOG
エージェント本体 com.nec.webotx.enterprise.system.util
com.nec.webotx.enterprise.system.tools.admin
com.nec.webotx.enterprise.system.core
com.nec.webotx.enterprise.admin
ADMINFILELOG
セキュリティ com.nec.webotx.enterprise.system.core.security SECURITYFILELOG
コンテナ com.nec.webotx.enterprise.system.container CONTAINERFILELOG
EJBコンテナ com.nec.webotx.enterprise.system.container.ejb EJBCONTAINERFILELOG
Webコンテナ com.nec.webotx.enterprise.system.container.web WEBCONTAINERFILELOG
ネーミング com.nec.webotx.enterprise.system.core.naming NAMINGFILELOG
デプロイ com.nec.webotx.enterprise.system.tools.deployment DEPLOYFILELOG
Object Broker Java
ライブラリ
com.nec.objectbrokerjava
com.nec.objectbrokerjava.lib
com.nec.objectbrokerjava.msg
OSPIJLIBFILELOG
Object Broker com.nec.webotx.enterprise.system.objectbroker OSPIFILELOG
Transactionサービス com.nec.webotx.enterprise.system.transactionservice TSFILELOG
JNDIサービス com.nec.webotx.enterprise.system.jndisp JNDISPFILELOG
HTTPサービス com.nec.webotx.enterprise.system.webserver WEBSVFILELOG
JDBCデータソース com.nec.wojdbc WOJDBCFILELOG
JTA com.nec.wojta WOJTAFILELOG
内部Webサーバ server ACCESSFILELOGSERVER
Webサービス com.nec.webotx.webservice WSFILELOG
Webサービス org.apache.axis WSFILELOG
Webサービス org.apache.ws WSFILELOG
Webサービス com.nec.webotx.enterprise.system.webservices.ws WSFILELOG
Webサービス(高信頼メッセージング) com.nec.webotx.webservice.wsrm WSRMFILELOG
UDDI com.nec.jp.uddi UDDIFILELOG
JMS com.nec.wojms WOJMSFILELOG
TPモニタマネージャ com.nec.webotx.enterprise.system.TPMonitorManager TPMMGRFILELOG
Admリスナ com.nec.webotx.enterprise.system.admListener TPMMGRFILELOG
運用アシスタント com.nec.webotx.enterprise.system.WOAdminAssistant TPMMGRFILELOG
運用操作 com.nec.webotx.enterprise.system.remote_access JMXREMOTEACCESSLOG
Working Domain Coordinator com.nec.webotx.enterprise.system.wdc WDCFILELOG
ESB com.nec.webotx.jbi ESBFILELOG
CHDL com.nec.jp.rws.chdl CHDLFILELOG
Sip com.nec.webotx.sipstack.core.LogWriter SIPSTACKFILELOG
Sip com.nec.webotx.sipstack.javax.sip.stack.ServerLog SIPSTACKTRCLOG
Sip com.nec.webotx.servlet.sip WEBCONTAINERFILELOG
運用管理コンソール __otxadmin ACCESSFILELOGSERVER
Service Repository com.nec.webotx.srep.server SERVICEREPOSITORYLOG
アペンダ

WebOTXがデフォルトで設定しているアペンダについて説明します。

CONSLOG

コンソールに出力するためのアペンダです。通常は使用しません。

パラメータ

既定値 説明
appender class com.nec.webotx.org.apache.Log4J.ConsoleAppender アペンダのクラス名
layout class com.nec.webotx.org..apache.Log4J.PatternLayout パターンレイアウトクラス
ConversionPattern "%d %-5p %c - %m [%t]%n" レイアウトパターン

EVENTLOG(Windows環境のみ有効)

イベントログに出力するためのアペンダです。EVENTLOGアペンダに付いてはSLOGINFOレベル以上のメッセージしか出力されません。

パラメータ 既定値 説明
appender class com.nec.webotx.logging.OTXNTEventLogAppender アペンダのクラス名
Source WebOTX AS イベントログソース名
layout class com.nec.webotx.org.apache.Log4J.PatternLayout パターンレイアウトクラス
ConversionPattern "%m (%c)" レイアウトパターン

SYSLOG(UNIX環境のみ有効

syslogに出力するためのアペンダです。SYSLOGアペンダに付いてはSLOGINFOレベル以上のメッセージしか出力されません。
なおアペンダSYSLOGはネットワークを経由してsyslogに出力しているため、Linux環境においてはシスログ出力を有効にするためにはsyslogdに’-r’オプションをつけてください。’-r’オプションがないと出力されません。出力先はデフォルトでlocalhostです。変更するにはSyslogHostを変更してください。

パラメータ 既定値 説明
appender class com.nec.webotx.logging.OTXSyslogAppender アペンダのクラス名
SyslogHost localhost ホスト名
Facility user ファシリティ
layout class com.nec.webotx.org.apache.Log4J.PatternLayout パターンレイアウトクラス
ConversionPattern "%m (%c)" レイアウトパターン

NOTIFICATIONLOG

重要ログメッセージをJMX Notificationとして通知を行なうためのアペンダです。この通知は統合運用管理ツールのイベントビューに表示されます。SYSLOGアペンダに付いてはSLOGINFOレベル以上のメッセージしか出力されません。

パラメータ 既定値 説明
appender class com.nec.webotx.logging.OTXNotificationLogAppender アペンダのクラス名
layout class com.nec.webotx.org.apache.Log4J.PatternLayout パターンレイアウトクラス
ConversionPattern "%m (%c)" レイアウトパターン

XXXXFILELOG

ログファイルに出力するためのアペンダです。

パラメータ 既定値 説明
appender class com.nec.webotx.org.apache.Log4J.RollingFileAppender アペンダのクラス名
threshold WARN 出力レベル
以下のアペンダ
UDDIFILELOG
BPLOG
INFO 出力レベル
以下のアペンダ
STRUTSFILELOG
PROCESSENGINELOG
File ${com.nec.webotx.instanceRoot}/logs/xxxx/webotx_yyyy.log 出力ファイル名

MaxFileSize

1MB(webotx_agent.log,objava.log)

ファイルサイズ上限

512KB(wojdbc.log,wojms.log,wojta.log)
100KB(上記以外)

MaxBackupIndex

2(webotx_agent.log)

ログファイルをバックアップする数

1(上記以外)
layout class com.nec.webotx.org.apache.Log4J.PatternLayout パターンレイアウトクラス
ConversionPattern "%c - %m [%t]" レイアウトパターン

JMXREMOTEACCESSLOG

リモートアクセスログを出力するためのアペンダです。この通知は${INSTANCE_ROOT}/logs/agent/にagent_access.logとして出力されます。

     
パラメータ 既定値 説明
appender class com.nec.webotx.org.apache.Log4J.RollingFileAppenderr アペンダのクラス名
File agent_access.log 出力ファイル名
MaxFileSize 100KB ファイルサイズ上限
MaxBackupIndex 1 ログファイルをバックアップする数
layout class com.nec.webotx.org.apache.Log4J.PatternLayout パターンレイアウトクラス
ConversionPattern "%d %m %n" レイアウトパターン

各アペンダに対応するファイル名一覧

アペンダ

ファイル名

ロガー名

FILELOG webotx_agent.log org.apache.tomcat
org.apache.coyote
org.apache.jasper
org.apache.jk
com.nec.webotx
javax
ADMINFILELOG webotx_admin.log org.apache.commons
com.nec.webotx.enterprise.system.util
com.nec.webotx.enterprise.system.tools.admin
com.nec.webotx.enterprise.system.core
com.nec.webotx.enterprise.admin
CATALINAFILELOG webotx_catalina.log org.apache.catalina
tomcat
STRUTSFILELOG webotx_struts.log org.apache.struts
SECURITYFILELOG webotx_security.log com.nec.webotx.enterprise.system.core.security
EJBCONTAINERFILELOG webotx_ejbcont.log com.nec.webotx.enterprise.system.container.ejb
WEBCONTAINERFILELOG webotx_webcont.log com.nec.webotx.enterprise.system.container.web
com.nec.webotx.servlet.sip
CONTAINERFILELOG webotx_container.log com.nec.webotx.enterprise.system.container
NAMINGFILELOG webotx_naming.log com.nec.webotx.enterprise.system.core.naming
DEPLOYFILELOG webotx_deploy.log com.nec.webotx.enterprise.system.tools.deployment
OSPIFILELOG webotx_ospi.log com.nec.webotx.enterprise.system.ospij
com.nec.webotx.enterprise.system.objectbroker
OSPIJLIBFILELOG ObjectBroker/objava.log com.nec.objectbrokerjava
com.nec.objectbrokerjava.lib
com.nec.objectbrokerjava.msg
TSFILELOG webotx_ts.log com.nec.webotx.enterprise.system.transactionservice
JNDISPFILELOG webotx_jndisp.log com.nec.webotx.enterprise.system.jndisp
WEBSVFILELOG webotx_websv.log com.nec.webotx.enterprise.system.webserver
ACCESSFILELOGSERVER server_access.log server
__otxadmin
WSFILELOG webservice.log com.nec.webotx.webservice
org.apache.axis
org.apache.ws
com.nec.webotx.enterprise.system.webservices.ws
WSRMFILELOG wsrm.log com.nec.webotx.webservice.wsrm
WOJDBCFILELOG wojdbc.log com.nec.wojdbc
WOJTAFILELOG wojta.log com.nec.wojta
UDDIFILELOG webotx_uddi.log com.nec.jp.uddi
TPMMGRFILELOG webotx_tpmmgr.log com.nec.webotx.enterprise.system.TPMonitorManager
com.nec.webotx.enterprise.system.WOAdminAssistant
com.nec.webotx.enterprise.system.admListener
WOJMSFILELOG wojms.log com.nec.wojms.ra
com.nec.wojms.client
JMXREMOTEACCESS agent_access.log com.nec.webotx.enterprise.system.remote_access
WDCFILELOG wowdc.log com.nec.webotx.enterprise.system.wdc
CHDLFILELOG webotx_chdl.log com.nec.jp.rws.chdl
ESBFILELOG webotx_esb.log com.nec.webotx.jbi
BPLOG bizbp_engine.log jp.co.nec.ebiz.bpel
org.springframework
PROCESSENGINELOG bizbp_processinstance.log jp.co.nec.ebiz.bpel.engine.PROCESS_ENGINE_LOGGER
SIPSTACKFILELOG webotx_sipstack.log com.nec.webotx.sipstack.core.LogWriter
SIPSTACKTRCLOG webotx_sipstack.trc com.nec.webotx.sipstack.javax.sip.stack.ServerLog
SERVICEREPOSITORYLOG webotx_srep.log com.nec.webotx.srep.server
ログレベル

各アペンダにて出力レベルを変更することが可能ですが設定できるログレベルについて説明します。

thresholdの設定には次のレベルを指定することができ、イベントログ、シスログとのマッピングも次のとおりです。なおイベントログ、シスログにはSLOGINFO以上の情報しか出力しませんのでthresholdにはSLOGINFO以上を指定するようにしてください。

log4otxログレベル
(値)
イベントログとのマッピング シスログとのマッピング 説明
ERROR
(40000)
エラー ERR(3) システムを継続運用するのに支障をきたす障害
WARN
(30000)
警告 WARNING(4) システムを継続運用することはできるレベルの障害
SLOGINFO(*)
(25000)
情報 INFO(6) サービスの起動・停止などイベントログとして表示すべき運用状況を示す情報
INFO
(20000)
-- -- その他一般的な情報メッセージ
CONFIG(*)
(10000)
-- -- 構成の追加や変更などコンフィグレーションに関するメッセージ
DEBUG
(10000)
-- -- デバックレベルのメッセージ
DETAIL(*)
(8000)
-- -- より詳細なデバックレベルメッセージ(WebOTXオリジナルのレベル)
TRACE
(5000)
-- -- より詳細なデバックレベルメッセージ(WebOTXオリジナルのレベル)

補足:(*)の付いたレベルはWebOTX独自のレベルです。

Log4Jについては” com.nec.webotx.logging.OTXLogLevel”クラスで拡張

4.6. 運用操作履歴ログ

運用操作履歴ログでは、ユーザ接続情報ログと操作詳細ログの2つをagent_access.logに出力します。
以下にログレベルごとの出力内容の概要、各々の説明とログフォーマットを記します。

ログレベル別出力内容

ログレベル

出力内容

OFF ログを出力しません。
INFO login、logout情報を出力します。
CONFIG 運用管理ツール、運用管理コマンドから実行された操作情報を出力します。ただし、getコマンドをは出力されません。
DEBUG getコマンドの操作情報を出力します。
DETAIL 運用操作実行時に入力される情報の一部を出力します。
TRACE 運用操作実行時に入力される情報すべてを出力します。
ユーザ接続情報ログ(ログレベルINFO)

ユーザからの接続要求に対する結果を表示します。
ユーザ接続情報ログは以下のフォーマットで出力されます。

<アクセス時刻><ログレベル><ユーザ名:グループ名><ホスト名><操作名><実行完了結果>

例:
2006-10-04 22:54:22,861  INFO  admin:otxadmin 127.0.0.1 login SUCCESS

項目名 説明
アクセス時刻 接続を受け付けた時間。
ユーザ名:グループ名 接続要求を発行したユーザ名とそのユーザが所属するグループ名。
ホスト名 接続要求を発行したホスト名。
管理対象 管理対象オブジェクト名。ユーザ接続情報ログでは-(ハイフン)。
操作名 発行された操作名。ユーザ接続情報ログではloginまたはlogoutまたはConnection rese。運用管理コマンドからの運用操作においてログレベルをFINEに設定していた場合logout処理を行わずにexitまたは運用管理コンソールを終了すると、Connection resetが表示されます。また、運用管理コマンドからのシングルモードでのコマンド実行の際も操作詳細ログの後にConnection resetが表示されます。いずれの場合もコネクションが正式にlogout処理を行われずに切断されるために起こるものですが、運用管理上問題はありません。
実行結果 実行結果。ユーザ接続情報ログではSUCCESSまたはFAILED。操作名がConnection resetの場合には表示されません。
操作ログ(ログレベルCONFIG)

ユーザが発行した操作の詳細を表示します。操作詳細ログでは1つの操作に対し開始時と完了時にログを出力します。
操作詳細ログは以下のフォーマットで出力されます。

<アクセス時刻><ログレベル><管理対象名(Type:名前)><操作名:操作対象><実行完了結果>

例: モジュールログレベルのadminのログレベルを変更した場合

2006-10-04 23:44:23,466  CONFIG [dotted-name-support:dotted-name-get-set] dottedNameSet : server.log-service.module-log-levels.admin START

2006-10-04 23:41:30,429  CONFIG [dotted-name-support:dotted-name-get-set] dottedNameSet : server.log-service.module-log-levels.admin DONE

項目名

説明

アクセス時刻 操作を受け付けた時間。
管理対象 管理対象オブジェクト名。
操作名 発行された操作名。
実行完了結果 実行完了結果。操作詳細ログではSTARTまたはDONEまたはFAILED。

実行完了結果項目に関して、以下に詳細を記します。

表示

説明

START 処理が開始されたことを示します。
DONE 処理が終了したことを示します。この結果は操作がエラーなく処理されたかを示すものではなく、処理の完了を示すものです。開始時のログは出力されているが、完了時のログは出力されていない場合、その操作はまだ処理が完了していないことを意味します。
FAILED 処理が異常終了したことを示します実行完了結果項目は処理の完了を示すものですが、多くの操作の場合、エラーによる処理の完了時にはFAILEDを表示し、処理が異常終了したことを伝えます。
getコマンド実行時のログ(ログレベルDEBUG)

出力されるログの形式はCONFIGレベルのものと同じになります。

運用操作実行時に入力される情報(ログレベルDETAIL,TRACE)

運用操作実行時に入力される引数の内容を出力します。

出力されるログのフォーマットは以下になります。

<アクセス時刻><ログレベル><引数>

引数が複数ある場合は、[・・・][・・・]のように大括弧で区切られて表示されます。

create-jdbc-datasourceコマンドを実行した場合

2008-06-03 14:00:13,230 DETAIL [jndiName=test, dataSourceType=JDBC, jdbcMajorVersion=2, jdbcMinorVersion=0, minPoolSize=4, maxPoolSize=0, initialPoolSize=0, useJTA=true, portNumber=0, maxIdleTime=0, maxStatements=0, propertyCycle=0, loginTimeout=0, checkGarbageOption=none, checkGarbageInterval=0, checkServerOption=none, checkServerInterval=180, connectRetryMax=0, connectRetryInterval=10, resetAllConnectionsOnFailure=true, useOneConnectionPerTransaction=false, defaultAutoCommit=true, useDatabaseCluster=false, shrinkDelayTime=15, useMultiUsersPerTransaction=false, reconnectInitialPool=true, clusterPoolOption=none, validAllClusterConnectionsOnFailure=false]

2008-06-03 14:00:13,230 TRACE [][server]