Oracle Identity Managerでは、2つのロギング・サービス、大多数のOracle Fusion Middlewareアプリケーションで使用されるロギング・サービスOracle Diagnostic Logging (ODL)とApache log4jが使用されます。
Oracle Identity Manager のロギングは、主としてODLを使用して行われます。Apache log4jは、デプロイメント・マネージャやワークフロー・デザイナでのNexaweb、キャッシングでのOSCacheなど、サードパーティ・アプリケーションでのみ使用されます。
この章の内容は次のとおりです。
Oracle Diagnostic Logging (ODL)は、Oracle Identity Managerが使用する主要なロギング・サービスです。ODLロギングを動作させるには、ロガーとログ・ハンドラの両方を構成する必要があります。ロガーはハンドラにメッセージを送信し、ハンドラはメッセージを受け入れてログ・ファイルに出力します。
「ログ・ハンドラとロガーの構成」で説明しているように、ロギング構成はlogging.xmlファイルによって制御されます。このファイルは、直接編集することも、Enterprise Managerを介して編集することもできます。Enterprise Managerでは、OIMサーバー・リンクをクリックして上部のWeblogic Serverドロップダウンを選択し、「ログ」→「ログ構成」をクリックしてロギング構成にアクセスできます。
Enterprise Managerでロギング構成にアクセスするには、次の手順を実行します。
OIMサーバー・リンクをクリックします。
Weblogic Serverのリストから、「ログ」→「ログ構成」を選択します。ログ構成画面に、ロギングに利用できるすべてのパッケージが表示されます。
Enterprise Managerで利用できない追加パッケージ(コネクタのためのパッケージなど)のロギングは、次の指示に従ってlogging.xmlファイルを手動で編集します。Oracle Identity Manager固有のパッケージには、oracle.iamからアクセスできます。Oracle Diagnostic Loggingレベル列で、各ログ・レベルを選択できます。特定のログ・レベルを選択し、「適用」をクリックして変更を適用します。また、「ログ・ファイル」タブをクリックして、新しいログ・ハンドラを作成して構成することもできます。
Oracle Identity Managerの各モジュールには、個別に構成できる独自のロガーがあり、それぞれ異なる情報量を1つ以上のログ・ハンドラに送信できます。表8-2「Oracle Identity Managerのロガー」に、ログ・ハンドラへのメッセージ送信を構成できるOracle Identity Managerの20種類以上のロガーを示します。
ログに出力する情報量は、各ロガーのレベル属性を調整して制御できます。ロギング・レベルを選択するには、5つのメッセージ・タイプ(INCIDENT_ERROR、ERROR、WARNING、NOTIFICATION、TRACE)からいずれか1つを選びます。各メッセージ・タイプで1(最高重大度) - 32(最低重大度)の数値を使用して、ロガーで出力されるメッセージ量をさらに制限することもできます。2ページの表1に、最もよく使用されるメッセージ・タイプとレベルの組合せを示します。
ログ・ハンドラは、ログ・メッセージを表示するターゲットを指定します。たとえば、コンソール、各種ログ・ファイルおよび追加の出力にメッセージを書き込むことができます。
この項には次のトピックが含まれます:
ODLでは、INCIDENT_ERROR、ERROR、WARNING、NOTIFICATION、TRACEの5つのメッセージ・タイプを認識します。各メッセージ・タイプで1(最高重大度) - 32(最低重大度)の数値を使用して、メッセージ出力をさらに制限することもできます。
メッセージ・タイプを指定すると、ODLではそのタイプのすべてのメッセージと、指定したタイプ以上の重大度のメッセージが返されます。たとえば、メッセージ・タイプをWARNINGに設定した場合、ODLではINCIDENT_ERRORとERRORのタイプのメッセージも返されます。
メッセージのタイプとレベルの詳細は、『Oracle Fusion Middleware管理者ガイド』の「ログ・ファイルに書き込まれる情報レベルの設定」を参照してください。表8-1に、Oracle Identity Managerで最もよく使用される診断メッセージのタイプを示します。
表8-1 Oracle Identity Managerの診断メッセージのタイプ
メッセージ・タイプおよび数値 | 説明 |
---|---|
INCIDENT_ERROR:1 |
製品の不具合が原因の可能性があり、Oracleサポートに報告する必要がある重大な問題。 この例として、回復不能なエラーがあります。 |
ERROR:1 |
管理者が即時に注目する必要があり、製品の不具合が原因でない重大な問題。 この例として、Oracle Fusion Middlewareがログ・ファイルを処理できないものの、ドキュメントに対する権限の調整によって問題の修正が可能な場合などがあります。 |
WARNING:1 |
管理者が確認する必要のある潜在的な問題。 この例として、パラメータ値が無効な場合や指定したファイルが存在しない場合などがあります。 |
NOTIFICATION:1 |
主要サブコンポーネントや機能のアクティブ化または非アクティブ化などの、主要なライフサイクル・イベント。 これはNOTIFICATIONのデフォルト・レベルです。 |
NOTIFICATION:16 |
正常なイベントをレポートするためのより詳細なレベル。 |
TRACE:1 |
パブリックAPIエントリや出口点など、管理者に重要なイベントに関するトレースまたはデバッグ情報。 |
TRACE:16 |
Oracleサポートが特定のサブシステムでの問題を診断するのに役立つ可能性のある、詳細なトレースまたはデバッグ情報。 |
TRACE:32 |
Oracleサポートが特定のサブシステムでの問題を診断するのに役立つ可能性のある、非常に詳細なトレースまたはデバッグ情報。 |
ログ・ハンドラとロガーはどちらもlogging.xmlを編集して構成できます。このファイルは次の場所に格納されています。
DOMAIN_NAME/config/fmwconfig/servers/SERVER_NAME/logging.xml
ここで、DOMAIN_NAMEとSERVER_NAMEは、それぞれOracle Identity Managerのインストール時に指定されたドメイン名とサーバー名です。
logging.xmlファイルには<log_handlers>構成セクションがあり、その下に<loggers>構成セクションが続きます。各ログ・ハンドラを、<log_handlers>セクションで定義し、各ロガーを<loggers>セクションで定義します。
ファイルの基本構造は次のとおりです。
<logging configuration> <log_handlers> <log_handler name='console-handler' level="NOTIFICATION:16"></log_handler> <log_handler name='odl-handler'></log_handler> <!--Additional log_handler elements defined here....--> </log_handlers> <loggers> <logger name="example.logger.one" level="NOTIFICATION:16"> <handler name="console-handler"/> </logger> <logger name="example.logger.two" /> <logger name="example.logger.three" /> <!--Additional logger elements defined here....--> </loggers> </logging_configuration>
メッセージをコンソールかファイルのどちらかに書き込むようにロガーを構成する場合は、ロガーとハンドラの両方の構成変更を行います。ロガーでのレベル属性の設定は、ロガーがハンドラに送信する詳細の量(つまりメッセージ量)を構成します。同様に、ハンドラでのレベル属性の設定は、ハンドラがロガーから受け入れる詳細の量を構成します。
注意: ログに期待する量のメッセージが出力されない場合は、ロガーとログ・ハンドラのレベル属性が適切に設定されているか確認してください。たとえば、ロガーがTRACEに設定され、ログ・ハンドラがWARNに設定されている場合、ハンドラはWARNより詳細なメッセージは生成しません。 |
個々のログ・ハンドラは、logging.xmlファイルの<log_handlers>セクションで構成されます。ハンドラのレベル属性を構成して、ハンドラがロガーから受け入れる詳細の量を設定します。
ログ・ハンドラのレベル属性を構成するには:
注意: logging.xmlファイルを修正するには、XML構文の基本を理解している必要があります。 |
DOMAIN_NAME/config/fmwconfig/servers/SERVER_NAME/logging.xmlファイルを開きます。
レベル属性を次の例に示すように変更します。
このXMLコード例では、console-handlerのレベル属性はWARNING:32に設定されています。
<log_handler name='console-handler' class='oracle.core.ojdl.logging.ConsoleHandler' formatter='oracle.core.ojdl.weblogic.ConsoleFormatter' level='WARNING:32'/>
console-handlerがコンソールにTRACEレベルのメッセージを書き込めるようにするには、レベル属性を次のように変更します。
<log_handler name='console-handler' class='oracle.core.ojdl.logging.ConsoleHandler' formatter='oracle.core.ojdl.weblogic.ConsoleFormatter' level='TRACE:1'/>
変更を保存して、アプリケーション・サーバーを再起動します。
ファイルに書き込むログ・ハンドラには、構成可能な追加プロパティがあります。たとえば、次に示すlogging.xmlからの抜粋では、odl-handlerのプロパティが構成されています。
<log_handler name='odl-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory' filter='oracle.dfw.incident.IncidentDetectionLogFilter'> <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/${weblogic.Name}-diagnostic.log'/> <property name='maxFileSize' value='10485760'/> <property name='maxLogSize' value='104857600'/> <property name='encoding' value='UTF-8'/> <property name='useThreadName' value='true'/> <property name='supplementalAttributes' value='J2EE_APP.name,J2EE_MODULE.name, WEBSERVICE.name,WEBSERVICE_PORT.name,composite_instance_id,component_instance_id, composite_name,component_name'/> </log_handler>
ログ・ハンドラのプロパティは、Fusion Middleware ControlツールまたはWLSTコマンド行ツールを使用して変更できます。
関連項目:
|
各ログ・ハンドラは、logging.xmlファイルの<loggers>セクションで構成されます。ログ・ハンドラにメッセージを送信するために構成できる、20種類を超えるOracle Identity Managerのロガーがあります。Oracle Identity Managerのロガーについては、7ページの表2で説明されています。ロガーのレベル属性の設定で、ロガーがハンドラに送信する詳細の量(つまりメッセージ量)が構成されます。1つ以上の<handler>要素を<logger>要素内にネストすると、ロガーにハンドラが割り当てられます。OIMCP.PSFTCOMMONと呼ばれるロガーを次の抜粋に示します。level属性にはWARNING:32が設定され、ロガーによって3つのハンドラにメッセージが送信されます。
<logger name="OIMCP.PSFTCOMMON" level="WARNING:32" useParentHandlers="false"> <handler name="odl-handler"/> <handler name="wls-domain"/> <handler name="console-handler"/> </logger>
ロガーは、親のレベル設定やその他の属性、親のロガーのハンドラなど、親のロガーの設定を継承します。継承を無効にするには、前述の抜粋に示すように、useParentHandlers属性を「false」に設定します。
ロガーの継承ツリーの最上部にあるのがルート・ロガーです。ルート・ロガーは、次の例に示すように、名前属性が空のロガーです。
<loggers> <logger name="" level="WARNING:1"> <handler name="odl-handler"/> <handler name="wls-domain"/> <handler name="console-handler"/> </logger> <!-- Additional loggers listed here --> </loggers>
次の例に示すように、ロガーを名前属性のみで構成すると、ロガーは残りの属性をルート・ロガーから継承します。
<loggers> <logger name="oracle.iam.identity.rolemgmt"/> <!-- Additional loggers listed here --> </loggers>
ロガーを構成するには:
DOMAIN_NAME/config/fmwconfig/servers/SERVER_NAME/logging.xmlファイルを開きます。
構成するロガーに移動します。表8-2に、Oracle Identity Managerのロガーのリストを示します。
表8-2 Oracle Identity Managerのロガー
ロガー | 説明 |
---|---|
oracle.iam.request oracle.iam.requestdatasetgeneration oracle.iam.requestactions oracle.iam.platform.workflowservice |
リクエストおよびリクエスト・データセット管理に関連するイベントを記録します。 |
oracle.iam.requesttemplate |
リクエスト・テンプレート管理に関連するイベントを記録します。 |
oracle.iam.selfservice |
認証済および未認証のセルフサービス操作に関連するイベントを記録します。 |
oracle.iam.ChangePasswordtaskflow |
パスワード変更機能のUIのイベントを記録します。 |
oracle.iam.forgotpasswordtaskflow |
パスワード忘れ機能のUIのイベントを記録します。 |
oracle.iam.identitytaskflow |
管理UIのアイデンティティ操作のイベントを記録します。 |
oracle.iam.identity.orgmgmt |
組織マネージャのサービス操作に関連するイベントを記録します。 |
oracle.iam.identity.rolemgmt |
ロール・マネージャのサービス操作に関連するイベントを記録します。 |
oracle.iam.identity.usermgmt |
ユーザー・マネージャのサービス操作に関連するイベントを記録します。 |
oracle.iam.identity.scheduledtasks |
アイデンティティ機能のスケジュールされたタスクに関連するイベントを記録します。 |
oracle.iam.platform.utils |
プラットフォームで提供されるユーティリティ(主に他の機能で使用される)に関連するイベントを記録します。メッセージ・リソース処理、ロギング処理、国際化、キャッシングなどのユーティリティが含まれます。 |
oracle.iam.platformservice |
主にクライアント側から実行されるユーティリティに関連するイベントを記録します。たとえば、プラグイン登録ユーティリティやキャッシュの消去ユーティリティなどがあります。日付と時間ユーティリティや例外処理ユーティリティなどの一部のサーバー側ユーティリティでも、このロガーが使用されます。 |
oracle.iam.platform.canonic |
UIフレームワークの実行に関連するイベントを記録します。 |
oracle.iam.consoles.faces oracle.iam.consoles.common |
UIフレームワークから生成されるメッセージを記録します。 |
oracle.iam.platform.kernel |
カーネルに関連するイベントを記録します。これには、プラットフォームによって編成の処理中に生成されるログを含みます。各機能内の編成で実行されるイベント・ハンドラには、その機能独自のロガーが使用されます。 |
oracle.iam.platform.context |
コンテキスト管理機能に関連するイベントを記録します。 |
oracle.iam.platform.entitymgr |
エンティティ・マネージャ機能に関連するイベントを記録します。この機能は、ユーザー、ロールなど、各種エンティティ・タイプの一般的な処理と、それらに対する個別操作への適切なルーティングを提供します。 |
oracle.iam.scheduler oracle.iam.platform.scheduler Xellerate.Scheduler Xellerate.Scheduler.Task |
スケジューラに関連するイベントを記録します。スケジュール済タスクのなかには、別のロガーも使用する場合があることに注意してください。 |
oracle.iam.reconciliation |
リコンシリエーション機能に関連するイベントを記録します。 |
oracle.iam.accesspolicy |
アクセス・ポリシー機能に関連するイベントを記録します。 |
oracle.iam.autoroles |
ロール・メンバーシップの自動割当て機能に関連するイベントを記録します。 |
oracle.iam.callbacks |
コールバック機能に関連するイベントを記録します。 |
oracle.iam.configservice |
エンティティ属性の構成に使用される構成サービスAPIに関連するイベントを記録します。 |
oracle.iam.ldap-sync |
Oracle Identity ManagerおよびLDAP同期化機能に関連するイベントを記録します。 |
oracle.iam.notification |
電子メール・テンプレートおよび通知処理機能に関連するイベントを記録します。 |
oracle.iam.passwdmgnt |
パスワード管理機能に関連するイベントを記録します。 |
oracle.iam.platform.pluginframework |
プラグインの管理を処理するプラグイン・フレームワーク機能からのイベントを記録します。 |
oracle.iam.platform.async |
非同期操作を処理するプラットフォームからのイベントを記録します。 |
oracle.iam.spmlws oracle.iam.wsschema |
各種操作のリクエストを生成するFusionアプリケーションで使用されるWebサービスに関連するイベントを記録します。 |
oracle.iam.diagnostic |
診断チェックを実行するために使用される診断サービスAPIからのメッセージを記録します。 |
oracle.iam.oimdataproviders |
Oracle Identity Managerのデータ・プロバイダに関連するイベントを記録します。Oracle Identity Managerのデータ・プロバイダは、Oracle Identity Managerデータベースのデータの更新や取得のためのコードを提供します。 |
Xellerate.Database |
データベース操作を記録します。 |
Xellerate.PreparedStatement |
Xellerate.Databaseと同じですが、PreparedStatementの詳細のみを記録します。 |
Xellerate.Performance |
文(問合せ)を実行する時間、またはデータやメタデータを取得するために結果セットを繰り返す時間など、データベースのパフォーマンスを記録します。 |
oracle.iam.platform.auth |
認証処理機能のイベントを記録します。 |
oracle.iam.platform.authz oracle.iam.authzpolicydefn |
認可ポリシーを処理する機能のイベントを記録します。 |
oracle.iam.sod Xellerate.SoD |
SoD(職務の分離)に関連するイベントを記録します。 |
oracle.jps |
組込みのOracle Entitlements Server MicroSMエンジン用のロガーです。ログ・ファイルは、管理対象サーバー名-microsm.log(例: OIMServer1-microsm.log)という名前でOIM_ORACLE_HOMEフォルダに作成されることに注意してください。 |
Xellerate.Entitlement |
プロビジョニング権限に使用される権限操作のロギングを提供します。 |
oracle.iam.conf |
システム・プロパティの処理を含むシステム構成サービス機能に関連するイベントを記録します。 |
oracle.iam.transUI |
11gコードからのレガシーAPIの初期化を処理するトランザクションUI機能に関連するイベントを記録します。これには、ユーザー作成時のプロビジョニングの初期化などの操作が含まれます。 |
Xellerate.AccountManagement |
レガシーのユーザー操作APIでのロギングを提供します。 |
Xellerate.Server |
データ・オブジェクトでのロギングを提供します。 |
Xellerate.ResourceManagement Xellerate.ObjectManagement |
リソース・オブジェクト操作のロギングを提供します。 |
Xellerate.Workflow |
プロビジョニング・プロセス操作のロギングを提供します。 |
Xellerate.WebApp |
移行のUI操作のロギングを提供します。 |
Xellerate.Adapters |
アダプタ・ファクトリのロギングを提供します。 |
Xellerate.JavaClient |
クライアント側データ・オブジェクトのロギングを提供します。 |
Xellerate.Policies |
アクセス・ポリシーに関連するデータ・オブジェクトのロギングを提供します。 |
Xellerate.Rules |
ルールに関連するデータ・オブジェクトのロギングを提供します。 |
Xellerate.APIs |
レガシーのパブリックAPIのロギングを提供します。 |
Xellerate.JMS |
メッセージを生成するJMS操作のロギングを提供します。 |
Xellerate.RemoteManager |
Remote Managerでのロギングを提供します。 |
Xellerate.Auditor |
監査フレームワークでのロギングを提供します。 |
Xellerate.Attestation |
アテステーションのUIおよび操作でのロギングを提供します。 |
Xellerate.GC.StartUp Xellerate.GC.ProviderRegistration Xellerate.GC.ImageGeneration Xellerate.GC.FrameworkProvisioning Xellerate.GC.Provider.ProvisioningFormat Xellerate.GC.Provider.ProvisioningTransport Xellerate.GC.FrameworkReconciliation Xellerate.GC.Provider.Reconciliation Format Xellerate.GC.Provider.Validation Xellerate.GC.Provider.Transformation Xellerate.GC.Model Xellerate.GC.Server |
汎用テクノロジ・コネクタ(GTC)のロギングを提供します。 |
oracle.iam.connectors.icfcommon |
コネクタ・フレームワークのロギングを提供します。 |
<logger>要素のレベル属性を定義します。この項の先頭の例を参照してください。
1つ以上の<handler>要素を<logger>要素に追加します。
logging.xmlの<loggers>と<log_handlers>の両方のセクションの編集が終了したら、ファイルを保存します。
アプリケーション・サーバーを再起動して変更を有効にします。
<Jun 15, 2010 2:01:20 AM IST> <Error> <oracle.iam.platform.authz.impl> <IAM-1010032> <No OES Policy found for the given Action.> <Jun 15, 2010 2:02:02 AM IST> <Warning> <oracle.iam.platform.canonic.agentry> <IAM-0091108> <readme.txt is not a valid connector resource file.> <Jun 15, 2010 2:02:52 AM IST> <Error> <oracle.iam.configservice.impl> <IAM-3020003> <The attribute User Type does not exist!>
ログ出力の管理および解釈の詳細は、『Oracle Fusion Middleware管理者ガイド』の「ログ・ファイルと診断データの管理」を参照してください。
Apache log4jは、デプロイメント・マネージャやワークフロー・デザイナでのNexaweb、およびキャッシングでのOSCacheなどのサードパーティ製アプリケーションで使用されます。log4j構成ファイルは次の場所に格納されています。
OIM_HOME/config/log.properties
log4jを使用したOracle Identity Managerでのロギングについて、次の各項で説明します。
表8-3に、log4jのログ・レベルのリストを示します。
サードパーティのアプリケーションには、次のロガーが使用されます。
Nexawebの場合: com.nexaweb.server
OSCacheの場合: com.opensymphony.oscache
サードパーティのアプリケーションには、次のように任意のログ・レベルを使用できます。
log4j.logger.com.nexaweb.server=WARN log4j.logger.com.opensymphony.oscache=ERROR