ログ

1. ロギングの概要

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

1.1. WebOTXのログについて

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

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

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

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


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

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

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

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

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

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

・Express


Express ではドメインは、ドメイン全体を管理する 運用管理サービス、JMS関連の機能を提供するJMSサービス、CORBA通信関連の機能を提供するObject Brokerサービス、Webサーバ関連の機能を提供するWebServerサービスから構成されます。

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

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

・Standard


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

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

1.1.1.1. サービスとログの関係

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

ログファイルと格納ディレクトリ一覧
ディレクトリ名 サービス
${INSTANCE_ROOT}/logs/
運用管理(launcher.log, agent.log, server.log、server_err.log, agent_operation.log, manager_access.log)
Webコンテナ(server_access.log)
${INSTANCE_ROOT}/logs/agent/
運用管理(admin.log, adminconsole_operations.log, prcstop.log, related_attributes.log)
JNDI
Data Grid
${INSTANCE_ROOT}/logs/batch/
Batchサーバ
${INSTANCE_ROOT}/logs/deploy/
配備
${INSTANCE_ROOT}/logs/diagnostics/
診断サービス
${INSTANCE_ROOT}/logs/ejb/
EJBコンテナ
${INSTANCE_ROOT}/logs/jdbc/
JDBC
${INSTANCE_ROOT}/logs/jmq/
JMS
${INSTANCE_ROOT}/logs/jpa/
JPA
${INSTANCE_ROOT}/logs/ObjectBroker/
Object Broker
${INSTANCE_ROOT}/logs/tpsystem/
TPシステム
${INSTANCE_ROOT}/logs/TS/
Transactionサービス
JTA(jta.log)
${INSTANCE_ROOT}/logs/web/
Webサービス
Webサーバ
Webコンテナ

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

・Express


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

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

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

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

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

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

・Standard


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

また、${INSTANCE_ROOT}/logs直下に出力されるagent.log、server.log、server_err.logについてはExpressと同様です。

(*2) 配備時に配備先をプロセスグループにした場合