REST APIログ収集の設定
Oracle Logging Analyticsでは、ログ・メッセージで応答するエンドポイントURLから継続的なREST APIベースのログ収集を設定できます。REST APIログ・ソースは、リクエストで指定された時間枠内に生成されたログ・メッセージで応答するAPIで構成する必要があります。
これは、OCIサービス、Fusion Apps、ERPアプリケーション、またはAPIを介してログを発行するその他のアプリケーションなどの環境、プラットフォームまたはアプリケーションからの継続的なログ収集を自動化する場合に推奨される方法です。ソース定義で使用できるマクロは、ログ収集を開始するログ時間の指定、ログ・エンドポイントのページ結果に対するデータの反復および収集のためのオフセットの指定および収集ウィンドウまたは時間枠を介したログの収集に使用できます。
REST APIベースのソースを使用したログ収集の全体的なフロー
REST APIベースのソースを介してログ情報を収集するための大まかなタスクを次に示します。
-
エンドポイント・サーバーへのhttpまたはhttpsアクセス権を持つホストに管理エージェントをインストールします。ホストからの継続的なログ収集の設定を参照してください。
- 管理エージェントとREST APIソース間の接続を認可するには、まずエージェントの資格証明ストアでAPI資格証明を構成します。管理エージェントのソース資格証明を参照してください。
-
ログ発行ホストを表すエンティティをOracle Logging Analyticsに作成します。ログ出力リソースを表すエンティティの作成を参照してください。
-
APIからのレスポンスとして提供されたログ・エントリを処理するための適切なパーサーを作成します。パーサーの作成を参照してください。
-
REST APIエンドポイントを定義して、REST APIソースを作成します。REST APIソースの作成を参照してください
-
エンティティとソースの関連付け。新しいソースとエンティティのアソシエーションの構成を参照してください。
Fusion Applications監査ログの収集のエンドツーエンド・フローについては、Fusion Applications監査ログの収集を参照してください。
REST APIソースの作成
Oracle Logging Analyticsには、REST APIログ収集用のOracle定義のログ・ソースがすでに用意されています。使用可能なOracle定義REST APIソースまたはOracle定義パーサーを使用できるかどうかを確認します。そうでない場合は、次のステップを使用して新しいログ・ソースを作成します。
開始する前に、ログに適した新しいパーサーを作成する必要がある場合は、これを完了します。パーサーの作成を参照してください。
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。
管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ソース」をクリックします。
-
「ソース」ページが開きます。「ソースの作成」をクリックします。
「ソースの作成」ダイアログ・ボックスが表示されます。
-
「名前」フィールドに、ログ・ソースの名前を入力します。
-
「ソース・タイプ」リストから、「REST API」を選択します。
-
「エンティティ・タイプ」をクリックし、アプリケーションを最もよく識別するタイプを選択します。
-
「パーサー」をクリックし、収集するログのタイプに適したパーサーを選択します。
-
「エンドポイント」タブで、要件に応じて「ログ・エンドポイントの追加」または「複数のログのリスト・エンドポイントの追加」をクリックします:
-
ログを継続的に収集できる単一のログ・エンドポイントURLを指定するには、「ログ・エンドポイントの追加」をクリックします。「ログ・エンドポイントの追加」ダイアログ・ボックスが開きます。
次の情報を入力します:
-
「ログ・エンドポイント名」を入力します。
-
定期的にログを収集するログURLを構築します。「エンドポイントURLのタイプ」の「ログ・エンドポイントURL」を参照してください。
-
APIメソッドGETまたはPOSTを選択します。
「POST」を選択した場合は、メソッドのPOSTペイロードを入力し、
JSON
、Text
、Javascript
、HTML
およびXML
からリクエスト・コンテンツのタイプを選択します。 -
オプションで、「ログ・プロキシ・サーバーURL」を指定します。
-
オプションで、「リクエスト・ヘッダーの表示」をクリックしてセクションを展開し、「追加」をクリックして、「名前」-「値」ペアの形式でリクエスト・ヘッダーを指定します。
-
オプションで、「問合せパラメータの表示」をクリックしてセクションを展開し、「追加」をクリックして、「名前」-「値」ペアの形式で問合せパラメータを指定します。
-
「資格証明」セクションで、「ログ資格証明タイプ」を選択します。REST APIログ収集の資格証明タイプの選択を参照してください。
-
入力した構成情報を検証するには、「検証」をクリックします。エラーがある場合は、修正します。
「変更の保存」をクリックします。
-
-
複数のログを収集するためのログ・エンドポイントURLのリストの生成に使用できる情報を含むJSONレスポンスを返すURLを指定するには、「複数のログのリスト・エンドポイントの追加」をクリックします。「複数ログのリスト・エンドポイントの追加」ダイアログ・ボックスが開きます。
-
「リスト・エンドポイントの構成」タブ:
-
「ログ・リスト・エンドポイント名」を入力します。
-
ログ・リストURLを構築して、ログ・ファイルに関する情報を取得します。「エンドポイントURLのタイプ」の「ログ・リスト・エンドポイントURL」を参照してください。例:
https://example.org/fetchlogfiles_data
-
オプションで、「ログ・プロキシ・サーバーURL」を指定します。
-
APIメソッドGETまたはPOSTを選択します。
「POST」を選択した場合は、メソッドのPOSTペイロードを入力し、
JSON
、Text
、Javascript
、HTML
およびXML
からリクエスト・コンテンツのタイプを選択します。 -
オプションで、「リクエスト・ヘッダーの表示」をクリックしてセクションを展開し、「追加」をクリックして、「名前」-「値」ペアの形式でリクエスト・ヘッダーを指定します。
-
オプションで、「問合せパラメータの表示」をクリックしてセクションを展開し、「追加」をクリックして、「名前」-「値」ペアの形式で問合せパラメータを指定します。
-
「資格証明」セクションで、「ログ資格証明タイプ」を選択します。REST APIログ収集の資格証明タイプの選択を参照してください。
-
「次」をクリックします。
-
-
「ログ・エンドポイントの構成」タブ:
-
ログ・リスト・エンドポイントのサンプル・レスポンスを指定します。これは、前のタブで指定したログ・リスト・エンドポイントに対して取得するレスポンスの例です。例:
{ "totalSize": 4, "records": [ {"id": "firstId", "type": "firstType"}, {"id": "secondId", "type": "secondType"} ] }
前述の例では、エンドポイントURLでJSONパス
records[*].id
を使用できます。JSONパス変数の詳細は、REST APIログ収集の変数を参照してください。 -
「ログ・エンドポイント名」を入力します。
-
サンプル・レスポンスで識別されたJSONパス・キーをログ・リスト・エンドポイントに組み込むことで、ログを定期的に収集するためのログURLを構築します。「エンドポイントURLのタイプ」の「ログ・エンドポイントURL」を参照してください。例:
https://example.org/fetchLogs?time={START_TIME}&id={testLogListEP:$.records[*].id}
-
オプションで、「ログ・プロキシ・サーバーURL」を指定します。
-
APIメソッドGETまたはPOSTを選択します。
「POST」を選択した場合は、メソッドのPOSTペイロードを入力し、
JSON
、Text
、Javascript
、HTML
およびXML
からリクエスト・コンテンツのタイプを選択します。 -
オプションで、「ログ・プロキシ・サーバーURL」を指定します。
-
オプションで、「リクエスト・ヘッダーの表示」をクリックしてセクションを展開し、「追加」をクリックして、「名前」-「値」ペアの形式でリクエスト・ヘッダーを指定します。
-
オプションで、「問合せパラメータの表示」をクリックしてセクションを展開し、「追加」をクリックして、「名前」-「値」ペアの形式で問合せパラメータを指定します。
-
「資格証明」セクションで、「ログ資格証明タイプ」を選択します。REST APIログ収集の資格証明タイプの選択を参照してください。
-
「次」をクリックします。
-
-
「確認および追加」タブ: 前のタブで指定した構成情報が検証されます。ログの収集元のURLのリストを確認します。
エラーがある場合は、修正します。
「保存」をクリックします。
-
-
-
「ソースの作成」をクリックします。
エンドポイントURLのタイプ
ログ・リスト・エンドポイントURL: ログ・リスト・エンドポイントURLは、ログを収集するためのログ・エンドポイントURLのリストを構築するために使用できる情報を含むJSONレスポンスを返す必要があります。JSONレスポンスからログ・エンドポイントのリストを作成するために必要なJSONパス変数を指定します。また、マクロ{START_TIME}
および{CURR_TIME}
を使用して、対応する時間値をURLに動的に挿入できます。
ログ・エンドポイントURL: ログ・エンドポイントURLは、特定のREST APIエンドポイントから一定の間隔でログを収集するために使用されます。マクロ{START_TIME}
、{CURR_TIME}
および{TIME_WINDOW}
を使用して、対応する時間値をURLに動的に挿入できます。{OFFSET}
マクロは、ページ区切りをサポートするために使用できます。ログ・リスト・エンドポイント・コールのレスポンスからJSONパス変数を使用して、特定のプロパティを置き換えることもできます。
{START_TIME}
: ログを収集するまでの時間を指定します。{OFFSET}
: ページ区切りログ収集を処理するため{CURR_TIME}
: 現在の時間を指定します。{TIME_WINDOW}
: 収集間隔または期間を指定するには
マクロの使用の詳細は、START_TIME Macro、CURR_TIME Macro、OFFSET MacroおよびTIME_WINDOW Macroを参照してください。
ログ・エンドポイントURLで指定できるログ・リスト・エンドポイント・レスポンスの変数の使用方法、JSONパスの例および変数フィルタの使用方法の詳細は、REST APIログ収集の変数を参照してください。
START_TIME
マクロ
START_TIME
マクロを使用して、ログを収集する必要がある時間を指定します。START_TIME
マクロは、エンドポイントURL、フォーム・パラメータまたはPOSTペイロードで使用できます。
次の例は、START_TIME
マクロで指定されたタイムスタンプより大きいログを収集するエンドポイントURLを示しています。
https://example.org/fetchLogs?sortBy=timestamp&sortOrder=ascending&filter=timestamp+gt+{START_TIME:yyyy-MM-dd'T'HH:mm:ss.SSSZ}
構文:
{START_TIME<+nX>:<epoch | timestamp format supported by SimpleDateFormat java class>.TZ=<timezone name>}
-
nは、日付範囲の時間値です。Xは、日数(D)、時間数(h)、分数(m)、月数(M)、年(Y)で表されます。
-
+nX
は、開始時間に追加する日数、時間数、分数、月数または年数です。これはオプションです。たとえば、+3Dなどです。 -
サポートされている時間書式は、javaクラスSimpleDateFormatと同じです。デフォルトの時間書式は
yyyy-MM-dd'T'HH:mm:ss.SSSZ
です。例、 2001-07-04T12:08:56.235-0700epoch
または時間形式の指定はオプションです。エポックが指定されている場合、マクロはエポックミリ秒の値に置き換えられます。SimpleDateFormatでサポートされているタイムスタンプ書式については、Java Platform Standard Ed. 8: Class SimpleDateFormatを参照してください。
-
TZ
は、タイムスタンプのタイムゾーンを指定するためのものです。エポックがすでに指定されている場合は適用できません。サポートされている形式は、javaクラスTimeZoneの3文字のID (UTCなど)と同じです。 -
このマクロの複数のインスタンスをURLに含めることができます。
-
例:
{START_TIME:yyyy-MM-dd'T'HH:mm:ss.SSS.TZ=UTC}
{START_TIME:epoch}
CURR_TIME
マクロ
CURR_TIME
マクロを使用して、REST APIエンドポイントURL、フォーム・パラメータおよびPOSTペイロードに現在の時間を挿入します。
次の例は、問合せパラメータでCURR_TIME
マクロを使用するエンドポイントURLを示しています。
https://example.org/fetchLogs?sortBy=timestamp&sortOrder=ascending&time={CURR_TIME:yyyy-MM-dd'T'HH:mm:ss.SSSZ}
-
このマクロを使用する書式は、
START_TIME
マクロと同じです。 -
このマクロの複数のインスタンスをURLに含めることができます。
OFFSET
マクロ
ページ区切りレスポンスを提供するエンドポイント、またはAPIレスポンスのオフセット動作を処理するエンドポイントには、OFFSET
マクロを使用します。OFFSET
マクロは、REST APIエンドポイントURL、フォーム・パラメータおよびPOSTペイロードで使用して、単一のログ収集サイクルで複数のページまたはチャンクをフェッチできます。
フォーマット: {OFFSET(<start value>, <increment>)}
-
OFFSET
マクロは、特定のログ・エンドポイントのページ区切り結果を介してデータを反復的にコールおよび収集し、使用可能なすべてのレコードを取得するために使用されます。最初のREST APIリクエスト・コールは、開始値から始まり、後続のコールごとに増分の値によって増分されます。これらの再帰的インデックスベースの呼び出しは、これ以上ログエントリが見つからないときに停止します。オフセットは、次の回収サイクルには繰り越されません。各収集サイクルのデフォルトまたは初期値から開始します。 -
前述の形式では、開始値は索引の初期値で、デフォルト値は
0
です。開始値の指定はオプションです。使用可能な値: 0を含む正の整数
-
前述の書式では、incrementは後続のコールで開始値に追加する値を指定します。デフォルト値は
1
です。increment値を指定するかどうかはオプションです。使用可能な値: 正の整数のみ。除外0
-
このマクロのインスタンスは、URLに1つのみ含めることができます。
次の例は、OFFSET
マクロの様々な使用方法を示しています。
-
{OFFSET}
デフォルト値の開始値 = 0、増分 = 1を使用します。
-
{OFFSET(5)}
開始値 = 5、増分 = 1 (デフォルト)
-
{OFFSET(5,2)}
開始値 = 5、増分 = 2
次の例は、OFFSET
マクロを使用するエンドポイントURLを示しています。
https://example.org/fetchLogs?startIndex={OFFSET(0,1000)}&count=1000
前述の例で、OFFSET(0,1000)
は、最初のコールで開始値が0であり、その後のコールで1000ずつ増分されることを示します。したがって、OFFSET
マクロが解釈されると、複数のコールのエンドポイントURLは次のようになります。
最初のコール: https://example.org/fetchLogs?startIndex=0&count=1000
2回目のコール: https://example.org/fetchLogs?startIndex=1000&count=1000
TIME_WINDOW
マクロ
TIME_WINDOW
マクロを使用して、ログを収集する収集間隔を指定します。REST APIエンドポイントURLで使用して、エージェント収集間隔に関係なく、分、時間または日数でログをフェッチできます。たとえば、時間ウィンドウが1d (1日)で、エージェント間隔が10分の場合、後続のログ収集は1日後にのみ実行されます。
次の例では、エンドポイントURLでTIME_WINDOW
を6h
として指定して、ログ収集間隔を6時間設定します。
https://example.org/fetchLogs?timewindow={TIME_WINDOW(6h)}
フォーマット: {TIME_WINDOW(<number><timeunit>)}
前述のフォーマット:
-
number: 0(ゼロ)より大きい数字。
-
timeunit:
h
(時間)、d
(日)、m
(分)。デフォルト値はd
(日)です。
エージェントの収集間隔が、指定された時間ウィンドウより小さいことを確認してください。TIME_WINDOW
マクロは、エンドポイントで1回のみ使用できます。
REST APIログ収集の変数
変数を使用して、ログ・リスト・エンドポイントによってレスポンスの一部として指定された属性を、実行時にログ・エンドポイントのリクエストに動的に置き換えます。変数は、URL、フォーム・パラメータ、POSTペイロードまたはログ・エンドポイントのHTTPリクエスト・ヘッダー値で使用できます。
ログ・リスト・エンドポイントへのコールが失敗した場合、依存性のため、ログ・エンドポイントからのログ・メッセージは収集されません。
ログ・エンドポイントの変数の形式:
{<log_list_endpoint_name>:<json path(<filter_field_name>='<value>')>}
-
前述の形式では、
log_list_endpoint_name
はログ・リスト・エンドポイントの名前です。フィルタ
(<filter_field_name>=<value>)
はオプションです。filter_field_name
に一致する属性のみが、ログ・リスト・エンドポイントのJSONレスポンスから取得され、ログ・エンドポイントで使用されます。例:https://www.example.com/log/{foo:$.items[*].links[*].href(rel='self')}
フィルタの詳細な例は、フィルタの例を参照してください。
-
プロパティ値のフェッチがサポートされるのは、JSONコンテンツ・タイプのみです。
-
同じ変数を複数回指定できます。
-
変数は有効なリスト・エンドポイントのみを参照でき、ログ・エンドポイントは参照できません。
-
次のJSONパス形式がサポートされています: 単純なJSONパス、配列JSONパスおよび複数の配列JSONパス。
単純なJSONパス
JSONレスポンスに複数のレベルのネストされた要素がある場合、JSONパスをノードの特別な表記および後続の子ノードへの接続として指定できます。
次の例では、JSONパス$.foo.abc
を使用して、出力としてresult
を取得します:
{
"foo" :
{
"abc" : "result"
}
}
次の例では、JSONパス$.*.id
を使用して["id1", "id3"]
出力を取得するか、$.*.*
を使用して出力["id1", "id2", "id3"]
を取得します。
{
"foo" : {
"id" : "id1"
},
"foo2" : {
"ID" : "id2",
"id" : "id3"
}
}
次の例では、JSONパス$.foo.*
を使用して出力["id1", "value1"]
を取得します:
{
"foo" : {
"id" : "id1",
"abcd" : "value1"
},
"foo2" : {
"id" : "id2"
}
}
配列JSONパス
JSONレスポンスにデータの抽出元となるオブジェクトの配列がある場合は、配列オブジェクトの名前を指定し、[]
を使用してその配列オブジェクト内の適切な要素を抽出します。たとえば、次のJSONレスポンスには、オブジェクトrecords
とitem
の2つの配列があります。
{
"records": [
{"id": "firstId", "type":"firstType"},
{"id":"secondId", "type":"secondType"}
],
"items": [
{"name":"firstName", "field":"value"},
{"name":"secondName", "field":"value"},
{"name":"thirdName", "field":"value"}
]
}
-
JSONパス
$.records[0].id
を指定してfirstId
を出力としてフェッチするか、$.records[1].id
を指定してsecondId
を出力としてフェッチするか、$.records[*].id
を指定してすべてのJSONオブジェクトからid
をフェッチします。最後のケースでは、出力は文字列["firstId", "secondId"]
のリストです。 -
()
を使用して、JSONパスに条件を指定することもできます。前述の例では、type
がfirstType
であるrecords
からのみid
をフェッチするには、JSONパス$.records[*].id(type='firstType')
を使用します。
複数の配列JSONパス
次の例を考えます:
ログ・リスト・エンドポイントURL getlist
の場合:
https://www.example.com/url_list
ログ・リスト・エンドポイントへのJSONレスポンス:
{
"records": [ { "id": "firstId", "type": "firstType" }, { "id": "secondId", "type": "secondType" } ],
"items": [ { "name": "firstName", "field": "value" }, { "name": "secondName", "field": "value" }, { "name": "thirdName", "field": "value" } ]
}
ログ・エンドポイントURL (getlist
の変数を参照):
https://www.example.com/{getlist:$.records[*].id}/{getlist:$.items[*].name}
変数{getlist:$.records[*].id}
および{getlist:$.items[*].name}
を使用すると、エージェントは次のログ・エンドポイントを生成し、2つの配列フィールド["firstId", "secondId"]
および["firstName", "secondName", "thirdName"]
のすべての組合せを使用します。
-
https://www.example.com/firstId/firstName
-
https://www.example.com/secondId/firstName
-
https://www.example.com/firstId/secondName
-
https://www.example.com/secondId/secondName
-
https://www.example.com/firstId/thirdName
-
https://www.example.com/secondId/thirdName
フィルタの例
ログ・リスト・エンドポイントfoo
からの次のJSONレスポンスについて考えてみます:
{
"items": [
{
"BusinessEventCode": "JournalBatchApproved",
"CreationDate": "2019-07-27T17:19:19.261+00:00",
"links": [
{
"rel": "self",
"href": "/erpBusinessEvents/self/100100120766717"
},
{
"rel": "canonical",
"href": "/erpBusinessEvents/rel/100100120766717"
}
]
}
]
}
ここで、次のログ・エンドポイントの例を検討します:
https://www.example.com/log/{foo:$.items[*].links[*].href(rel='self')}
前述の例では、パス・パラメータは、ログ・リスト・エンドポイントfoo
のJSONレスポンスの配列要素$.items[*].links[*].href
に置き換えられ、rel='self'
のみを選択するための追加条件が指定されています。
前述のJSONレスポンスの場合、エージェントは次のログ・エンドポイントを生成します:
https://www.example.com/log/erpBusinessEvents/self/100100120766717
REST APIログ収集の資格証明タイプの選択
エージェントとREST APIソース間の接続を認可するには、まずエージェントの資格証明ストアでAPI資格証明を構成します。エージェント側で管理エージェント・サービスでソース資格証明を構成した後、REST APIログ・ソースの作成時にこの情報を使用できます。
管理エージェントがログ発行ホストからデータを収集できるように、管理エージェント・サービスのソース資格証明を構成するには、管理エージェントのソース資格証明を参照してください。
ログ・エンドポイントまたはログ・リスト・エンドポイントの追加中に、「ログ資格証明タイプ」を選択して、ワークフローに資格証明情報を指定します。次のいずれかのオプションを選択します。
- なし
- 基本認証: 管理エージェント・サービスで作成した資格証明のログ資格証明名を指定します。
- 静的トークン: 管理エージェント・サービスで作成した資格証明のログ資格証明名を指定します。
- 動的トークン(OAuth 2.0):
管理エージェント・サービスで作成したトークンのトークン資格証明名を指定します。さらに、「トークン・エンドポイント名」、「トークン・エンドポイントURL」、「付与タイプ」、およびオプションで「スコープ」などのトークン情報を指定します。
トークン・プロキシがログ・エンドポイントのものと同じ場合は、「ログ・エンドポイントと同じプロキシ」チェック・ボックスを有効にしたままにします。そうでない場合は、チェック・ボックスを無効にし、トークン・プロキシ・サーバーURLを指定します。
認証タイプへの資格証明タイプのマッピング:
認証タイプ | 管理エージェントの資格証明タイプ | 資格証明プロパティ |
---|---|---|
Basic認証 | HTTPSBasicAuthCreds | HTTPSUserName, HTTPSPassword |
HTTPSCreds | HTTPSUserName、HTTPSPassword、sslトラストストア・プロパティ | |
静的トークン | HTTPSTokenCreds | HTTPSToken、HTTPSTokenType、sslトラストストア・プロパティ(オプション) |
動的トークン | HTTPSBasicAuthCreds | HTTPSUserName, HTTPSPassword |
HTTPSCreds | HTTPSUserName、HTTPSPassword、sslトラストストア・プロパティ |
sslトラストストア・プロパティには、次の情報が含まれています。
-
"
ssl_trustStoreType
": ストアのタイプ(JKS
など)。 -
"
ssl_trustStoreLocation
": トラスト・ストアのパス -
"
ssl_trustStorePassword
": トラスト・ストア・パスワード(オプション)
資格証明JSONの属性に関する次の点に注意してください。
-
source
: 値はlacollector.la_rest_apiである必要があります -
name
: 資格証明の適切な名前 -
type
: これは、前述の資格証明タイプ表の「管理エージェントでの資格証明タイプ」列で指定された値のいずれかである必要があります。
資格証明JSONの例を参照してください。
資格証明JSONの例
信頼できるホストを使用したHTTPS経由のユーザー名とパスワードを使用したBasic認証の例:
{
"source":"lacollector.la_rest_api",
"name":"ExampleRestAPICreds",
"type":"HTTPSBasicAuthCreds",
"description":"These are HTTPS (BasicAuth) credentials.",
"properties":
[
{ "name":"HTTPSUserName", "value":"CLEAR[admin]" },
{ "name":"HTTPSPassword", "value":"CLEAR[myPassword]" }
]
}
証明書を明示的に指定することで、HTTPS経由のSSL証明書、ユーザー名およびパスワードを使用したBasic認証の例:
{
"source":"lacollector.la_rest_api",
"name":"ExampleRestAPICreds",
"type":"HTTPSCreds",
"description":"These are HTTPS (BasicAuth) credentials.",
"properties":
[
{ "name":"HTTPSUserName", "value":"CLEAR[admin]" },
{ "name":"HTTPSPassword", "value":"CLEAR[myPassword]" },
{ "name":"ssl_trustStoreType", "value":"JKS" },
{ "name":"ssl_trustStoreLocation", "value":"/scratch/certs/mycert.keystore" },
{ "name":"ssl_trustStorePassword", "value":"mySSLPassword" }
]
}
信頼できるホストを使用したHTTPS経由のトークンの例:
{
"source":"lacollector.la_rest_api",
"name":"ExampleRestAPICreds",
"type":"HTTPSTokenCreds",
"description":"These are HTTPS (Token) credentials.",
"properties":
[
{ "name": "HTTPSToken", "value": "CLEAR[token value]" },
{"name": "HTTPSTokenType", "value": "CLEAR[Bearer]" }
]
}
明示的に指定された証明書を使用したHTTPS経由のトークンの例:
{
"source":"lacollector.la_rest_api",
"name":"ExampleRestAPICreds",
"type":"HTTPSTokenCreds",
"description":"These are HTTPS (Token) credentials.",
"properties":
[
{ "name": "HTTPSToken", "value": "CLEAR[token value]" },
{"name": "HTTPSTokenType", "value": "CLEAR[Bearer]" },
{ "name":"ssl_trustStoreType", "value":"JKS" },
{ "name":"ssl_trustStoreLocation", "value":"/scratch/certs/mycert.keystore" },
{ "name":"ssl_trustStorePassword", "value":"mySSLPassword" }
]
}
Fusion Applications監査ログの収集
Fusion Applications監査ログを収集するには、次のステップに従います。Fusion Applicationsで使用可能なOracle定義ソースのリストは、Oracle定義ソースを参照してください。
トピック:
前提条件
-
Fusion Applications監査ログAPIの理解: 監査ログAPIの使用方法および機能の詳細は、Fusion Applications REST APIのドキュメントを参照してください。
-
Fusion Applicationsへのアクセス: Fusion Applicationsインスタンスにアクセスするには、有効な資格証明および権限が必要です。
-
次のエンドポイントおよびプロキシを識別します(オプション)。
login_url
: Fusion ApplicationsインスタンスのベースURLpod_url
: Fusion ApplicationsインスタンスのベースURLproxy_url
: (オプション)プロキシ・サーバーにリクエストを送信するURL
URLの詳細は、Oracle My SupportのドキュメントID 2661308.1を参照してください。
- Fusion Applications REST APIアクセス: APIアクセスが有効になっており、必要なロール/権限が割り当てられていることを確認します。
Fusion Applicationsからの監査ログ収集の設定
-
Fusion ApplicationsベースURLの検証:
- ユーザー・インタフェースにログインしてFusion Applications資格証明を検証します。
- オプションで、ネットワーク・トレース・コールを分析してベースURLを検証します。
- 監査APIアクセスが有効になっていることを確認します。
-
必要なIAMポリシーの作成: 管理エージェントを使用した継続的なログ収集の許可
-
Fusion Applicationsインスタンス/サーバーへのアクセス権がhttpまたはhttpsであるホストに管理エージェントをインストールします。ログ・アナリティクス・プラグインがインストール中にデプロイされていることを確認します。管理エージェントのインストールを参照してください。
-
エージェントの資格証明ストアでのAPI資格証明の構成:
管理エージェントの/binフォルダに移動し、資格証明JSONファイルを作成します。次の例は、fapps.jsonファイルに指定されている値を示しています。
{ "source": "lacollector.la_rest_api", "name": "FA-CREDS", "type": "HTTPSBasicAuthCreds", "description": "These are HTTPS (BasicAuth) credentials.", "properties": [ { "name": "HTTPSUserName", "value": "USER" }, { "name": "HTTPSPassword", "value": "PASS" } ] }
エージェントの資格証明ストアにFA-CREDS資格証明を追加します:
cat fapps.json | ./credential_mgmt.sh -s logan -o upsertCredentials
エージェントの資格証明ストアでのAPI資格証明の構成の詳細は、管理エージェントのソース資格証明を参照してください。
-
エージェントがインストールされているインスタンスからFusion Applications APIエンドポイントにアクセスできるかどうかを確認します。curlなどのツールを使用して、チェックを実行できます。
-
エンティティの作成:
Oracle Fusion Applications
型のエンティティを作成し、login_url
およびpod_url
のプロパティ値を追加します。必要に応じて、proxy_url
の値も追加します。ログ出力リソースを表すエンティティの作成を参照してください。 -
ソースの構成: 使用できる適切なFusion Applications監査ログのOracle定義ソースを識別します。必要に応じて、既存のソースの複製を作成して編集できます。ソースの編集を参照してください。
- 資格証明がソースのログ・エンドポイントで正しく参照されていることを確認します。
- 必要に応じて、ログ・エンドポイントにプロキシを追加します。
-
エージェント側でデータ収集をスケジュール: ソースをエンティティに関連付けて、データ収集をスケジュールします。管理エージェントを使用して、Fusion Applications監査APIを定期的に起動し、ログ・アナリティクスにデータをプッシュします。新しいソースとエンティティのアソシエーションの構成を参照してください。
-
ログ・エクスプローラでの確認および検証: ログがログ・エクスプローラで適切に収集および分析されていることを確認します。チャートおよびコントロールを使用したデータのビジュアル化を参照してください。