ログは日々の運用でのメンテナンスや障害発生時の原因調査など、ログはシステム運営において重要な位置を占めています。本章では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通信関連の機能を提供するObject Brokerサービス、Webサーバ関連の機能を提供するWebServerサービスから構成されます。
ここで、運用管理サービスのAgentプロセスおよびJMSコンポーネントのJMSプロセスはともにJavaのプロセスであり、ログの出力にはLog4otxを用いています。その他のプロセスは独自の方法を利用してログを出力しています。
各サービスとログの関係の詳細については次節を参照してください。
図8.1.1.1-3
Standard および Enterprise では Express を構成するサービスに加え、Transactionの管理機能を提供するTransactionサービス、高信頼実行基盤であるTPモニタ サービスから構成されます。また、運用管理サービスのAgentプロセスおよびJMSコンポーネントのJMSプロセスはともにLog4otxを、その他のプロセスは独自の機構を利用してログを出力しています。
各コンポーネントとログの関係については次節を参照してください。
前節でも述べたようにサービスはプロセス群またはモジュールと制御モジュールから構成されています。また、制御モジュールはAgentプロセスの内部で稼動しています。ここで ${INSTANCE_ROOT}/logsにはサービス毎にディレクトリが分けられており、各ディレクトリにはプロセス群またはモジュールが出力するログファイルと制御モジュールが出力するログファイルが格納されます。
ディレクトリ名 | サービス |
---|---|
${INSTANCE_ROOT}/logs/ |
運用管理(webotx_agent.log, server.log、server_err.log, agent_operation.log, webotx_prcstop.log) Webコンテナ(server_access.log) |
${INSTANCE_ROOT}/logs/agent/ |
運用管理(adminconsole_operations.log) JNDI Data Grid |
${INSTANCE_ROOT}/logs/deploy/ |
配備 |
${INSTANCE_ROOT}/logs/diagnostics/ |
診断サービス |
${INSTANCE_ROOT}/logs/ejb/ |
EJBコンテナ |
${INSTANCE_ROOT}/logs/ha/ |
Working Domain Coordinator 分散管理サーバ |
${INSTANCE_ROOT}/logs/jdbc/ |
JDBC |
${INSTANCE_ROOT}/logs/jpa/ |
JPA |
${INSTANCE_ROOT}/logs/ObjectBroker/ |
Object Broker |
${INSTANCE_ROOT}/logs/tpsystem/ |
TPシステム |
${INSTANCE_ROOT}/logs/TS/ |
Transactionサービス JTA(webotx_jta.log) |
${INSTANCE_ROOT}/logs/web/ |
Webサービス Webサーバ Webコンテナ |
${INSTANCE_ROOT}/logs/wojms/ |
JMS |
以下はエディション別のサービスと出力先ディレクトリの関係図です。
図8.1.1.1-4
Webサーバ、JMS、Object Brokerのサービスはそれぞれ外部プロセス群と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の場合に加え、Transactionサービス、TPモニタサービスが各々外部プロセス群とサービスから構成され、追加されます。また、ExpressではAgentプロセス内で動作していたWebコンテナ(*2)、EJBコンテナがTPモニタ上で動作します。そして、サービス毎に${INSTANCE_ROOT}/logs内にディレクトリ区分されログが出力されます。
また、${INSTANCE_ROOT}/logs直下に出力されるwebotx_agent.log、server.log、server_err.logについてはExpressと同様です。
(*2) インストール時にアドバンスドモードを選択した場合
この節では業務アプリケーションからログを出力する方法について説明します。
業務アプリケーションからログを出力する方法として、以下を提供しています。
・JavaEE アプリケーション
JDK Logger、Log4JなどJavaライブラリを用いて出力する方法と、標準出力に出力する方法があります。Log4Jを利用する場合は次節を参照してください。
(※1) Log4Jなどのライブラリは業務アプリケーション側で用意する必要があります。
(※2) Log4OTXはWebOTX内部コンポーネント専用のライブラリであり、業務アプリケーションのログ出力用ライブラリとしては機能を提供していません。
・CORBA アプリケーション
WebOTX ASが提供するAPIを利用する方法があります。詳細は「APIリファレンスマニュアル」を参照してください。
業務アプリケーションで用意したLog4Jを利用する場合、アプリケーションが利用するLog4J定義ファイルは、WEB-INF/classes以下に配置する必要があります。
図8.1.2.1-1
標準出力を利用する場合、エディションまたはドメインの構成により以下のファイルへ出力されます。
標準出力の出力先ファイル(既定値はserver.log)に出力されます。
Webアプリケーションでは、標準出力の出力先ファイル(既定値はserver.log)に出力されます。EJBアプリケーションでは、サーバアプリケーショントレースログに出力されます。
標準出力に出力したメッセージはサーバアプリケーショントレースログに出力されます。
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.generation-management-enabled=false世代管理を無効化した場合、ログファイル名の末尾に「.<システム時間>」が追加されます。 また、ローテーション後のファイル名については、ファイル名の末尾に「.<世代数番号>」は付与されません。
20xx-xx-xx xx:xx:xx,xxx com.nec.webotx.enterprise.admin.launcher.WebOTXLauncherLogger 情報: ================================================================================ [Version] WebOTX 9.30.00.00 (build xxxxxxxx) ================================================================================ 20xx-xx-xx xx:xx:xx,xxx com.nec.webotx.enterprise.admin.launcher.WebOTXLauncherLogger 情報: Successfully launched in 11 msec.また、${INSTANCE_ROOT}/logs/server.logについても、世代管理が無効化されますので、 定期的にログファイルを削除するよう対処してください。
otxadmin > set server.log-service.property.stdout-format="<レイアウトパターン>"・標準エラー
otxadmin > set server.log-service.property.stderr-format="<レイアウトパターン>"
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=<ログレベル>設定できるログレベルは以下になります。
[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}.<モジュールログレベル属性名>=<レベル>設定できるレベルは以下になります。
レベル | 説明 |
---|---|
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) |
記号 | 説明 |
---|---|
○ | 該当プロセスグループにて設定可能なモジュールログレベル |
− | 該当プロセスグループでは設定不可能なモジュールログレベル |
カテゴリ名 | 属性名 | Java EE | CORBA Java | 概要 |
---|---|---|---|---|
Agent | AdminLogLevel | ○ | ○ | Adminモジュールのログレベル |
ApacheCommonsLogLevel | ○ | − | Apache Commonsモジュールのログレベル | |
JNDIServiceLogLevel | ○ | − | JNDI Serviceモジュールのログレベル | |
SecurityLogLevel | ○ | − | Securityモジュールのログレベル | |
ServerCoreLogLevel | ○ | − | Server Coreモジュールのログレベル | |
Web | CatalinaLogLevel | ○ | − | Catalinaモジュールのログレベル |
HttpListenerLogLevel | ○ | − | Httpリスナモジュールのログレベル | |
JSPLogLevel | ○ | − | JSPモジュールのログレベル | |
WebContainerLogLevel | ○ | ○ | Webコンテナモジュールのログレベル | |
EJB | EJBContainerLogLevel | ○ | ○ | EJBコンテナモジュールのログレベル |
JDBC | JDBCLogLevel | ○ | ○ | JDBCデータソースモジュールのログレベル |
JDBCDriverLogLevel | ○ | − | JDBCドライバモジュールのログレベル | |
Transactionサービス | JTALogLevel | ○ | ○ | JTAモジュールのログレベル |
JMS | JMSLogLevel | ○ | ○ | JMSモジュールのログレベル |
CORBA | ObjectBrokerJavaLibLogLevel | ○ | ○ | Object Broker Java Libraryモジュールのログレベル |
ObjectBrokerJavaMsgLogLevel | ○ | ○ | Object Broker Java Messageモジュールのログレベル | |
Web Service | WebServiceLogLevel | ○ | − | Web Serviceモジュールのログレベル |
JPA | JPALogLevel | ○ | − | JPAモジュールのログレベル |
DataGrid | WebotxCacheImplLogLevel | ○ | − | データグリッドモジュールのログレベル |
CoherenceLogLevel | ○ | − | Coherenceのログレベル | |
InfinispanLogLevel | ○ | − | Infinispanのログレベル |
[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 tpsystem.IIOPListener.iiopControlLogSize=<サイズ(KB)>
otxadmin > set tpsystem.IIOPListener.iiopManagementLogSize=<サイズ(KB)>
otxadmin > set tpsystem.AJPListener.ajpControlLogSize=<サイズ(KB)>
otxadmin > set tpsystem.AJPListener.ajpManagementLogSize=<サイズ(KB)>
otxadmin > set tpsystem.AJPListener.accesslogFileMaxSize=<サイズ(KB)>
otxadmin > set tpsystem.AJPListener.accesslogFileRotateType=<ローテーション方式>
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(デバッグレベル)が設定できます。
otxadmin > set server.web-container.plugin-config.plugin-log-level=<ログレベル>ログレベルには以下のいずれかの値を指定できます。既定値はerrorです。
otxadmin > set server.web-container.plugin-config.plugin-log-level=<ログレベル>ログレベルには以下のいずれかの値を指定できます。既定値はerrorです。
otxadmin > set server.web-container.plugin-config.plugin-log-level=<ログレベル>ログレベルには以下のいずれかの値を指定できます。既定値はerrorです。
(*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ファイルは実行権限が必要となります。
WebOTXでは多くのログファイルについて、既定でファイルサイズによるローテーションの設定を行っています。
しかし、長期間連続運用を行っている環境やディスク容量に合ったローテーションサイズのチューニングが行われていない環境の場合、
ログファイルの容量増加に伴いディスクフルが発生する危険があります。ご利用になるシステムのディスク要件に合わせたチューニングを行ってください。
以下では、既定でローテーションの設定を行っておらず、ディスクフルの危険性があるログファイルについて表にまとめています。
ログファイル名 | 備考 |
---|---|
error_log(error.log) | インストール時に「WebOTX Webサーバ」を選択した場合のみ出力されます。 設定により回避可能です。詳しくは8.2.15節を参照してください。 |
ssl_request_log(ssl_request.log) | HTTPS使用時に出力されます。設定により回避可能です。詳しくは8.2.15節を参照してください。 |
std.log | スレッドダンプ取得回数に依存します。 |
Webサーバが出力するログのローテーション方法については、マニュアルの以下の章を参照してください。
WebサーバとWebコンテナとの連携モジュールであるmod_jkが出力するログファイルのローテーション方法について説明します。
はじめに、mod_jkの設定ファイル名について説明します。mod_jkの設定ファイルは使用するWebサーバとWebOTXの動作モードによって以下のように変わります。設定ファイルは${INSTANCE_ROOT}/config/WebCont以下にあります。
使用 Webサーバ | WebOTX動作モード | mod_jk設定ファイル名 |
---|---|---|
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-22.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.2とアドバンスドモードの組み合わせを例に手順を説明いたします。組み合わせがことなる場合も手順は同じですので、ファイル名、パス名を適宜読み替えてください。
以下の手順を、ドメインが停止した状態で行ってください。
Standard/Enterpriseにおけるサーバアプリケーションに関するログについて説明します。サーバアプリケーションの動作に問題がある場合に参照すべきログについて説明します。
WebOTXにはシステムやプロセスの稼動状況を示すために様々なトレースファイルが存在します。 何か異常が起こったときは以下に説明するファイルを参照してください。
この表の上位4つのファイルで、ほとんどの場合に対処可能です。トレースレベルを最大にすると通常運用に支障が出る場合もあります。最大よりは1ないし2つほど下げて運用してください。デバッグ時は常に最大にしてください。これらのファイルについてはファイルの読み方とエラー番号一覧 (別のセクションにあるものもあります)を示します。
また、下位2つは上位4つでも判らない時に採取するログです。通常運用には耐えられないほどのログが出ますので、デバッグ時や開発元からの依頼があった時のみ採取願います。下位 2つのファイルに関しては採取方法のみ示します。
トレース種別 | トレース内容 |
---|---|
サーバアプリケーショントレース(Java) | WebOTXのトレースとユーザトレース(TPSUserTrace())をマージして出力します。 |
サーバアプリケーショントレース(C++) | WebOTXのトレースとユーザトレース(TPSUserTrace())をマージして出力します。 |
システムトレース | プロセス起動時の情報やCORBAアプリケーションで検出したエラーの情報が出力します。 |
イベントログ(Windows)、syslog(UNIX系OS) | 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系OSの場合、共有メモリが破壊された恐れがあります。マシン再起動が必要かもしれません。 |
Get classpath failed. | wo_jars.cnfからCLASSPATHの生成に失敗しました。 | WebOTXあるいはObject Brokerその他のコンポーネントのインストール情報が壊れている可能性があります。可能なら再インストールしてください。 |
set PATH failed. | PATH環境変数の設定に失敗しました。 | メモリ不足の可能性があります。マシンのメモリ使用量を確認してください。UNIX系OSの場合、共有メモリが破壊された恐れがあります。マシン再起動が必要かもしれません。 |
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 Transactionサービスの初期化に失敗しました。 | WebOTX Transactionサービスのログを確認して対処してください。 |
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系OSの場合、共有メモリが破壊された恐れがあります。マシン再起動が必要かもしれません。 |
Can't get property header(process shared memory is exception). | 共有プロパティのプロパティアクセスにて共有メモリにアクセスできませんでした。 | メモリ不足の可能性があります。マシンのメモリ使用量を確認してください。UNIX系OSの場合、共有メモリが破壊された恐れがあります。マシン再起動が必要かもしれません。 |
WebOTX TransactionService is not installed. | WebOTX Transactionサービスがインストールされてないようです。 | PATH環境変数を確認してください。可能ならWebOTX Transactionサービスを再インストールしてください。 |
TransactionService::init() is FALSE. | WebOTX Transactionサービスの初期化に失敗しました。 | WebOTX Transactionサービスのログを確認して対処してください。 |
Unable to tx_register(). | WebOTX Transactionサービスのデータベース名の設定が失敗しました。 | WebOTX Transactionサービスのログを確認して対処してください。 |
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リスナは二つのトレースファイルから構成されます。一つは通信管理部分で、もう一つは振り分け部分になります。
通信管理部分のトレース
以下のコマンドでログを出力することができます。
otxadmin > set tpsystem.IIOPListener.collectIiopManagementLog=true
このログは開発環境での障害発生時に採取を依頼する場合があります。通常の運用ではユーザは意識する必要はありません。
振り分け部分のトレース
以下のコマンドでログを出力することができます。
otxadmin > set tpsystem.IIOPListener.collectIiopControlLog=true
このログは障害発生時に採取を依頼する場合があります。通常の運用ではユーザは意識する必要はありません。
ログファイルのサイズが32KBを超えると新しいログファイルが作成されます。古いログファイルは<ログファイル名.bak>として保存されます。ログは2世代で、世代数の変更はできません。
以上の設定を行い、該当するTPシステムを再起動してください。上記ファイルにファイルに情報が出力されていることを確認し、開発元に送付してください。
ファイルの採取が完了した後は、上記の変更を全て元に戻してください。
AJPリスナは普段はWebサーバからの要求を適切なサーバアプリケーションに振り分ける処理を行います。もし、Webサーバからの通信が行えなかったり、サーバアプリケーションに正しく要求が届かなかったりする場合は、AJPリスナのトレースを採取して開発元に送付してください。
この設定は大量のトレースを出力し、性能に影響を及ぼすため、通常時は採取しないようにしてください。
AJPリスナは二つのトレースファイルから構成されます。一つは通信管理部分で、もう一つは振り分け部分になります。
通信管理部分のトレース
以下のコマンドでログを出力することができます。
otxadmin > set tpsystem.AJPListener.collectAjpManagementLog=true
このログは開発環境での障害発生時に採取を依頼する場合があります。通常の運用ではユーザは意識する必要はありません。
振り分け部分のトレース
以下のコマンドでログを出力することができます。
otxadmin > set tpsystem.AJPListener.collectAjpControlLog=true
このログは障害発生時に採取を依頼する場合があります。通常の運用ではユーザは意識する必要はありません。
ログファイルのサイズが32KBを超えると新しいログファイルが作成されます。古いログファイルは<ログファイル名.bak>として保存されます。ログは2世代で、世代数の変更はできません。
以上の設定を行い、該当するTPシステムを再起動してください。上記ファイルにファイルに情報が出力されていることを確認し、開発元に送付してください。
ファイルの採取が完了した後は、上記の変更を全て元に戻してください。
WebOTX上で動作するJavaアプリケーションにおいて、Log4Jを利用する場合の注意点について説明します。
Standard、Enterpriseをアドバンスドモードで動作させる場合のWebアプリケーションのログ出力の手順について説明します。
アドバンスドモードで実行する場合、WebAPはプロセスグループ上で動作します。プロセスグループは、多重度を設定することができるため、ファイルにログ出力を行う場合、複数のプロセスが同じファイルに書き込みを行い、メッセージの欠損やローテート失敗によるメッセージの全損等の問題が発生する可能性があります。そのため、以下のいずれかの手順で問題を回避する必要があります。
アプリケーションのログをプロセスグループのログに出力するには、標準出力を利用します。プロセスグループ上で標準出力を行うと、プロセスグループのログファイルに出力されます。ログファイルは以下に出力されます。
${INSTANCE_ROOT}/logs/tpsystem/${APGNAME}/${PGNAME}/${PGNAME}.${PID}.log
Webアプリケーションのログを個別のファイルに出力する場合、出力するログファイル名に、Webアプリケーションが動作するプロセスのプロセスIDを付与することで、多重度を設定した場合でもプロセス単位にログを出力することができます。
(注意) ログ定義ファイルについて
プロセスグループ上でWebAPを動作させる場合、Webアプリケーションが利用するログ定義ファイルを、同一プロセスグループ上に配備されたアプリケーションごとに分けて利用することはできません。プロセスグループで同一のLog4J定義ファイルを使用してください。
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 |
トレースID | jp.co.nec.WebOTX.TraceID |
(注意) 上記のJavaシステムプロパティに指定する値は変更できません。変更した場合の動作は保証できません。
(*1) 本プロパティはプロセスグループ作成時にCORBAシステムを選択された場合、そのプロセスグループ上では使用できません。
エージェントプロセス内で動作するコンポーネントはコンポーネント単位にログレベルを設定することが可能です。ログレベルの変更はエージェントが起動中でも反映することができます。これらの設定は、統合運用管理ツールから変更が可能です。
タブ毎に以下のコンポーネント毎のログレベル設定が可能です。
Agentコンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
Admin | Adminモジュールのログレベルを指定します。 | CONFIG |
JMX Remote Operation | JMX Remote Operationモジュールのログレベルを指定します。 | CONFIG |
Apache Commons | Apache Commonsモジュールのログレベルを指定します。 | CONFIG |
JNDI Service | JNDI Serviceモジュールのログレベルを指定します。 | CONFIG |
Security | Securityモジュールのログレベルを指定します。 | CONFIG |
Server Core | Server Coreモジュールのログレベルを指定します。 | CONFIG |
コンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
Access Log | Access Logモジュールのログレベルを設定します。 | CONFIG |
Catalina | Catalinaモジュールのログレベルを指定します。 | CONFIG |
Http Listener | Http Listenerモジュールのログレベルを指定します。 | CONFIG |
JSP | JSPモジュールのログレベルを指定します。 | CONFIG |
Web Container | Web Containerモジュールのログレベルを指定します。 | CONFIG |
Web Server | Web Serverモジュールのログレベルを指定します。 | CONFIG |
コンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
EJB Container | EJB Containerモジュールのログレベルを指定します。 | CONFIG |
コンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
Deployment | Deploymentモジュールのログレベルを指定します。 | CONFIG |
コンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
JDBC DataSource | JDBC DataSourceモジュールのログレベルを指定します。 | CONFIG |
JDBC Driver | JDBC Driverモジュールのログレベルを設定します。 | WARN |
コンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
Transactionサービス | Transactionサービスモジュールのログレベルを指定します。 | CONFIG |
JTA | JTAモジュールのログレベルを指定します。 | CONFIG |
コンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
JMS Client | JMS Clientモジュールのログレベルを指定します。 | CONFIG |
コンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
Object Broker | Object Brokerモジュールのログレベルを指定します。 | CONFIG |
Object Broker Java Library | Object Broker Java Libraryモジュールのログレベルを指定します。 | CONFIG |
Object Broker Java Message | Object Broker Java Messageモジュールのログレベルを指定します。 | CONFIG |
コンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
Web Service | Web Serviceモジュールのログレベルを設定します。 | CONFIG |
コンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
Admin assistant | Admin assistantモジュールのログレベルを設定します。 | CONFIG |
Access for domain groups | ドメイングループに対するAccessログレベルを設定します。 | CONFIG |
Distributed Deployment | 分散配備モジュールのログレベルを設定します。 | CONFIG |
Downloader Manager Service | ダウンローダ管理サービスモジュールのログレベルを設定します。 | CONFIG |
Event for domain groups | ドメイングループに対するEventログレベルを設定します。 | CONFIG |
TP Monitor Manager | TP Monitor Managerモジュールのログレベルを設定します。 | CONFIG |
Working Domain Coordinator | Working Domain Coordinatorモジュールのログレベルを指定します。 | CONFIG |
コンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
JPA | JPAモジュールのログレベルを設定します。 | CONFIG |
コンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
Webotx Cache Implementation | WebOTXにおけるデータグリッド実装のログレベルを設定します。 | CONFIG |
Coherence | Oracle Coherenceのログレベルを設定します。 | CONFIG |
Infinispan | Infinispanのログレベルを設定します。 | CONFIG |
コンポーネント名 | コンポーネント | ログレベル(既定値) |
---|---|---|
ESB 共通 | 共通のログレベルを指定します。 | CONFIG |
ESB CBRエンジン | CBRエンジンのログレベルを指定します。 | CONFIG |
ESB CORBAバインディング | CORBAバインディングのログレベルを指定します。 | CONFIG |
ESB FTPバインディング | FTPバインディングのログレベルを指定します。 | CONFIG |
ESB Fileバインディング | Fileバインディングのログレベルを指定します。 | CONFIG |
ESB HL7バインディング | HL7バインディングのログレベルを指定します。 | CONFIG |
ESB HTTPバインディング | HTTPバインディングのログレベルを指定します。 | CONFIG |
ESB JCAバインディング | JCAバインディングのログレベルを指定します。 | CONFIG |
ESB JDBCバインディング | JDBCバインディングのログレベルを指定します。 | CONFIG |
ESB JMSバインディング | JMSバインディングのログレベルを指定します。 | CONFIG |
ESB RMIバインディング | RMIバインディングのログレベルを指定します。 | CONFIG |
ESB SAPバインディング | SAPバインディングのログレベルを指定します。 | CONFIG |
ESB SOAPバインディング | SOAPバインディングのログレベルを指定します。 | CONFIG |
ESB TCP/IPバインディング | TCP/IPバインディングのログレベルを指定します。 | CONFIG |
ESB Transportバインディング | Transportバインディングのログレベルを指定します。 | 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 |
開発環境(ポータル開発ツール) | 開発環境(ポートレット開発ツール)のログレベルを指定します。 | CONFIG |
アクセスログ | ポータル利用者がアクセスした情報を出力するログのレベルを指定します。 | INFO |
トレースログ | 利用者がアクセスした情報についてさらに詳細な内容を出力するログのレベルを指定します(ON/OFFのどちらかが指定可能)。 トレースログは、本ログレベルが ONの場合に出力されます。 |
OFF |
エラーログ | エラーログのログレベルを指定します。 | CONFIG |
利用統計ログ | 利用統計ログのログレベルを指定します。 | CONFIG |
共通サービスログ | 共通サービスログのログレベルを指定します。 | CONFIG |
メニューポートレットログ | メニューポートレットログのログレベルを指定します。 | CONFIG |
セキュリティログ | ログインポートレットのセキュリティログのログレベルを指定します。 | CONFIG |
統合運用管理ツールから以下の手順で変更を行います。
運用管理コマンドを起動し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) |
Standard/Enterpriseエディションをご利用の場合、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.<属性名>=<ログサイズ>
設定の変更を反映するためには、ドメインの再起動が必要になります。
属性名と運用管理ツール表示、ファイル名の対応は以下の表になります。
属性名 | 運用管理ツール表記 | ファイル名 | デフォルトサイズ(既定値) |
---|---|---|---|
AccessLogMaxFileSize | Access Log | server_access.log | 10MB |
AccessMaxFileSize | Access for domain groups | admin_access.log | 1MB |
AdminMaxFileSize | Admin | webotx_admin.log | 100KB |
AgentAccessLogMaxFileSize | Agent Access Log | agent_operation.log | 100KB |
AgentMaxFileSize | Agent | webotx_agent.log | 1MB |
CatalinaMaxFileSize | Catalina | webotx_catalina.log | 100KB |
DataGridMaxFileSize | Data Grid | webotx_datagrid.log | 100KB |
DDeploymentMaxFileSize | Distributed Deployment | ddeployment.log | 100KB |
DeploymentMaxFileSize | Deployment | webotx_deploy.log | 100KB |
EJBContainerMaxFileSize | EJB | webotx_ejbcont.log | 100KB |
EventMaxFileSize | Event for domain groups | admin_event.log | 1MB |
JDBCDataSourceMaxFileSize | JDBC Data Source | webotx_jdbc.log | 512KB |
JMSMaxFileSize | JMS | webotx_jms.log | 512KB |
JNDIServiceMaxFileSize | JNDI Service | webotx_jndisp.log | 100KB |
JpaMaxFileSize | JPA | webotx_jpa.log | 100KB |
JTAMaxFileSize | JTA | webotx_jta.log | 512KB |
ObjectBrokerJavaMaxFileSize | Object Broker Java | objava.log | 1MB |
ObjectBrokerMaxFileSize | Object Broker | webotx_ospi.log | 100KB |
TPMonitorManagerMaxFileSize | TP Monitor Manager | webotx_tpmmgr.log | 100KB |
TransactionServiceMaxFileSize | Transaction Service | webotx_ts.log | 100KB |
WebContainerMaxFileSize | Web Container | webotx_webcont.log | 100KB |
WebServerMaxFileSize | WebServer | webotx_websv.log | 100KB |
WebServiceMaxFileSize | WebService | webservice.log | 100KB |
WorkingDomainCoordinatorMaxFileSize | Working Domain Coordinator | wowdc.log | 100KB |
PortalCommonFrameworkLogMaxFileSize | Portal Common Framework Log | portal_common_framework.log | 1MB |
PortalBuiltinPortletLogMaxFileSize | Portal Builtin Portlet | portal_builtin_portlet.log | 1MB |
PortalAccessLogMaxFileSize | Portal Access Log | portal_access.log | 10MB |
PortalTraceLogMaxFileSize | Portal Trace Log | portal_tracelog.log | 1MB |
PortalCommonServiceLogMaxFileSize | Portal Common Service Log | portal_common_service.log | 1MB |
統合運用管理ツールから以下の手順で変更を行います。
世代数には0以上の整数を入力してください。
otxadmin > login --user admin --password adminadmin --host localhost --port 6212
otxadmin > set server.log-service.log-file-config.<属性名>=<世代数>
設定の変更を反映するためには、ドメインの再起動が必要になります。
属性名と運用管理ツール表示、ファイル名の対応は以下の表になります。
属性名 | 運用管理ツール表記 | ファイル名 | デフォルトの世代数(既定値) |
---|---|---|---|
AccessLogMaxBackupIndex | Access Log | server_access.log | 3 |
AccessMaxBackupIndex | Access for domain groups | admin_access.log | 3 |
AdminMaxBackupIndex | Admin | webotx_admin.log | 1 |
AgentAccessLogMaxBackupIndex | Agent Access Log | agent_operation.log | 1 |
AgentMaxBackupIndex | Agent | webotx_agent.log | 2 |
CatalinaMaxBackupIndex | Catalina | webotx_catalina.log | 1 |
DataGridMaxBackupIndex | Data Grid | webotx_datagrid.log | 1 |
DDeploymentMaxBackupIndex | Distributed Deployment | ddeployment.log | 1 |
DeploymentMaxBackupIndex | Deployment | webotx_deploy.log | 1 |
EJBContainerMaxBackupIndex | EJB | webotx_ejbcont.log | 1 |
EventMaxBackupIndex | Event for domain groups | admin_event.log | 1 |
JDBCDataSourceMaxBackupIndex | JDBC Data Source | webotx_jdbc.log | 1 |
JMSMaxBackupIndex | JMS | webotx_jms.log | 1 |
JNDIServiceMaxBackupIndex | JNDI Service | webotx_jndisp.log | 1 |
JpaMaxBackupIndex | JPA | webotx_jpa.log | 1 |
JTAMaxBackupIndex | JTA | webotx_jta.log | 1 |
ObjectBrokerJavaMaxBackupIndex | Object Broker Java | objava.log | 1 |
ObjectBrokerMaxBackupIndex | Object Broker | webotx_ospi.log | 1 |
TPMonitorManagerMaxBackupIndex | TP Monitor Manager | webotx_tpmmgr.log | 1 |
TransactionServiceMaxBackupIndex | Transaction Service | webotx_ts.log | 1 |
WebContainerMaxBackupIndex | Web Container | webotx_webcont.log | 1 |
WebServerMaxBackupIndex | WebServer | webotx_websv.log | 1 |
WebServiceMaxBackupIndex | WebService | webservice.log | 1 |
WorkingDomainCoordinatorMaxBackupIndex | Working Domain Coordinator | wowdc.log | 1 |
PortalCommonFrameworkLogMaxBackupIndex | Portal Common Framework Log | portal_common_framework.log | 3 |
PortalBuiltinPortletLogMaxBackupIndex | Portal Builtin Portlet | portal_builtin_portlet.log | 3 |
PortalAccessLogMaxBackupIndex | Portal Access Log | portal_access.log | 100 |
PortalTraceLogMaxBackupIndex | Portal Trace Log | portal_tracelog.log | 3 |
PortalCommonServiceLogMaxBackupIndex | Portal Common Service Log | portal_common_service.log | 3 |
WebOTXがデフォルトで設定しているロガーの名称について説明します。コンポーネント別に独自のファイルアペンダを用意しています。
コンポーネント名 | ロガー名 | 使用するアペンダ |
---|---|---|
apacheプロジェクト | org.apache.tomcat org.apache.coyote org.apache.jasper |
FILELOG |
commons | org.apache.commons | ADMINFILELOG |
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 | ADMINFILELOG |
EJBコンテナ | com.nec.webotx.enterprise.system.container.ejb | EJBCONTAINERFILELOG |
Webコンテナ | com.nec.webotx.enterprise.system.container.web | WEBCONTAINERFILELOG |
配備 | com.nec.webotx.enterprise.system.tools.deployment | DEPLOYFILELOG |
Object Broker Java ライブラリ |
com.nec.webotx.objectbrokerjava com.nec.webotx.objectbrokerjava.lib com.nec.webotx.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.webotx.jdbc com.nec.webotx.jdbcdriverlog |
WOJDBCFILELOG |
JTA | com.nec.webotx.jta | WOJTAFILELOG |
内部Webサーバ | server | ACCESSFILELOGSERVER |
Webサービス |
org.apache.axis
org.apache.ws
com.nec.webotx.enterprise.system.webservices.ws com.nec.webotx.enterprise.system.webservices.rpc com.nec.webotx.enterprise.system.webservices.jaxrs com.nec.webotx.enterprise.system.webservices.saaj com.nec.webotx.enterprise.system.webservices.registry com.nec.webotx.enterprise.system.webservices.wss com.nec.webotx.enterprise.system.webservices.wsit com.nec.webotx.enterprise.system.webservices.wsrm |
WSFILELOG |
JMS | com.nec.webotx.jms | 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 |
Web版運用管理コンソール | com.nec.webotx.ajaxconsole.adminConsoleOperationsLogger | ADMINCONSOLEOPERATIONSLOG |
分散管理サーバ | com.nec.webotx.enterprise.system.domaingroup.access | DOMAINGROUPACCESSLOG |
分散管理サーバ | com.nec.webotx.enterprise.system.domaingroup.event | DOMAINGROUPEVENTLOG |
分散管理サーバ | com.nec.webotx.enterprise.system.ddeployment | DDEPLOYMENTFILELOG |
JPA | com.nec.webotx.enterprise.system.persistence.jpa | JPAFILELOG |
DataGrid | com.nec.webotx.enterprise.system.datagrid com.nec.webotx.enterprise.system.datagrid.coherence org.infinispan |
DATAGRIDFILELOG |
Portal |
com.nec.webotx.portal.security.authorization com.nec.webotx.portal.login com.nec.webotx.portal.engine.servlet com.nec.webotx.portal.security.authentication com.nec.webotx.portal.foundation com.nec.webotx.portal.localization com.nec.webotx.portal.management com.nec.webotx.portal.storage com.nec.webotx.portal.ui com.nec.webotx.developer.portal.tools |
PORTALCOMMONFRAMEWORKLOG |
Portal(共通サービス) | com.nec.webotx.portal.common | PORTALCOMMONSERVICELOG |
Portal(ポートレットログ) | com.nec.webotx.portal.portlet | PORTALBUILTINPORTLETLOG |
Portal(アクセスログ) | accesslog | PORTALACCESSLOG |
Portal(トレースログ) | tracelog | PORTALTRACELOG |
WebOTXがデフォルトで設定しているアペンダについて説明します。
コンソールに出力するためのアペンダです。通常は使用しません。
パラメータ |
既定値 | 説明 | |
---|---|---|---|
appender | class | com.nec.webotx.org.apache.log4j.ConsoleAppender | アペンダのクラス名 |
layout | class | com.nec.webotx.org.apache.log4j.PatternLayout | パターンレイアウトクラス |
ConversionPattern | "%d %-8p %-8X{module} - %m [%t]%n" | レイアウトパターン |
(※) レイアウトパターンの%X{module}はWebOTX内部コンポーネントのモジュール名に置換されます。
イベントログに出力するためのアペンダです。EVENTLOGアペンダに付いてはSLOGINFOレベル以上のメッセージしか出力されません。
パラメータ | 既定値 | 説明 | |
---|---|---|---|
appender | class | com.nec.webotx.logging.OTXNTEventLogAppender | アペンダのクラス名 |
Source | WebOTX AS | イベントログソース名 | |
layout | class | com.nec.webotx.org.apache.log4j.PatternLayout | パターンレイアウトクラス |
ConversionPattern | "%m [%X{domain}]" | レイアウトパターン |
(※) レイアウトパターンの%X{module}はWebOTX内部コンポーネントのモジュール名に、%X{domain}はドメイン名に置換されます。
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 (%X{module}) [%X{domain}]" | レイアウトパターン |
(※) レイアウトパターンの%X{module}はWebOTX内部コンポーネントのモジュール名に、%X{domain}はドメイン名に置換されます。
重要ログメッセージを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 (webotx_jdbc.log, webotx_jms.log, webotx_jta.log) | |||
100KB (上記以外) | |||
MaxBackupIndex | 2 (webotx_agent.log) | ログファイルをバックアップする数 | |
1 (上記以外) | |||
layout | class | com.nec.webotx.org.apache.log4j.PatternLayout | パターンレイアウトクラス |
ConversionPattern | "%d %-8p %-8X{module} - %m [%t]%n" | レイアウトパターン |
(※) レイアウトパターンの%X{module}はWebOTX内部コンポーネントのモジュール名に置換されます。
リモートアクセスログを出力するためのアペンダです。この通知は${INSTANCE_ROOT}/logs/にagent_operation.logとして出力されます。
パラメータ | 既定値 | 説明 | |
---|---|---|---|
appender | class | com.nec.webotx.org.apache.log4j.RollingFileAppender | アペンダのクラス名 |
File | ${com.nec.webotx.instanceRoot}/logs/agent_operation.log | 出力ファイル名 | |
MaxFileSize | 100KB | ファイルサイズ上限 | |
MaxBackupIndex | 1 | ログファイルをバックアップする数 | |
layout | class | com.nec.webotx.org.apache.log4j.PatternLayout | パターンレイアウトクラス |
ConversionPattern | "%d %-8p %-8X{module} - %m [%t]%n" | レイアウトパターン |
(※) レイアウトパターンの%X{module}はWebOTX内部コンポーネントのモジュール名に置換されます。
アペンダ | ファイル名 | ロガー名 |
---|---|---|
FILELOG | webotx_agent.log | org.apache.tomcat org.apache.coyote org.apache.jasper org.apache.naming com.nec.webotx javax |
ADMINFILELOG | webotx_admin.log | com.nec.webotx.enterprise.admin com.nec.webotx.enterprise.system.core com.nec.webotx.enterprise.system.core.security com.nec.webotx.enterprise.system.tools.admin com.nec.webotx.enterprise.system.util org.apache.commons |
CATALINAFILELOG | webotx_catalina.log | org.apache.catalina tomcat |
EJBCONTAINERFILELOG | webotx_ejbcont.log | com.nec.webotx.enterprise.system.container.ejb |
WEBCONTAINERFILELOG | webotx_webcont.log | com.nec.webotx.enterprise.system.container.web |
DEPLOYFILELOG | webotx_deploy.log | com.nec.webotx.enterprise.system.tools.deployment |
OSPIFILELOG | webotx_ospi.log | 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.enterprise.system.webservices.jaxrs com.nec.webotx.enterprise.system.webservices.registry com.nec.webotx.enterprise.system.webservices.rpc com.nec.webotx.enterprise.system.webservices.saaj com.nec.webotx.enterprise.system.webservices.ws com.nec.webotx.enterprise.system.webservices.wsit com.nec.webotx.enterprise.system.webservices.wsrm com.nec.webotx.enterprise.system.webservices.wss com.nec.webotx.enterprise.webservices org.apache.axis org.apache.ws org.apache.ws.security |
WOJDBCFILELOG | webotx_jdbc.log |
com.nec.webotx.jdbc com.nec.webotx.jdbcdriverlog |
WOJTAFILELOG | webotx_jta.log | com.nec.webotx.jta com.nec.wojta.jts |
TPMMGRFILELOG | webotx_tpmmgr.log | com.nec.webotx.enterprise.system.TPMonitorManager com.nec.webotx.enterprise.system.WOAdminAssistant com.nec.webotx.enterprise.system.downloaderManagerService |
WOJMSFILELOG | webotx_jms.log | com.nec.webotx.jms |
JMXREMOTEACCESSLOG | agent_operation.log | com.nec.webotx.enterprise.system.remote_access |
ADMINCONSOLEOPERATIONSLOG | adminconsole_operations.log | com.nec.webotx.ajaxconsole.adminConsoleOperationsLogger |
WDCFILELOG | wowdc.log | com.nec.webotx.enterprise.system.wdc |
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 |
JPAFILELOG | webotx_jpa.log | com.nec.webotx.enterprise.system.persistence.jpa |
DATAGRIDFILELOG | webotx_datagrid.log | com.nec.webotx.enterprise.system.datagrid com.nec.webotx.enterprise.system.datagrid.coherence org.infinispan |
PORTALCOMMONFRAMEWORKLOG | portal_common_framework.log |
com.nec.webotx.portal.security.authorization com.nec.webotx.portal.login com.nec.webotx.portal.engine.servlet com.nec.webotx.portal.security.authentication com.nec.webotx.portal.foundation com.nec.webotx.portal.localization com.nec.webotx.portal.management com.nec.webotx.portal.storage com.nec.webotx.portal.ui com.nec.webotx.developer.portal.tools |
PORTALCOMMONSERVICELOG | portal_common_service.log | com.nec.webotx.portal.common |
PORTALBUILTINPORTLETLOG | portal_builtin_portlet.log | com.nec.webotx.portal.portlet |
PORTALACCESSLOG | portal_access.log | accesslog |
PORTALTRACELOG | portal_trace.log | tracelog |
各アペンダにて出力レベルを変更することが可能ですが設定できるログレベルについて説明します。
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_operation.logに出力します。
以下にログレベルごとの出力内容の概要、各々の説明とログフォーマットを記します。
ログレベル | 出力内容 |
---|---|
OFF | ログを出力しません。 |
INFO | login、logout情報を出力します。 |
CONFIG | 運用管理ツール、運用管理コマンドから実行された操作情報を出力します。ただし、getコマンドでは出力されません。 |
DEBUG | getコマンドの操作情報を出力します。 |
DETAIL | 運用操作実行時に入力される情報の一部を出力します。 |
TRACE | 運用操作実行時に入力される情報すべてを出力します。 |
ユーザからの接続要求に対する結果を表示します。
ユーザ接続情報ログは以下のフォーマットで出力されます。
<アクセス時刻><ログレベル><モジュール名><ユーザ名:グループ名><ホスト名><操作名><実行完了結果><スレッド情報>
例:
2014-01-10 14:12:25,695 INFO JMXREMOTE - admin:otxadmin 127.0.0.1 login SUCCESS [RMI TCP Connection(1823)-127.0.0.1]
項目名 | 説明 |
---|---|
アクセス時刻 | 接続を受け付けた時間。 |
モジュール名 | 操作を実行したモジュール名。この項目は常に JMXREMOTE になる。 |
ユーザ名:グループ名 | 接続要求を発行したユーザ名とそのユーザが所属するグループ名。 |
ホスト名 | 接続要求を発行したホスト名。 |
管理対象 | 管理対象オブジェクト名。ユーザ接続情報ログでは-(ハイフン)。 |
操作名 | 発行された操作名。ユーザ接続情報ログではloginまたはlogoutまたはConnection rese。運用管理コマンドからの運用操作においてログレベルをFINEに設定していた場合logout処理を行わずにexitまたは運用管理コンソールを終了すると、Connection resetが表示されます。また、運用管理コマンドからのシングルモードでのコマンド実行の際も操作詳細ログの後にConnection resetが表示されます。いずれの場合もコネクションが正式にlogout処理を行われずに切断されるために起こるものですが、運用管理上問題はありません。 |
実行完了結果 | 実行結果。ユーザ接続情報ログではSUCCESSまたはFAILED。操作名がConnection resetの場合には表示されません。 |
ユーザが発行した操作の詳細を表示します。操作詳細ログでは1つの操作に対し開始時と完了時にログを出力します。
操作詳細ログは以下のフォーマットで出力されます。
<アクセス時刻><ログレベル><モジュール名><管理対象名(Type:名前)><操作名:操作対象><実行完了結果><スレッド情報>
例: 運用管理ツールからモジュールログレベルの admin のログレベルを変更した場合
2014-01-10 14:43:32,226 CONFIG JMXREMOTE - [module-log-levels:-] set : admin START [RMI TCP Connection(1922)-127.0.0.1] 2014-01-10 14:43:32,344 CONFIG JMXREMOTE - [module-log-levels:-] set : admin DONE 118 msec. [RMI TCP Connection(1922)-127.0.0.1]
項目名 | 説明 |
---|---|
アクセス時刻 | 操作を受け付けた時間。 |
モジュール名 | 操作を実行したモジュール名。この項目は常に JMXREMOTE になる。 |
管理対象 | 管理対象オブジェクト名。 |
操作名 | 発行された操作名。 |
実行完了結果 | 実行完了結果。操作詳細ログでは START または DONE または FAILED。 |
実行完了結果項目に関して、以下に詳細を記します。
表示 | 説明 |
---|---|
START | 処理が開始されたことを示します。 |
DONE | 処理が終了したことを示します。この結果は操作がエラーなく処理されたかを示すものではなく、処理の完了を示すものです。開始時のログは出力されているが、完了時のログは出力されていない場合、その操作はまだ処理が完了していないことを意味します。 |
FAILED | 処理が異常終了したことを示します。実行完了結果項目は処理の完了を示すものですが、多くの操作の場合、エラーによる処理の完了時には FAILED を表示し、処理が異常終了したことを伝えます。 |
出力されるログの形式はCONFIGレベルのものと同じになります。
運用操作実行時に入力される引数の内容を出力します。
出力されるログのフォーマットは以下になります。
<アクセス時刻><ログレベル><モジュール名><引数><スレッド情報>
引数が複数ある場合は、[・・・][・・・]のように大括弧で区切られて表示されます。
例:create-jdbc-datasourceコマンドを実行した場合
2014-01-10 15:33:47,239 DETAIL JMXREMOTE - [{DEFAULT=jdbc/DB1, useJTA=true, report-type=hk2-agent, jdbcPassword=f8c2dc3eada47982, jdbcMajorVersion=3, <<COMMAND>>=create-jdbc-datasource, dataSourceName=jdbc:derby://localhost/MyDB, maxPoolSize=96, minPoolSize=32, dataSourceType=JDBC, jdbcUserName=scott}] [RMI TCP Connection(2083)-127.0.0.1]
IIS とWebコンテナを連携している場合に出力するログファイルのローテーション方法について説明します。
WebOTX内部コンポーネントが出力するログメッセージおよび標準出力・標準エラー出力に出力されるログメッセージについて、ログレベルに関わらずメモリ内に一定量保持したログメッセージを、 ログレベルを基準とした出力条件との合致または運用管理ツールから操作を契機に、ログファイルにダンプする機能の操作方法について説明します。
[運用管理コマンドから行う場合]
otxadmin > set server.log-service.keep-logmessage-enabled=true
otxadmin > set server.log-service.keep-logmessage-size=<サイズ数>
otxadmin > set server.log-service.logmessage-dump-condition=<ログレベル>
[統合運用管理ツールから行う場合]
統合運用管理ツールからログサービスを選択し、「ログメッセージの保持」にチェックを入れてください。
図8.3.8-1
統合運用管理ツールからログサービスを選択し、「保持するログメッセージ数」に値を入力してください。
図8.3.8-2
統合運用管理ツールからログサービスを選択し、「保持したログメッセージの出力条件」の値を選択してください。
図8.3.8-3
[運用管理コマンドから行う場合]
otxadmin > invoke server.log-service.logDump
otxadmin > set server.log-service.property.logdump-file-path="${com.nec.webotx.instanceRoot}/logs/logdump/logdump.log"
(※)ファイルパスの既定値は "${com.nec.webotx.instanceRoot}/logs/logdump/logdump.log" です。
[統合運用管理ツールから行う場合]
統合運用管理ツールからログサービスを右クリックし、「ログメッセージダンプ」を実行してください。
図8.3.8-4
統合運用管理ツールからログサービスを右クリックし、「プロパティの設定」から「logdump-file-path=<ファイルパス>」の形式で値を設定してください。
(※)ファイルパスの既定値は "${com.nec.webotx.instanceRoot}/logs/logdump/logdump.log" です。
図8.3.8-5
WebOTXがsyslogに出力するログには、メッセージの出力元を特定するための情報が各ログの末尾に出力されます。この情報はインストール直後の既定の設定では、ドメイン名のみが表示されます。 例えば、domain1を起動した場合には以下の様なログがsyslogに出力されます。
[コマンド実行]
otxadmin > start-domain domain1
[syslogの出力]
Mar 21 03:12:01 localhost WebOTX_AS_Agent: OTX01205158: アプリケーションサーバ [domain1:server] を起動します。 [domain1] Mar 21 03:12:06 localhost WebOTX_AS_Agent: OTX02050031: Starting Web Container. [domain1] Mar 21 03:12:09 localhost WebOTX_AS_Agent: OTX02050032: Started Web Container. [domain1] Mar 21 03:12:11 localhost WebOTX_AS_Agent: OTX06020002: Namesv の起動が正常終了しました [domain1] Mar 21 03:12:11 localhost ObjectSpinner[2339]: Information: NameService start. ...
また、複数バージョンをインストールする環境向けにsyslogの末尾に出力する情報にドメイン名だけでなく、バージョン番号情報を追加することも可能です
syslogの末尾に出力する情報にはドメイン名だけでなく、情報のバージョン番号を追加することも可能です。この設定はWebOTXを複数バージョンインストールしている場合に有用です。 設定手順を以下に示します。
otxadmin> stop-domain domain_name
編集前
oslog.id_enabled=false
oslog.id=V9.4
編集後
oslog.id_enabled=true
oslog.id=V9.4
oslog.id
属性に設定した値がバージョン番号としてsyslogに出力されます。ただしoslog.id
属性の文字列が32バイトを超える場合、33バイト目以降は出力されません。oslog.id_enabled
の値がtrue
もしくはfalse
ではないotxadmin> start-domain domain_name
この設定を行うことによりsyslogの出力にドメイン名と共に製品バージョンが出力されるようになります。
[コマンド実行]
otxadmin > start-domain domain1
[syslogの出力]
Mar 21 03:26:34 localhost WebOTX_AS_Agent: OTX01205158: アプリケーションサーバ [domain1:server] を起動します。 [V9.4-domain1] Mar 21 03:26:40 localhost WebOTX_AS_Agent: OTX02050031: Starting Web Container. [V9.4-domain1] Mar 21 03:26:42 localhost WebOTX_AS_Agent: OTX02050032: Started Web Container. [V9.4-domain1] Mar 21 03:26:44 localhost ObjectSpinner[3584]: Information: NameService start. Mar 21 03:26:44 localhost WebOTX_AS_Agent: OTX06020002: Namesv の起動が正常終了しました [V9.4-domain1] ...
また、TPモニタサービス や CORBAアプリケーション からのsyslog出力は次のようになります。
[oslog.id_enabled=falseの場合]
Mar 21 03:12:11 localhost OTXM:: I:1:TPS15-02040 tpmonitor start. [2342] ... Mar 21 03:14:00 localhost OTXM:OTX07900001[2345]: 利用者が定義する文字列 ...
[oslog.id_enabled=trueの場合]
Mar 21 03:26:45 localhost OTXM:: I:1:TPS15-02040 tpmonitor start. [3628] [V9.4] ... Mar 21 03:28:00 localhost OTXM:OTX07900001[3658]: 利用者が定義する文字列 [V9.4] ...