ログは日々の運用でのメンテナンスや障害発生時の原因調査など、ログはシステム運営において重要な位置を占めています。本章ではWebOTX ASのロギングおよび業務アプリケーションからのログ出力方法について、その概要を説明します。
この節ではWebOTX AS が出力するログの概要を説明します。
WebOTX AS は運用領域をドメインと呼ばれる単位にグルーピングして管理しています。ドメインは各種の機能を提供するサービス群から構成されており、各サービスはその機能を提供するプロセス群またはモジュールと制御モジュールから構成されます。
各サービスは運用管理サービスの中核を担うAgentプロセス内のモジュールとその制御モジュールから構成されるサービスと、Agentプロセスの外部のプロセス群とAgentプロセス内の制御モジュールから構成されるサービスがあります。
図8.1.1.1-1
1つのドメイン内で出力されるログはそのドメインを構成するサービスが個々の方法を利用して出力しています。そのため、ログの出力方法はサービスにより異なります。
WebOTX ASのログの出力方法は大きくは以下のように分けられます。
(*1)Log4JをベースとしたWebOTX AS独自のログモジュールです
このログ出力方法の違いから、WebOTX AS でのログの設定方法は多岐に渡っています。
そこで、WebOTX AS のログの概要を理解するために、まずはWebOTX AS を構成するサービスの関係について説明します。
ここで、WebOTX AS ではエディションによりドメインを構成するサービスが異なるため、以下にエディション別のサービス構成図を記します。
図8.1.1.1-2
Express ではドメインは、ドメイン全体を管理する 運用管理サービス、JMS関連の機能を提供するJMSサービス、CORBA通信関連の機能を提供するObjectBrokerサービス、Webサーバ関連の機能を提供するWebServerサービスから構成されます。
ここで、運用管理サービスのAgentプロセスおよびJMSコンポーネントのJMSプロセスはともにJavaのプロセスであり、ログの出力にはLog4otxを用いています。その他のプロセスは独自の方法を利用してログを出力しています。
各サービスとログの関係の詳細については次節を参照してください。
図8.1.1.1-3
Foundation、Standard および Enterprise では Express を構成するサービスに加え、Transactionの管理機能を提供するTransactionService、高信頼実行基盤であるTPモニタ サービスから構成されます。また、運用管理サービスのAgentプロセスおよびJMSコンポーネントのJMSプロセスはともにLog4otxを、その他のプロセスは独自の機構を利用してログを出力しています。
各コンポーネントとログの関係については次節を参照してください。
前節でも述べたようにサービスはプロセス群またはモジュールと制御モジュールから構成されています。また、制御モジュールはAgentプロセスの内部で稼動しています。ここで ${INSTANCE_ROOT}/logsには各サービスごとにディレクトリが分けられており、各ディレクトリにはプロセス群またはモジュールが出力するログファイルと制御モジュールが出力するログファイルが格納されます。
以下はエディション別のサービスと出力先ディレクトリの関係図です。
図8.1.1.1-4
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コンテナへのアクセスログが出力されます。
図8.1.1.1-5
Expressの場合に加え、TransactionService、TPMonitorサービスが各々外部プロセス群とサービスから構成され、追加されます。また、ExpressではAgentプロセス内で動作していたWebコンテナ(*2)、EJBコンテナがTPMonitor上で動作します。そして、各サービスごとに${INSTANCE_ROOT}/logs内にディレクトリ区分されログが出力されます。
また、${INSTANCE_ROOT}/logs直下に出力されるwebotx_agent.log、server.log、server_err.logについてはExpressと同様です。
この節では業務アプリケーションからログを出力する方法について説明します。
WebOTX AS上に配備された業務アプリケーションからログを出力するには業務アプリケーションに含まれるLog4Jを利用する方法と標準出力を利用する方法があります。
(※ WebOTX AS では Ver 8 からLog4Jをバンドルしていません。そのため、Log4Jを利用してログを出力する場合は業務アプリケーション側でLog4Jを用意していただく必要があります。)
Log4Jを利用する場合は次節を、WebOTX ASが提供するAPIを利用する場合は「APIリファレンスマニュアル」を参照してください。
配備した業務アプリケーションに含まれるLog4Jを利用する場合、アプリケーションが利用するLog4J定義ファイルは、WEB-INF/classes以下に配置する必要があります。
図8.1.2.1-1
標準出力を利用する場合、エディションまたはドメインの構成により以下のファイルへ出力されます。
標準出力に出力したメッセージserver.logに出力されます。
標準出力に出力したメッセージはサーバアプリケーショントレースログに出力されます。
WebOTXの各サービスが出力するログについて説明します。
WebOTXの各オプション製品が出力するログに関しては、各製品のマニュアルを参照してください。
otxadmin > set server.log-service.rotatelogs-condition=<n>M設定可能なサイズはMB単位です。例えば、10MBを設定する場合は「10M」と設定してください。
otxadmin > set server.log-service.rotatelogs-condition=<rotationtime> <offset><rotationtime>にはローテーション間隔を秒で、<offset>にはUTCからのオフセットを分で指定してください。
otxadmin > set server.log-service.log-rotation-generations=<世代数>
otxadmin > set server.log-service.separate-stdout-and-stderr=true既定では標準出力へserver.log、標準エラーはserver_err.logへ出力されるようになります。
otxadmin > set server.admin-service.jmx-connector.jmx_connector.access-log-enabled=true
otxadmin > set server.jms-service.logfileRolloverBytes=<サイズ(バイト)>
otxadmin > set server.jms-service.logfileRolloverSecs=<秒>ローテーション数は、デフォルトで9世代となっています。変更する場合、${INSTANCE_ROOT}/wojms/instances/wojmsbroker/props/config.propertiesに以下の定義を追加してください。
otxadmin > set server.jms-service.loglevel=<ログレベル>設定できるログレベルは以下になります。
otxadmin > set server.jms-service.logfileRolloverBytesAdmin=<サイズ(バイト)>
otxadmin > set server.jms-service.logfileRolloverSecsAdmin=<秒>ローテーション数は、デフォルトで9世代となっています。変更する場合、${INSTANCE_ROOT}/wojms/instances/wojmsbroker/props/config.propertiesに以下の定義を追加してください。
otxadmin > set server.jms-service.logAdmin=true・ログを出力しない場合
otxadmin > set server.jms-service.logAdmin=false
otxadmin > set server.jms-service.logfileRolloverBytesPacket=<サイズ(バイト)>
otxadmin > set server.jms-service.logfileRolloverSecsPacket=<秒>ローテーション数は、デフォルトで9世代となっています。変更する場合、${INSTANCE_ROOT}/wojms/instances/wojmsbroker/props/config.propertiesに以下の定義を追加してください。
otxadmin > set server.jms-service.logPacketMessage=true・PINGパケットの情報を出力する場合
otxadmin > set server.jms-service.logPacketPing=true・運用管理操作のパケット情報を出力する場合
otxadmin > set server.jms-service.logPacketAdmin=true・JMSサーバクラスタ構成でのクラスタパケットの情報を出力する場合
otxadmin > set server.jms-service.logPacketCluster=true
otxadmin > set server.jms-service.logfileRolloverBytesMessage=<サイズ(バイト)>
otxadmin > set server.jms-service.logfileRolloverSecsMessage=<秒>ローテーション数は、デフォルトで9世代となっています。変更する場合、${INSTANCE_ROOT}/wojms/instances/wojmsbroker/props/config.propertiesに以下の定義を追加してください。
otxadmin > set server.jms-service.logMessage=true・ログを出力しない場合
otxadmin > set server.jms-service.logMessage=false
otxadmin > set server.jms-service.logfileRolloverBytesError=<サイズ(バイト)>
otxadmin > set server.jms-service.logfileRolloverSecsError=<秒>ローテーション数は、デフォルトで9世代となっています。変更する場合、${INSTANCE_ROOT}/wojms/instances/wojmsbroker/props/config.propertiesに以下の定義を追加してください。
otxadmin > set server.jms-service.logError=true・ログを出力しない場合
otxadmin > set server.jms-service.logError=false
運用管理操作履歴の出力形式
運用管理操作履歴の出力形式は以下のようになっています。
[タイムスタンプ] <メッセージID>: <メッセージ> [<結果>]
| 出力項目 | 説明 |
|---|---|
|
タイムスタンプ |
ログ出力時の時間。yyyy-mm-dd HH:MM:SS,sssの形式。 |
|
メッセージID |
運用管理操作で送信されたメッセージのメッセージID。<シーケンス番号>-<IPアドレス>-<ポート>-<タイムスタンプ>の形式。 |
|
メッセージ |
運用管理操作の内容を示すメッセージ。 |
|
結果 |
運用管理操作の結果(成功、あるいは失敗)。失敗した場合は、その理由を出力。 |
メッセージライフサイクルの出力形式
メッセージライフサイクルの出力形式は以下のようになっています。
[タイムスタンプ] <メッセージID> [<送信先名>] [<ライフサイクルイベント>] <プロデューサID>:<トランザクションID>
なお、メッセージ移動操作によりメッセージが移動した場合は、上記の情報に加え、次の形式で移動前と移動後の情報を出力します。
[タイムスタンプ] [MESSAGE:MOVE] [<移動元の送信先名>] <移動前のメッセージID> -> [<移動先の送信先名>] <移動後のメッセージID>
| 出力項目 | 説明 |
|---|---|
|
タイムスタンプ |
ログ出力時の時間。yyyy-mm-dd HH:MM:SS,sssの形式。 |
|
メッセージID |
JMSメッセージに対するメッセージID |
|
送信先 |
メッセージが送信された送信先名 |
|
ライフサイクルイベント |
メッセージの送信先への追加(ADD)、送信先からの削除(REMOVE)などを示す文字列。 送信先への追加の場合は、「ADD:<AddReason>」の形式で、<AddReason>は次のとおりです。
送信先からの削除の場合は、「REMOVE:<RemoveReason>」の形式で、<RemoveReason>は次のとおりです。
|
|
プロデューサID |
メッセージを送信したプロデューサのプロデューサID |
|
トランザクションID |
トランザクション中の場合のトランザクションID |
otxadmin > set server.objectbrokerconfig.LogLimit=<サイズ(KB)>なお、LogLimitの値はObLog.log、Oad.log、InterfaceRepository.log、corbaloc.log、namesv.log、cnamesv.log、message.logで共通となります。
otxadmin > set server.objectbrokerconfig.LoggingLevel =<ログレベル>設定できるログレベルは以下になります。
otxadmin > set server.objectbrokerconfig.LogLimit=<サイズ(KB)>なお、LogLimitの値はObLog.log、Oad.log、InterfaceRepository.log、corbaloc.log、namesv.log、cnamesv.log、message.logで共通となります。
otxadmin > set server.objectbrokerservice.oad.OadLoggingLevel=<ログレベル>設定できるログレベルは以下になります。
otxadmin > set server.objectbrokerconfig.LogLimit=<サイズ(KB)>なお、LogLimitの値はObLog.log、Oad.log、InterfaceRepository.log、corbaloc.log、namesv.log、cnamesv.log、message.logで共通となります。
otxadmin > set server.objectbrokerservice. irsv.InterfaceRepositoryLoggingLevel=< ログレベル>設定できるログレベルは以下になります。
otxadmin > set server.objectbrokerconfig.LogLimit=<サイズ(KB)>なお、LogLimitの値はObLog.log、Oad.log、InterfaceRepository.log、corbaloc.log、namesv.log、cnamesv.log、message.logで共通となります。
otxadmin > set server.objectbrokerservice.corbaloc.CorbalocLoggingLevel =<ログレベル>設定できるログレベルは以下になります。
otxadmin > set server.objectbrokerconfig.LogLimit=<サイズ(KB)>なお、LogLimitの値はObLog.log、Oad.log、InterfaceRepository.log、corbaloc.log、namesv.log、cnamesv.log、message.logで共通となります。
otxadmin > set server.objectbrokerservice. namesv.NameServiceLoggingLevel =<ログレベル>設定できるログレベルは以下になります。
otxadmin > set server.objectbrokerconfig.LogLimit=<サイズ(KB)>なお、LogLimitの値はObLog.log、Oad.log、InterfaceRepository.log、corbaloc.log、namesv.log、cnamesv.log、message.logで共通となります。
otxadmin > set server.objectbrokerservice. cnamesv.CacheNameServiceLoggingLevel=< ログレベル>設定できるログレベルは以下になります。
otxadmin > set server.objectbrokerconfig.LogLimit=<サイズ(KB)>なお、LogLimitの値はObLog.log、Oad.log、InterfaceRepository.log、corbaloc.log、namesv.log、cnamesv.log、message.logで共通となります。
otxadmin > server.objectbrokerconfig.MessagingLog=true・通信内容をmessage.logに出力させる場合
otxadmin > server.objectbrokerconfig.MessageBodyLog=true
otxadmin > set server.objectbrokerconfig.LogLimit=<サイズ(KB)>なお、LogLimitの値はObLog.log、Oad.log、InterfaceRepository.log、corbaloc.log、namesv.log、cnamesv.log、message.logで共通となります。
otxadmin > server.objectbrokerconfig.Syslog=true・システム運用者向けのログを出力する場合
otxadmin > server.objectbrokerconfig.SyslogForOperator=true・アプリケーション開発者向けのログを出力する場合
otxadmin > server.objectbrokerconfig.SyslogForDeveloper=true・システム運用者向け、アプリケーション開発者向けの詳細情報があれば、追加で出力する場合
otxadmin > server.objectbrokerconfig.SyslogDetail=true
otxadmin > set server.objectbrokerservice.oadj.LogFileSize=<サイズ(KB)>
otxadmin > set server.objectbrokerservice. oadj.LogLevel=<ログレベル>設定できるログレベルは以下になります。
(※)V 8 ではProcessConductorは出荷していません。そのため、ログファイルは作成されますがログは出力されません。
(※)V 8 ではProcessConductorは出荷していません。そのため、ログファイルは作成されますがログは出力されません。
SIP のアクセスログを出力するには以下の設定が必要です。
otxadmin> set server.http-service.virtual-server.<仮想サーバのID>.property.accessLoggingEnabled=true |
# valves (context level)
#module.sip.contextvalve.Up=com.nec.webotx.sipcontainer.valves.SipAccessLogUpValve
#module.sip.contextvalve.Down=com.nec.webotx.sipcontainer.valves.SipAccessLogDownValve
↓↓↓
# valves (context level)
module.sip.contextvalve.Up=com.nec.webotx.sipcontainer.valves.SipAccessLogUpValve
module.sip.contextvalve.Down=com.nec.webotx.sipcontainer.valves.SipAccessLogDownValve
|
<logger name="sip-sample">
<level class="com.nec.webotx.logging.OTXLogLevel" value="CONFIG" />
<appender-ref ref="ACCESSFILELOGSERVER" />
</logger>
|
[ProcessGroup Information] ProcessID = 1234 TraceID = 1
otxadmin > set tpsystem.applicationGroups.${APGNAME}.processGroups.${PGNAME}.traceFileMaxSize=<サイズ(KB)>
otxadmin > set tpsystem.traceFilePreservationPeriod=<保存期間(日)>
otxadmin > set tpsystem.applicationGroups.${APGNAME}.processGroups.${PGNAME}.traceLevel=<レベル>
設定できるレベルは以下になります。
otxadmin > set tpsystem.applicationGroups.${APGNAME}.processGroups.${PGNAME}.<モジュールログレベル属性名>=<レベル>
設定できるレベルは以下になります。| 属性名 | モジュール名 |
|---|---|
| EJBContainerLogLevel | EJBコンテナモジュールのログレベル |
| JDBCLogLevel | JDBCデータソースモジュールののログレベル |
| JMSLogLevel | JMSモジュールのログレベル |
| JTALogLevel | JTモジュールAのログレベル |
| ObjectBrokerJavaLibLogLevel | Object Broker Java Libモジュールログレベル |
| ObjectBrokerJavaMsgLogLevel | Object Broker Java Messageモジュールのログレベル |
| WebContainerLogLevel | Webコンテナモジュールのログレベル |
[ProcessGroup Information] ProcessID = 1234 TraceID = 1
otxadmin > set tpsystem.applicationGroups.${APGNAME}.processGroups.${PGNAME}.sysTraceFileMaxSize=<サイズ(KB)>
otxadmin > set tpsystem.traceFilePreservationPeriod=<保存期間(日)>
[ProcessGroup Information] ProcessID = 1234 TraceID = 1
otxadmin > set tpsystem.traceFilePreservationPeriod=<保存期間(日)>
otxadmin > set tpsystem.traceFilePreservationPeriod=<保存期間(日)>
otxadmin > set server.transactionservice.trace-size=<サイズ(KB)>
otxadmin > set server.transactionservice.trace-level=<レベル>レベルは1(エラーレベル)〜5(デバッグレベル)が設定できます。
otxadmin > set server.transactionservice.trace-size=<サイズ(KB)>
otxadmin > set server.transactionservice.trace-level=<レベル>レベルは1(エラーレベル)〜5(デバッグレベル)が設定できます。
(*1) トレースログの出力は性能劣化が大きいため、障害解析時以外は出力OFFにして下さい。なお、既定でOFFになっています。
# export AS_NO_SERVICELOG=TRUE
# export AS_SERVICELOG_SIZE=2000
# export AS_SERVICELOG_PATH=/opt/WebOTX/logs # export AS_SERVICELOG_NAME=WOAgentSvc.log
export AS_SERVICELOG_SIZE=2000 export AS_SERVICELOG_PATH=/opt/WebOTX/logs export AS_SERVICELOG_NAME=WOAgentSvc.logこのとき、woasinfo.confファイルは実行権限が必要となります。
連続運用時にログの容量増加に伴うディスクフルの危険性の有無を各ログファイルに以下の表に示します。
| 記号 | 説明 |
|---|---|
| ○ | 該当Editionにて出力されるログです |
| △ | 該当Editionにオプション製品をインストールした場合に出力されるログです |
| − | 該当Editionでは出力されないログです |
| ログファイル名 | 対象Edition | ディスクフルの危険性 | |||
|---|---|---|---|---|---|
| Express | Foundation | Standard | Enterprise | ||
| server.log | ○ | ○ | ○ | ○ | 無 |
| server_err.log | ○ | ○ | ○ | ○ | 無 |
| 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 | ○ | ○ | ○ | ○ | 有(*6) |
| Oad.log | ○ | ○ | ○ | ○ | 有(*6) |
| InterfaceRepository.log | ○(*1) | ○(*1) | ○(*1) | ○(*1) | 有(*6) |
| corbaloc.log | ○(*1) | ○(*1) | ○(*1) | ○(*1) | 有(*6) |
| namesv.log | ○ | ○ | ○ | ○ | 有(*6) |
| cnamesv.log | − | ○(*2) | ○(*2) | ○ | 有(*6) |
| message.log | ○ | ○ | ○ | ○ | 有(*6) |
| syslog.log | ○ | ○ | ○ | ○ | 有(*6) |
| 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_struts.log | ○ | ○ | ○ | ○ | 無 |
| mod_jk-20.log (*3) | ○ | ○ | ○ | ○ | 有(*5) |
| mod_jk-22.log(*3) | ○ | ○ | ○ | ○ | 有(*5) |
| isapi.log | ○ | ○ | ○ | ○ | 有(*7) |
| nsapi.log | ○ | ○ | ○ | ○ | 有(*7) |
| mod_jk_om-20.log(*3) | − | ○ | ○ | ○ | 有(*5) |
| mod_jk_om-22.log(*3) | − | ○ | ○ | ○ | 有(*5) |
| webotx_websv.log | ○ | ○ | ○ | ○ | 無 |
| access_log(access.log) | ○(*3) | ○(*3) | ○(*3) | ○(*3) | 有(*5) |
| error_log(error.log) (*6) | ○(*3) | ○(*3) | ○(*3) | ○(*3) | 有(*5) |
| ssl_request_log(ssl_request.log) | ○(*4) | ○(*4) | ○(*4) | ○(*4) | 有(*5) |
| webservice.log | ○ | ○ | ○ | ○ | 無 |
| wsrm.log | ○ | ○ | ○ | ○ | 無 |
| wojms.log | ○ | ○ | ○ | ○ | 無 |
| wojmsserver.log | ○ | ○ | ○ | ○ | 無 |
| std.log | ○ | ○ | ○ | ○ | 有(*8) |
| wojmsadmin.log | ○ | ○ | ○ | ○ | 無 |
| wojmspacket.log | ○ | ○ | ○ | ○ | 無 |
| wojmsmessage.log | ○ | ○ | ○ | ○ | 無 |
| wojmserror.log | ○ | ○ | ○ | ○ | 無 |
| wojmssv.pid / wojmsserver.pid | ○ | ○ | ○ | ○ | 無 |
| wojmsexec.log | ○ | ○ | ○ | ○ | 無 |
| wowdc.log | − | ○(*2) | ○(*2) | ○ | 無 |
| webotx_esb.log | △ | △ | △ | △ | 無 |
| webotx_portal_commons.log | △ | − | − | − | 無 |
| portal_common_framework.log | △ | △ | △ | △ | 無 |
| portal_builtin_portlet.log | △ | △ | △ | △ | 無 |
| portal_access.log | △ | △ | △ | △ | 無 |
| portal_error.log | △ | △ | △ | △ | 無 |
| portal_trace.log | △ | △ | △ | △ | 無 |
| admin_access.log | ○(*9) | ○(*9) | ○(*9) | ○(*9) | 無 |
| admin_event.log | ○(*9) | ○(*9) | ○(*9) | ○(*9) | 無 |
| ddeployment.log | ○(*9) | ○(*9) | ○(*9) | ○(*9) | 無 |
(*1) デフォルトでは起動しない
(*2) WebOTX Clusterとの組み合わせが必要です。
(*3) インストール時に「WebOTX Webサーバ(Apache)」を選択した場合のみ出力されます。
(*4) HTTPS使用時に出力されます。
(*5) rotatelogsを利用すれば回避可能です。詳しくは [8.3.2.2. mod_jk のログのローテーション] を参照してください。
(*6) 設定により回避可能です。詳しくは 8.2節 の各ログファイルの項目を参照してください。
(*7) 設定により回避可能です。詳しくは [8.2.14.4. mod_jk-20.log] および [8.3.7. IIS/Sun Java System Web Server(Sun ONE)連携時のログローテーション] を参照してください。
(*8) スレッドダンプ取得回数に依存します。
(*9) WebOTX Cluster のインストール時に「分散管理サーバ」を選択した場合のみ出力されます。
Webサーバが出力するログのローテーション方法については、マニュアルの以下の章を参照してください。
WebサーバとWebコンテナとの連携モジュールであるmod_jkが出力するログファイルのローテーション方法について説明します。
はじめに、mod_jkの設定ファイル名について説明します。mod_jkの設定ファイルは使用するWebサーバとWebOTXの動作モードによって以下のように変わります。設定ファイルは${INSTANCE_ROOT}/config/WebCont以下にあります。
| 使用 Webサーバ | WebOTX動作モード | mod_jk設定ファイル名 |
|---|---|---|
| WebOTX Webサーバ 2.0 | スタンダードモード | mod_jk-20.conf-auto |
| WebOTX Webサーバ 2.0 | アドバンスドモード | mod_jk_om-20.conf-auto |
| WebOTX Webサーバ 2.2 | スタンダードモード | mod_jk-22.conf-auto |
| WebOTX Webサーバ 2.2 | アドバンスドモード | mod_jk_om-22.conf-auto |
WebOTX 統合運用管理ツールや運用管理コマンドからmod_jkのログのローテーションの設定を行うことができます。この場合、手動で参照する設定ファイルを変更する必要はありません。ただし、WebサーバとWebコンテナが別マシン構成の環境では、以下の条件を満たしていない場合、統合運用管理ツールや運用管理コマンドから設定を行えないため、手動で設定を行う必要があります。
本手順を行うと、mod_jk_om-20.log.<数字>というファイル名でログが出力されます。数字が小さいものは過去ログとなりますので、削除することができます。
ローテーションを有効化するには以下のコマンドを実行してください。
otxadmin > set server.web-container.plugin-config.log-rotate-enable=true
ログをローテートする間隔を秒単位で指定します。デフォルトは 86400 秒(1日)です。
otxadmin > set server.web-container.plugin-config.log-rotate-interval=86400
また、末尾に"M"を指定することでファイルサイズでのローテーションも可能です。以下は10MB単位でローテーションされる場合の設定です。
otxadmin > set server.web-container.plugin-config.log-rotate-interval=10M
ここではWebOTXインストールするフォルダは既定値(C:/WebOTX)、ドメイン名はdomain1、WebOTX Webサーバ2.0とアドバンスドモードの組み合わせを例に手順を説明いたします。組み合わせがことなる場合も手順は同じですので、ファイル名、パス名を適宜読み替えてください。ただし、WebOTX Webサーバ2.2の場合は、下の例の記述中の”*1”の注意事項があります
以下の手順を、ドメインが停止した状態で行ってください。
Foundation/Standard/Enterpriseにおけるサーバアプリケーションに関するログについて説明します。サーバアプリケーションの動作に問題がある場合に参照すべきログについて説明します。
WebOTXにはシステムやプロセスの稼動状況を示すために様々なトレースファイルが存在します。 何か異常が起こったときは以下に説明するファイルを参照してください。
この表の上位4つのファイルで、ほとんどの場合に対処可能です。トレースレベルを最大にすると通常運用に支障が出る場合もあります。最大よりは1ないし2つほど下げて運用してください。デバッグ時は常に最大にしてください。これらのファイルについてはファイルの読み方とエラー番号一覧 (別のセクションにあるものもあります)を示します。
また、下位2つは上位4つでも判らない時に採取するログです。通常運用には耐えられないほどのログが出ますので、デバッグ時や開発元からの依頼があった時のみ採取願います。下位 2つのファイルに関しては採取方法のみ示します。
| トレース種別 | トレース内容 |
|---|---|
| サーバアプリケーショントレース(Java) | WebOTXのトレースとユーザトレース(TPSUserTrace())をマージして出力します。 |
| サーバアプリケーショントレース(C++) | WebOTXのトレースとユーザトレース(TPSUserTrace())をマージして出力します。 |
| システムトレース | プロセス起動時の情報やCORBAアプリケーションで検出したエラーの情報が出力します。 |
| イベントログ(Windows)、syslog(UNIX) | WebOTX内部で異常が発生した時に異常の内容を出力します。 |
| サーバアプリケーション内部トレース | サーバアプリケーションの下位層(スレッド管理やメッセージ管理など)の状況を出力します。 |
| IIOPリスナ内部トレース | クライアントからの要求を管理する部分と下位層(ソケット管理やメッセージ管理など)の状況を出力します。 |
サーバアプリケーションのログについて説明します。
| ファイル名 | ディレクトリ | サイズ | 説明 |
|---|---|---|---|
| ${PGNAME}.${PID}.log | ${INSTANCE_ROOT} /logs/tpsystem /${APGNAME}/${PGNAME} |
ユーザ 指定値 |
サーバアプリケーショントレースを採取するには統合運用管理ツールで設定する必要があります。統合運用管理ツールにてプロセスグループのアイコンを選択し、[トレース設定]タブをクリックして[トレース設定]ページを表示してください。このページにある[トレースレベル]が、[出力しない]になっていないことを確認してください。次に、トレースファイルの最大サイズを確認してください(既定値 1024 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} |
ユーザ 指定値 |
システムトレースファイルです。プロセス起動時の情報やCORBAアプリケーションで検出したエラーの情報が出力されます。Javaアプリケーションでスタック情報採取を行ったときにも出力されます。上記以外の機会に出力されることはありません。(既定値 1024 KBytes)。 |
| ${APGNAME}_EXIT_sys.${PID}.log | ${INSTANCE_ROOT} /logs/tpsystem /${APGNAME}/${APGNAME}_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ディレクトリを退避あるいは削除することができます。一定期間(既定値30日)経過したログは自動で削除されます。なお、saveディレクトリに退避されていないログは運用中のプロセスのログなので削除しないでください。 |
| ${APGNAME}_EXIT_sys.${TIME}.${PID}.log | ${INSTANCE_ROOT} /logs/tpsystem /${APGNAME}/${APGNAME}_EXIT/save |
1MB | アプリケーション初期プロセスのプロセス終了時及びアプリケーショングループ起動時に、使用していないシステムトレースファイルをsaveディレクトリに退避します。saveディレクトリに退避されたログはプロセス異常終了時の障害解析等で必要になる場合がありますが、任意のタイミングでsaveディレクトリを退避あるいは削除することができます。一定期間(既定値30日)経過したログは自動で削除されます。なお、saveディレクトリに退避されていないログは運用中のプロセスのログなので削除しないでください。 |
サーバアプリケーションログは以下のような形式になっています。
| ログレベル | メッセージ |
|---|---|
| ログレベル1〜3 | yyyy/mm/dd HH:MM:SS.sss|TTT: Error: メッセージ |
| ログレベル4〜7 | yyyy/mm/dd HH:MM:SS.sss|TTT: メッセージ |
yyyy 西暦 mm 月 dd 日
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ファイル)が壊れている可能性があります。可能ならドメインのリストアをしてください。リストアについては[ 高度な管理と運用サイクルガイド > 1. バックアップ/リストア ]を参照してください。 |
| 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のインストール情報が壊れている可能性があります。可能なら再インストールしてください。 |
| 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)を確認し、原因を判別してください。該当オペレーションに問題がないか確認してください。 |
サーバアプリケーションログは以下のような形式になっています。
| ログレベル | メッセージ |
|---|---|
| ログレベル1〜3 | yyyy/mm/dd HH:MM:SS.sss|TTT: Error: メッセージ |
| ログレベル4〜7 | yyyy/mm/dd HH:MM:SS.sss|TTT: メッセージ |
yyyy 西暦 mm 月 dd 日
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ファイル)が壊れている可能性があります。可能ならドメインのリストアをしてください。リストアについては[ 高度な管理と運用サイクルガイド > 1. バックアップ/リストア ]」を参照してください。 |
| 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)を確認し、原因を判別してください。該当オペレーションに問題がないか確認してください。 |
サーバアプリケーショントレース(Java)および サーバアプリケーショントレース(C++)では主にオブジェクト管理部分のトレースを出力します。
これより低レベルの情報(スレッド管理、メッセージ管理、プロセス監視など)を表示する方法があります。かなりの量のトレースを出力するため、プロセスが起動しないときや、明らかに動作がおかしいとき、開発元に調査依頼を行う時などのみ採取すべきです。
以下にサーバアプリケーション内部トレースの採取方法を示します。
この設定により、内部ログの初めの部分が/tmp/servertrc.txtに出力され、続きがサーバアプリケーショントレースに出力されます。ファイルに情報が出力されていることを確認し、開発元に送付してください。
ファイルの採取が終わりましたら、環境定義ファイルを元に戻してください。コマンドライン引数の-OltpTplibTraceも削除してください。
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システムを再起動してください。上記ファイルにファイルに情報が出力されていることを確認し、開発元に送付してください。
ファイルの採取が完了した後は、上記の変更を全て元に戻してください。
WebOTX上で動作するJavaアプリケーションにおいて、Log4Jを利用する場合の注意点について説明します。
Foundation、Standard、Enterpriseをアドバンスドモードで動作させる場合のWebアプリケーションのログ出力の手順について説明します。
アドバンスドモードで実行する場合、WebAPはプロセスグループ上で動作します。プロセスグループは、多重度を設定することができるため、ファイルにログ出力を行う場合、複数のプロセスが同じファイルに書き込みを行い、メッセージの欠損やローテート失敗によるメッセージの全損等の問題が発生する可能性があります。そのため、以下のいずれかの手順で問題を回避する必要があります。
アプリケーションのログをプロセスグループのログに出力するには、標準出力を利用します。プロセスグループ上で標準出力を行うと、プロセスグループのログファイルに出力されます。ログファイルは以下に出力されます。
${INSTANCE_ROOT}/logs/tpsystem/${APGNAME}/${PGNAME}/${PGNAME}.${PID}.log
Webアプリケーションのログを個別のファイルに出力する場合、出力するログファイル名に、Webアプリケーションが動作するプロセスのプロセスIDを付与することで、多重度を設定した場合でもプロセス単位にログを出力することができます。
(注意) ログ定義ファイルについて
プロセスグループ上でWebAPを動作させる場合、Webアプリケーションが利用するログ定義ファイルを、同一プロセスグループ上に配備されたアプリケーションごとに分けて利用することはできません。プロセスグループで同一のLog4J定義ファイルを使用してください。
Foundation、Standard、Enterpriseを利用している場合は、次のJavaシステムプロパティが利用できます。
これらのJavaシステムプロパティをLog4Jのプロパティに指定することにより、プロセスIDの取得等が可能になります。
| 出力情報 | Javaシステムプロパティ名 |
|---|---|
| ホスト名 | com.nec.webotx.hostName (*1) |
| ドメイン名 | 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システムプロパティに指定する値は変更できません。変更した場合の動作は保証できません。
(*1) 本プロパティはプロセスグループ作成時にCORBAシステムを選択された場合、そのプロセスグループ上では使用できません。
エージェントプロセス内で動作するコンポーネントはコンポーネント単位にログレベルを設定することが可能です。ログレベルの変更はエージェントが起動中でも反映することができます。これらの設定は、統合運用管理ツールから変更が可能です。
以下のコンポーネント毎のログレベル設定が可能です。
一般| コンポーネント名 | コンポーネント | ログレベル(既定値) |
|---|---|---|
| Admin | Adminモジュールのログレベルを指定します。 | CONFIG |
| Admin assistant | Admin assistantモジュールのログレベルを指定します。 | CONFIG |
| CHDL | CHDLモジュールのログレベルを指定します。 | CONFIG |
| Deployment | Deploymentモジュールのログレベルを指定します。 | CONFIG |
| Downloader Manager Service | Downloader Manager Serviceモジュールのログレベルを指定します。 | CONFIG |
| EJB Container | EJB Containerモジュールのログレベルを指定します。 | CONFIG |
| JAXR | JAXRモジュールのログレベルを指定します。 | CONFIG |
| JAXRPC | JAXRPCモジュールのログレベルを指定します。 | CONFIG |
| JAXWS | JAXWSモジュールのログレベルを指定します。 | CONFIG |
| JDBC DataSource | JDBC DataSourceモジュールのログレベルを指定します。 | CONFIG |
| JDBC Driver | JDBC Driverモジュールのログレベルを設定します。 | WARN |
| 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 |
| Object Broker | Object Brokerモジュールのログレベルを指定します。 | CONFIG |
| Object Broker Java Library | Object Broker Java Libraryモジュールのログレベルを指定します。 | CONFIG |
| Object Broker Java Message | Object Broker Java Messageモジュールのログレベルを指定します。 | CONFIG |
| Process Conductor | Process Conductorモジュールのログレベルを指定しま | CONFIG |
| SAAJ | SAAJモジュールのログレベルを指定します。 | CONFIG |
| Security | Securityモジュールのログレベルを指定します。 | CONFIG |
| Server Core | Server Coreモジュールのログレベルを指定します。 | CONFIG |
| Service Repository | Service Repositoryモジュールのログレベルを指定します。 | CONFIG |
| Sip Servlet | Sip Servletモジュールのログレベルを指定します。 | CONFIG |
| Sip Stack Core | Sip Stack Coreモジュールのログレベルを指定します。 | CONFIG |
| Sip Stack Javax | Sip Stack Javaxモジュールのログレベルを指定します。 | CONFIG |
| TP Monitor Manager | TP Monitor Managerモジュールのログレベルを指定します。 | CONFIG |
| Transaction Service | Transaction Serviceモジュールのログレベルを指定します。 | CONFIG |
| Web Container | Web Containerモジュールのログレベルを指定します。 | CONFIG |
| Web Server | Web Serverモジュールのログレベルを指定します。 | CONFIG |
| Web Service Commons | Web Service Commonsモジュールのログレベルを指定します。 | CONFIG |
| Web Services Reliable Messaging | Web Services Reliable Messagingモジュールのログレベルを指定します。 | CONFIG |
| Working Domain Coordinator | Working Domain Coordinatorモジュールのログレベルを指定します。 | CONFIG |
| Access for domain groups | 分散管理サーバモジュールの運用操作履歴ログのログレベルを指定します。 | CONFIG |
| Event for domain groups | 分散管理サーバモジュールのイベント通知ログのログレベルを指定します。 | CONFIG |
| Distributed Deployment | 分散配備モジュールのログレベルを指定します。 | CONFIG |
| コンポーネント名 | コンポーネント | ログレベル(既定値) |
|---|---|---|
| ESB 共通 | 共通のログレベルを指定します。 | CONFIG |
| ESB CBRエンジン | CBRエンジンのログレベルを指定します。 | CONFIG |
| ESB CORBAバインディング | CORBAバインディングのログレベルを指定します。 | CONFIG |
| ESB FTPバインディング | FTPバインディングのログレベルを指定します。 | CONFIG |
| ESB Fileバインディング | Fileバインディングのログレベルを指定します。 | CONFIG |
| ESB HTTPバインディング | HTTPバインディングのログレベルを指定します。 | CONFIG |
| ESB JCAバインディング | JCAバインディングのログレベルを指定します。 | CONFIG |
| ESB JDBCバインディング | JDBCバインディングのログレベルを指定します。 | CONFIG |
| ESB JMSバインディング | JMSバインディングのログレベルを指定します。 | CONFIG |
| ESB RMIバインディング | RMIバインディングのログレベルを指定します。 | CONFIG |
| ESB SOAPバインディング | SOAPバインディングのログレベルを指定します。 | CONFIG |
| ESB Sequencingエンジン | Sequencingエンジンのログレベルを指定します。 | CONFIG |
| ESB UserProcessorエンジン | UserProcessorエンジンのログレベルを指定します。 | CONFIG |
| ESB XSLTエンジン | XSLTエンジンのログレベルを指定します。 | CONFIG |
| ESB システムサービス | システムサービスのログレベルを指定します。 | CONFIG |
| ESB NMR | NMRのログレベルを指定します。 | CONFIG |
|
コンポーネント名 |
説明 |
ログレベル(既定値) |
| アクセス制御 | ポータルサイトやページ、ポートレットへのアクセス制御機能のログレベルを指定します。 | CONFIG |
| UI | ポータル画面表示機能のログレベルを指定します。 | CONFIG |
| ポートレット基盤 | ポートレット制御機能のログレベルを指定します。 | CONFIG |
| 認証 | 認証機能のログレベルを指定します。 | CONFIG |
| 運用管理/運用ツール | ポータルサービス運用管理機能のログレベルを指定します。 | CONFIG |
| 基本ポートレット | ビルトインポートレットのログレベルを指定します。 | CONFIG |
| 多言語対応 | ポータルサービスの多言語対応機能のログレベルを指定します。 | CONFIG |
| ストレージ | ポータル関連情報を格納するためのストレージ管理機能のログレベルを指定します。 | CONFIG |
| 開発環境(ポータル開発ツール) | 開発環境(ポートレット開発ツール)のログレベルを指定します。 | CONFIG |
| アクセスログ | ポータル利用者がアクセスした情報を出力するログのレベルを指定します。 | INFO |
| トレースログ | 利用者がアクセスした情報についてさらに詳細な内容を出力するログのレベルを指定します(ON/OFFのどちらかが指定可能)。 トレースログは、本ログレベルが ONの場合に出力されます。 |
OFF |
統合運用管理ツールから以下の手順で変更を行います。
運用管理コマンドを起動しsetコマンドによりログレベルを変更します。例えば以下のようなコマンドになります。
otxadmin> get server.log-service.module-log-levels.*
(現在のログレベル設定内容が表示されます。)
otxadmin> set server.log-service.module-log-levels.admin=DEBUG
server.log-service.module-log-levels.admin = DEBUG
なお、ログレベルに設定する値を以下に示します。
|
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) |
Fnd/Std/Entエディションをご利用の場合、Java EE プロセスグループのログレベルをアプリケーショングループ単位で一括変更することができます。設定方法は以下のとおりです。
統合運用管理ツールから対象のアプリケーショングループを選択し、以下のオペレーションを実行してください。
図8.3.5-1
対象のモジュールのログレベルを変更し、「実行」を押してください。ただし、変更の必要がないモジュールは「No Change」が選択されている状態にしてください。
図8.3.5-2
運用管理コマンドを起動しinvokeコマンドによりログレベルを変更します。
otxadmin> invoke tpsystem.applicationGroups.<アプリケーショングループ名>.changeModuleLogLevels <モジュールログレベル名>=<ログレベル>
複数のログレベルを変更する場合は以下のようなコマンドになります。
otxadmin> invoke tpsystem.applicationGroups.<アプリケーショングループ名>.changeModuleLogLevels <モジュールログレベル名>=<ログレベル>,<モジュールログレベル名>=<ログレベル>,<モジュールログレベル名>=<ログレベル>
統合運用管理ツールから以下の手順で変更を行います。
ファイルサイズに使用できる単位は、単位なし(バイト)、KB(キロバイト)、MB(メガバイト)、GB(ギガバイト)のいづれかになります。
otxadmin > login --user admin --password adminadmin --host localhost --port 6212
otxadmin > set server.log-service.log-file-config.<属性名>=<ログサイズ>
設定の変更を反映するためには、ドメインの再起動が必要になります。
属性名と運用管理ツール表示、ファイル名の対応は以下の表になります。
| 属性名 | 運用管理ツール表記 | ファイル名 | デフォルトサイズ(既定値) |
|---|---|---|---|
| AdminMaxFileSize | Admin | webotx_admin.log | 100KB |
| AgentMaxFileSize | Agent | webotx_agent.log | 1MB |
| AgentAccessLogMaxFileSize | Agent Access Log | agent_access.log | 100KB |
| CHDLMaxFileSize | CHDL | webotx_chdl.log | 100KB |
| DeploymentMaxFileSize | Deployment | webotx_deploy.log | 100KB |
| ESBMaxFileSize | ESB | webotx_esb.log | 100KB |
| EJBContainerMaxFileSize | EJB Container | webotx_ejbcont.log | 100KB |
| JDBCDataSourceMaxFileSize | JDBC | wojdbc.log | 512KB |
| JMSMaxFileSize | JMS | wojms.log | 512KB |
| JNDIServiceMaxFileSize | JNDI Service | webotx_jndisp.log | 100KB |
| JTAMaxFileSize | JTA | wojta.log | 512KB |
| NamingMaxFileSize | Naming | webotx_naming.log | 100KB |
| ObjectBrokerJavaMaxFileSize | Oadj | objava.log | 1MB |
| ObjectBrokerMaxFileSize | Object Broker | webotx_ospi.log | 100KB |
| ProcessConductorMaxFileSize | Process Conductor | bizbp_engine.log | 100KB |
| SecurityMaxFileSize | Security | webotx_security.log | 100KB |
| ServiceRepositoryMaxFileSize | Service Repository | webotx_srep.log | 100KB |
| SipStackMaxFileSize | Sip Stack | webotx_sipstack.log | 100KB |
| SipStackTraceMaxFileSize | Sip Stack Trace | webotx_sipstack.trc | 100KB |
| TPMonitorManagerMaxFileSize | TP Monitor Manager | webotx_tpmmgr.log | 100KB |
| TransactionServiceMaxFileSize | Transaction Service | webotx_ts.log | 100KB |
| WebContainerMaxFileSize | Web Container | webotx_webcont.log | 100KB |
| WebServiceReliableMessageingMaxFileSize | Web Service Reliable Messaging | wsrm.log | 100KB |
| WebServerMaxFileSize | WebServer | webotx_websv.log | 100KB |
| WebServiceMaxFileSize | WebService | webservice.log | 100KB |
| WorkingDomainCoordinatorMaxFileSize | Working Domain Cordinator | wdc.log | 100KB |
| AccessMaxFileSize | Access for domain groups | admin_access.log | 1MB |
| EventMaxFileSize | Event for domain groups | admin_event.log | 1MB |
| DDeploymentMaxFileSize | Distributed Deployment | ddeployment.log | 100KB |
統合運用管理ツールから以下の手順で変更を行います。
世代数には0以上の整数を入力してください。
otxadmin > login --user admin --password adminadmin --host localhost --port 6212
otxadmin > set server.log-service.log-file-config.<属性名>=<世代数>
設定の変更を反映するためには、ドメインの再起動が必要になります。
属性名と運用管理ツール表示、ファイル名の対応は以下の表になります。
| 属性名 | 運用管理ツール表記 | ファイル名 | デフォルトの世代数(既定値) |
|---|---|---|---|
| AdminMaxBackupIndex | Admin | webotx_admin.log | 1 |
| AgentMaxBackupIndex | Agent | webotx_agent.log | 2 |
| AgentAccessLogMaxBackupIndex | Agent Access Log | agent_access.log | 1 |
| CHDLMaxBackupIndex | CHDL | webotx_chdl.log | 1 |
| DeploymentMaxBackupIndex | Deployment | webotx_deploy.log | 1 |
| ESBMaxBackupIndex | ESB | webotx_esb.log | 1 |
| EJBContainerMaxBackupIndex | EJB Container | webotx_ejbcont.log | 1 |
| JDBCDataSourceMaxBackupIndex | JDBC | wojdbc.log | 1 |
| JMSMaxBackupIndex | JMS | wojms.log | 1 |
| JNDIServiceMaxBackupIndex | JNDI Service | webotx_jndisp.log | 1 |
| JTAMaxBackupIndex | JTA | wojta.log | 1 |
| NamingMaxBackupIndex | Naming | webotx_naming.log | 1 |
| ObjectBrokerJavaMaxBackupIndex | Oadj | objava.log | 1 |
| ObjectBrokerMaxBackupIndex | Object Broker | webotx_ospi.log | 1 |
| ProcessConductorMaxBackupIndex | Process Conductor | bizbp_engine.log | 1 |
| SecurityMaxBackupIndex | Security | webotx_security.log | 1 |
| ServiceRepositoryMaxBackupIndex | Service Repository | webotx_srep.log | 1 |
| SipStackMaxBackupIndex | Sip Stack | webotx_sipstack.log | 1 |
| SipStackTraceMaxBackupIndex | Sip Stack Trace | webotx_sipstack.trc | 1 |
| TPMonitorManagerMaxBackupIndex | TP Monitor Manager | webotx_tpmmgr.log | 1 |
| TransactionServiceMaxBackupIndex | Transaction Service | webotx_ts.log | 1 |
| WebContainerMaxBackupIndex | Web Container | webotx_webcont.log | 1 |
| WebServiceReliableMessageingMaxBackupIndex | Web Service Reliable Messaging | wsrm.log | 1 |
| WebServerMaxBackupIndex | WebServer | webotx_websv.log | 1 |
| WebServiceMaxBackupIndex | WebService | webservice.log | 1 |
| WorkingDomainCoordinatorMaxBackupIndex | Working Domain Cordinator | wdc.log | 1 |
| ESBMaxBackupIndex | ESB | webotx_esb.log | 1 |
| AccessMaxBackupIndex | Access for domain groups | admin_access.log | 3 |
| EventMaxBackupIndex | Event for domain groups | admin_event.log | 1 |
| DDeploymentMaxBackupIndex | Distributed Deployment | ddeployment.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 |
| 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 com.nec.wojdbcdriver |
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 |
| ダウンローダ管理サービス | com.nec.webotx.enterprise.system.downloaderManagerService | 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 |
| 分散管理サーバ | com.nec.webotx.enterprise.system.domaingroup.access | DOMAINGROUPACCESSLOG |
| 分散管理サーバ | com.nec.webotx.enterprise.system.domaingroup.event | DOMAINGROUPEVENTLOG |
| 分散管理サーバ | com.nec.webotx.enterprise.system.ddeployment | DDEPLOYMENTFILELOG |
WebOTXがデフォルトで設定しているアペンダについて説明します。
コンソールに出力するためのアペンダです。通常は使用しません。
|
パラメータ |
既定値 | 説明 | |
|---|---|---|---|
| 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アペンダに付いてはSLOGINFOレベル以上のメッセージしか出力されません。
| パラメータ | 既定値 | 説明 | |
|---|---|---|---|
| appender | class | com.nec.webotx.logging.OTXNTEventLogAppender | アペンダのクラス名 |
| Source | WebOTX AS | イベントログソース名 | |
| layout | class | com.nec.webotx.org.apache.Log4J.PatternLayout | パターンレイアウトクラス |
| ConversionPattern | "%m (%c)" | レイアウトパターン | |
syslogに出力するためのアペンダです。SYSLOGアペンダに付いてはSLOGINFOレベル以上のメッセージしか出力されません。
なおアペンダSYSLOGはネットワークを経由してsyslogに出力しているため、Linux環境においてはsyslog出力を有効にするためには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)" | レイアウトパターン | |
重要ログメッセージをJMX Notificationとして通知を行なうためのアペンダです。この通知は統合運用管理ツールのイベントビューに表示されます。SYSLOGアペンダに付いてはSLOGINFOレベル以上のメッセージしか出力されません。
| パラメータ | 既定値 | 説明 | |
|---|---|---|---|
| appender | class | com.nec.webotx.logging.OTXNotificationLogAppender | アペンダのクラス名 |
| layout | class | com.nec.webotx.org.apache.Log4J.PatternLayout | パターンレイアウトクラス |
| ConversionPattern | "%m (%c)" | レイアウトパターン | |
ログファイルに出力するためのアペンダです。
| パラメータ | 既定値 | 説明 | |
|---|---|---|---|
| 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]" | レイアウトパターン | |
リモートアクセスログを出力するためのアペンダです。この通知は${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 |
| 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 com.nec.wojdbcdriver |
| 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.downloaderManagerService |
| 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 |
| DOMAINGROUPACCESSLOG | admin_access.log | com.nec.webotx.enterprise.system.domaingroup.access |
| DOMAINGROUPEVENTLOG | admin_event.log | com.nec.webotx.enterprise.system.domaingroup.event |
| DDEPLOYMENTFILELOG | ddeployment.log | com.nec.webotx.enterprise.system.ddeployment |
各アペンダにて出力レベルを変更することが可能ですが設定できるログレベルについて説明します。
thresholdの設定には次のレベルを指定することができ、イベントログ、syslogとのマッピングも次のとおりです。なおイベントログ、syslogにはSLOGINFO以上の情報しか出力しませんのでthresholdにはSLOGINFO以上を指定するようにしてください。
| log4otxログレベル (値) |
イベントログとのマッピング | syslogとのマッピング | 説明 |
|---|---|---|---|
| ERROR (40000) |
エラー | ERR(3) | システムを継続運用するのに支障をきたす障害 |
| WARN (30000) |
警告 | WARNING(4) | システムを継続運用することはできるレベルの障害 |
| SLOGINFO(*) (25000) |
情報 | INFO(6) | サービスの起動・停止などイベントログとして表示すべき運用状況を示す情報 |
| INFO (20000) |
-- | -- | その他一般的な情報メッセージ |
| CONFIG (10000) |
-- | -- | 構成の追加や変更などコンフィグレーションに関するメッセージ |
| DEBUG (10000) |
-- | -- | デバックレベルのメッセージ |
| DETAIL(*) (8000) |
-- | -- | より詳細なデバックレベルメッセージ(WebOTXオリジナルのレベル) |
| TRACE (5000) |
-- | -- | より詳細なデバックレベルメッセージ |
補足:(*)の付いたレベルはWebOTX独自のレベルです。
Log4Jについては” com.nec.webotx.logging.OTXLogLevel”クラスで拡張
運用操作履歴ログでは、ユーザ接続情報ログと操作詳細ログの2つをagent_access.logに出力します。
以下にログレベルごとの出力内容の概要、各々の説明とログフォーマットを記します。
| ログレベル | 出力内容 |
|---|---|
| OFF | ログを出力しません。 |
| INFO | login、logout情報を出力します。 |
| CONFIG | 運用管理ツール、運用管理コマンドから実行された操作情報を出力します。ただし、getコマンドをは出力されません。 |
| DEBUG | getコマンドの操作情報を出力します。 |
| DETAIL | 運用操作実行時に入力される情報の一部を出力します。 |
| TRACE | 運用操作実行時に入力される情報すべてを出力します。 |
ユーザからの接続要求に対する結果を表示します。
ユーザ接続情報ログは以下のフォーマットで出力されます。
<アクセス時刻><ログレベル><ユーザ名:グループ名><ホスト名><操作名><実行完了結果>
例:
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の場合には表示されません。 |
ユーザが発行した操作の詳細を表示します。操作詳細ログでは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を表示し、処理が異常終了したことを伝えます。 |
出力されるログの形式はCONFIGレベルのものと同じになります。
運用操作実行時に入力される引数の内容を出力します。
出力されるログのフォーマットは以下になります。
<アクセス時刻><ログレベル><引数>
引数が複数ある場合は、[・・・][・・・]のように大括弧で区切られて表示されます。
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]
IIS/Sun Java System Web Server (Oracle iPlanet Web Server) とWebコンテナを連携している場合に出力するログファイルのローテーション方法について説明します。
| プロパティ名 | 説明 | 有効値 | 既定値 | 最小値 |
|---|---|---|---|---|
| log_rotate | ログローテーションを行うか行わないかの設定をします。 0を設定した場合はログローテーションを行いません。 1以上を設定した場合はログローテーションの世代数を設定します。 |
0以上の整数 | 0 | 0 |
| rotate_size | ログローテーションを行うログのサイズ(Mbyte)を設定します。 | 0以上の整数 | 1 | 1 |
| rotate_interval | ログローテーションを行う時間(秒)を設定します。 | 0以上の整数 | なし | 60 |
以下のコマンドを実行し、${INSTANCE_ROOT}/logs/webcontainer ディレクトリに root 以外のユーザで書き込みが出来るよう権限を与えてください。
chmod o+w ${INSTANCE_ROOT}/logs/webcontainer
以下の手順でログの出力先を root 以外のユーザで書き込みが出来るディレクトリへ変更してください。
Sun Java System Web Server (Oracle iPlanet Web Server)を起動している場合は停止します。
<SunJavaWebServer_InstallDir>/https- ホスト名/config/magnus.conf を開き、以下の設定を変更してログの出力先を root 以外のユーザで書き込みが出来るディレクトリに変更します。
log_file="${INSTANCE_ROOT}/logs/webcontainer/nsapi.log"
↓
log_file="<任意のディレクトリ>/nsapi.log"
Sun Java System Web Server (Oracle iPlanet Web Server) を起動し、2.で変更したディレクトリにログが出力していることを確認します。