ソースの作成
ソースは、エンティティのログの場所と、ログ・エントリをエンリッチする方法を定義します。OCI管理エージェントを介した継続的なログ収集を開始するには、ソースを1つ以上のエンティティに関連付ける必要があります。
より具体的なステップ
- アプリケーション、インフラストラクチャ、データベースおよびその他の汎用ログの取込み
- syslogソースを作成します。Syslogモニタリングの設定を参照してください。
- データベース・インスタンス・ログ・ソースを作成します。データベース・インスタンス・モニタリングの設定を参照してください。
- REST APIログ収集の設定
- Windowsイベント・モニタリングの設定
- Oracle Diagnostic Logging (ODL)フォーマットのログの収集
追加トピック:
ソースでのデータ・フィルタの使用
Oracle Logging Analyticsでは、ログ・エントリの機密情報をマスクして非表示にすることや、ログ・データがクラウドにアップロードされる前にログ・エントリ全体を非表示にすることができます。
ソースの編集または作成時に「データ・フィルタ」タブを使用して、IPアドレス、ユーザーID、ホスト名およびその他の機密情報を置換文字列でマスクしたり、ログ・エントリから特定のキーワードおよび値を削除したり、ログ・エントリ全体を非表示にしたりできます。
データ・フィルタは、ログ・ソースの作成時または既存のソースの編集時に追加できます。既存のログ・ソースの編集について学習するには、Oracle定義ソースのカスタマイズを参照してください。
オンデマンド・アップロードまたはオブジェクト・ストアからの収集を使用してログ・データがOracle Logging Analyticsに送信される場合、データが索引付けされる前にクラウド側でマスキングが発生します。管理エージェントを使用してログを収集する場合、コンテンツがオンプレミスから離れる前にログがマスクされます。
トピック:
ログ・データのマスク
マスキングとは、既存のテキストのセットを取得し、それを他の静的テキストに置き換えて元のコンテンツを非表示にするプロセスです。
ユーザー名やホスト名などの情報をログ・エントリからマスクする場合:
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。
-
管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ソース」をクリックします。
-
編集するソースの名前をクリックします。ソースの詳細ページが開きます。「編集」をクリックして、ソースを編集します。
-
「データ・フィルタ」タブをクリックし、「追加」をクリックします。
-
マスクの「名前」を入力し、「タイプ」として「マスク」を選択し、「検出式」の値とそれに関連する「置換式」の値を入力します。
検出式の値は、プレーン・テキスト検索または標準の正規表現です。置換式に置き換える値は、引用符
(
)
で囲む必要があります。名前 検出式 置換式 マスク・ユーザー名 User=(\S+)s+
機密 マスク・ホスト Host=(\S+)s+
mask_host ノート
置換文字列の構文は、置換対象の文字列の構文と一致する必要があります。たとえば、数値を文字列で置き換えることはできません。
123.45.67.89
という形式のIPアドレスは、000.000.000.000
で置換できますが、000.000
では置換できません。構文が一致しない場合、パーサーが中断する可能性があります。 -
「保存」をクリックします。
このログ・ソースのマスクされたログ・エントリを表示すると、指定したフィールドの値がOracle Logging Analyticsでマスクされていることがわかります。
-
User = secret
-
ホスト= mask_host
ログ・データのハッシュ・マスキング
前の項の説明に従って、マスクを使用してログ・データをマスクすると、マスクされた情報は、置換式で指定された静的文字列に置き換えられます。たとえば、ユーザー名が文字列confidential
でマスクされる場合、ユーザー名は常に、ログ・レコードで出現するたびに式confidential
に置き換えられます。ハッシュ・マスクを使用すると、検出された値を一意のハッシュでハッシュ処理できます。たとえば、ログ・レコードに複数のユーザー名が含まれている場合、各ユーザー名は、一意の値にハッシュ処理されます。そのため、user1
が出現するたびにテキスト・ハッシュebdkromluceaqie
に置き換えられれば、ハッシュを使用して、引き続きこれらのログ・エントリが同じユーザーに該当することを識別できます。ただし、実際のユーザー名は表示されません。
関連するリスク: これはハッシュであるため、マスクされた元のテキストの実際の値を回復する方法はありません。ただし、任意の文字列のハッシュを取得すると、毎回同じハッシュが得られます。ログ・データのハッシュ・マスキング時には、このリスクを考慮してください。たとえば、文字列oracle
のmd5ハッシュは、a189c633d9995e11bf8607170ec9a4b8
です。文字列oracle
のmd5を作成しようとするたびに、常に同じ値になります。このmd5ハッシュを使用して逆に戻し、元の文字列oracle
を取得することはできませんが、oracle
という値を推測してハッシュ処理すると、そのハッシュがログ・エントリ内のものと一致していることがわかります。
ログ・データにハッシュ・マスク・データ・フィルタを適用するには:
-
「ソースの作成」ページに移動します。ステップは、ソースの作成を参照してください。
-
すでに存在するソースを編集することもできます。「ソースの編集」ページを開くステップは、ソースの編集を参照してください。
-
「データ・フィルタ」タブをクリックし、「追加」をクリックします。
-
マスクの「名前」を入力し、「タイプ」として「ハッシュ・マスク」を選択し、「検出式」の値とそれに関連する「置換式」の値を入力します。
名前 検出式 置換式 マスク・ユーザー名 User=(\S+)s+
テキスト・ハッシュ マスク・ポート Port=(\d+)s+
数値ハッシュ -
「保存」をクリックします。
文字列ベースのフィールドでハッシュ・マスクを使用する場合は、テキストまたは数値ハッシュを文字列フィールドとして使用できます。ただし、データ・フィールドが整数、長整数、浮動小数点数などの数値の場合は、数値ハッシュを使用する必要があります。数値ハッシュを使用しないと、置換テキストが原因でこの値に依存する正規表現が数値になるため、中断します。また、値も格納されません。
この置換は、データが解析される前に実行されます。通常、データをマスクする必要がある場合、それが常に数値であるかどうかは明らかではありません。そのため、マスク定義の作成時にハッシュのタイプを決定する必要があります。
前述のハッシュ・マスキングの例の結果では、各ユーザー名は一意のテキスト・ハッシュに置き換えられ、各ポート番号は一意の数値ハッシュに置き換えられます。
ログ・データをフィルタまたは分析する際に、ハッシュ・マスクを使用できます。ハッシュ・マスクによるログのフィルタを参照してください。
ログ・レコードからの特定のキーワードまたは値の削除
Oracle Log Analyticsでは、ログ・レコード内の特定のキーワードまたは値を検索し、そのキーワードがログ・レコードに存在する場合は一致したキーワードまたは値を削除できます。
次のログ・レコードを考えます:
ns5xt_119131: NetScreen device_id=ns5xt_119131 [Root]system-notification-00257(traffic): start_time="2017-02-07 05:00:03" duration=4 policy_id=2 service=smtp proto=6 src zone=Untrust dst zone=mail_servers action=Permit sent=756 rcvd=756 src=192.0.2.1 dst=203.0.113.1 src_port=44796 dst_port=25 src-xlated ip=192.0.2.1 port=44796 dst-xlated ip=203.0.113.1 port=25 session_id=18738
キーワードdevice_id
とその値をログ・レコードから非表示にする場合:
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。
-
管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ソース」をクリックします。
-
編集するソースの名前をクリックします。ソースの詳細ページが開きます。「編集」をクリックして、ソースを編集します。
-
「データ・フィルタ」タブをクリックし、「追加」をクリックします。
-
フィルタの「名前」を入力し、「タイプ」として「文字列の削除」を選択し、「検出式」の値として
device_id=\S*
などを入力します -
「保存」をクリックします。
このソースのログ・レコードを表示すると、指定したキーワードまたは値がOracle Logging Analyticsによって削除されます。
パーサーの正規表現がログ・レコードのパターンと一致することを確認してください。一致しない場合、Oracle Logging Analyticsでキーワードを削除した後にレコードを正しく解析できない可能性があります。
ソースの作成時にデータ・フィルタを追加する以外に、既存のソースを編集してデータ・フィルタを追加することもできます。既存のソースの編集について学習するには、Oracle定義ソースのカスタマイズを参照してください。
特定のキーワードに基づくログ・エントリ全体の削除
Oracle Log Analyticsでは、ログ・レコード内の特定のキーワードまたは値を検索し、そのキーワードが存在する場合はログ・レコードのログ・エントリ全体を削除できます。
次のログ・レコードを考えます:
ns5xt_119131: NetScreen device_id=ns5xt_119131 [Root]system-notification-00257(traffic): start_time="2017-02-07 05:00:03" duration=4 policy_id=2 service=smtp proto=6 src zone=Untrust dst zone=mail_servers action=Permit sent=756 rcvd=756 src=198.51.100.1 dst=203.0.113.254 src_port=44796 dst_port=25 src-xlated ip=198.51.100.1 port=44796 dst-xlated ip=203.0.113.254 port=25 session_id=18738
キーワードdevice_id
が存在する場合は、ログ・エントリ全体を削除するとします:
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。
-
管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ソース」をクリックします。
-
編集するソースの名前をクリックします。ソースの詳細ページが開きます。「編集」をクリックして、ソースを編集します。
-
「データ・フィルタ」タブをクリックし、「追加」をクリックします。
-
フィルタの「名前」を入力し、「タイプ」として「ログ・エントリの削除」を選択し、「検出式」の値として
.*device_id=.*
などを入力します正規表現がログ・エントリ全体に一致することが重要です。正規表現の前後に
.*
を使用すると、ログ・エントリ内の他のすべてのテキストと一致するようになります。 -
「保存」をクリックします。
このログ・ソースのログ・エントリを表示すると、文字列device_id
を含むすべてのログ・エントリがOracle Logging Analyticsによって削除されたことになります。
ソースの作成時にデータ・フィルタを追加する以外に、既存のソースを編集してデータ・フィルタを追加することもできます。既存のソースの編集について学習するには、Oracle定義ソースのカスタマイズを参照してください。
ソースでの拡張フィールドの使用
Oracle Logging Analyticsの拡張フィールド機能では、パーサーが解析したフィールドに加えて、ログ・レコードから追加フィールドを抽出できます。
ソース定義では、ログ・ファイルをログ・エントリに分割し、各ログ・エントリを一連のベース・フィールドに分割できるパーサーが選択されます。これらのベース・フィールドは、すべてのログ・エントリで一貫している必要があります。ベース・パーサーは、ログ・レコードから共通フィールドを抽出します。ただし、ログ・エントリ・コンテンツから追加フィールドを抽出する必要がある場合は、拡張フィールド定義を使用できます。たとえば、ログ・エントリの共通フィールドの末尾にあるすべてのテキストを解析し、Messageというフィールドに格納するように、パーサーを定義できます。
更新されたソースを使用してログを検索すると、拡張フィールドの値が、ベース・パーサーによって抽出されたフィールドとともに表示されます。
ログ・グループを入力フィールドとして追加するには、名前のかわりに値のOCIDを指定します。
パーサーを作成するのではなく、ソース定義で「時間のみ自動解析」オプションを使用する場合、拡張フィールド定義の作成に使用できるフィールドは、「元のログ・コンテンツ」フィールドのみです(その他のフィールドはパーサーによって移入されないため)。自動時間パーサーの使用を参照してください。
Oracle Logging Analyticsによって、目的の拡張フィールドを検索できます。作成方法、ベース・フィールドのタイプ、またはフィールドのサンプル・コンテンツに基づいて検索できます。「検索」フィールドにサンプル・コンテンツを入力するか、検索ダイアログ・ボックスの下矢印をクリックします。検索ダイアログ・ボックスの「作成タイプ」で、目的の拡張フィールドがOracle定義であるかユーザー定義であるかを選択します。「ベース・フィールド」で、使用可能なオプションから選択できます。検索に使用できるサンプル・コンテンツまたは抽出フィールド式を指定することもできます。「フィルタの適用」をクリックします
表8-1サンプル・コンテンツおよび拡張フィールド抽出式の例
説明 | ベース・フィールド | サンプル・コンテンツ | 拡張フィールド抽出式 |
---|---|---|---|
Fusion Middlewareアクセス・ログ・ファイルのURIフィールドからエンドポイント・ファイルの拡張子を抽出するには |
|
|
これにより、jpgやhtmlなどのファイル接尾辞が抽出され、その値がContent Typeフィールドに格納されます。式にリストされている接尾辞のみが抽出対象です。 |
ログ・エンティティのファイル・パスからユーザー名を抽出するには |
|
|
|
Messageフィールドから開始時間を抽出するには ノート: イベント開始時間は、Timestampデータ型フィールドです。これがnumericデータ型フィールドの場合、開始時間はタイムスタンプではなく、単に数値として格納されます。 |
|
|
|
ソース: パーサー名: |
|
|
|
ソース: パーサー名: |
|
|
|
ソース: パーサー名: |
|
|
|
ソース: パーサー名: |
|
|
|
フィールド・エンリッチメント・オプションの構成
Oracle Logging Analyticsでは、フィールド・エンリッチメント・オプションを構成して、拡張フィールド・データから意味のある情報を追加で抽出して表示できます。
フィールド・エンリッチメント・オプションの1つがジオロケーションで、ログ・レコードに存在するIPアドレスまたはロケーション座標を国または国コードに変換します。これは、外部クライアントIPアドレスを持つWebアクセス・ログなどのログ・ソースで使用できます。
「ルックアップ」フィールド・エンリッチメント・オプションを使用すると、ログから外部ルックアップ表にフィールドと値の組合せを照合できます。
「追加フィールド」オプションを使用して、ログ・エントリに追加情報を含めます。この情報は、処理時に各ログ・エントリに追加されます。
フィールド内の文字列/式を代替式で置換し、結果を出力フィールドに格納するには、「置換」オプションを使用します。
-
ソースの場合、タイプごとに最大3つのフィールド・エンリッチメントを定義できます。
-
ログ・グループを入力フィールドとして追加するには、名前のかわりに値のOCIDを指定します。
ソースでの収集時間ルックアップの使用
「参照フィールド・エンリッチメント」オプションを複数回設定することで、複数の参照からデータを追加できます。参照フィールド・エンリッチメントは、作成された順序で処理されます。したがって、キーが重複し、各参照の処理によるエンリッチメントの追加に役立つ関連参照がある場合は、「参照フィールド・エンリッチメント」定義の入力および出力選択に重複するキーを含めるようにしてください。複数の関連参照を使用してログ・データをエンリッチする例は、「複数の参照フィールド・エンリッチメントの追加の例」を参照してください。
ルックアップ・フィールド・エンリッチメントを追加するステップ
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。
管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ソース」をクリックします。
「ソース」ページが開きます。「ソースの作成」をクリックします。
または、編集するソース・エントリの横にある「アクション」メニュー・アイコンをクリックし、「編集」を選択します。「ソースの編集」ページが表示されます。
ノート
パーサーがソース定義ページで選択され、フィールド・エンリッチメントの「追加」ボタンが有効になっていることを確認してください。
-
「フィールド・エンリッチメント」タブをクリックし、「追加」をクリックします。
「フィールド・エンリッチメントの追加」ダイアログ・ボックスが開きます。
-
「フィールド・エンリッチメントの追加」ダイアログ・ボックスで、
- 「ファンクション」として「ルックアップ」を選択します。
- ドロップダウン・メニューから「ルックアップ表名」を選択します。
- 「入力フィールド」で、「ルックアップ表の列」およびマップ先の「ログ・ソース・フィールド」を選択します。これにより、ルックアップ表のキーを、「ログ・ソース・フィールド」のパーサーによって移入されるフィールドにマップします。たとえば、ルックアップ表の
errid
列をログのError ID
フィールドにマップできます。「ログ・ソース・フィールド」の入力フィールドのリストは、ログ・ソースによって移入されるフィールドに制限されます。
- 「アクション」で、新しいログ・ソース・フィールドおよびマップ先のルックアップ表列のフィールド値を選択します。前述の入力マッピングに基づいて、指定されたルックアップ表で一致するレコードが見つかると、「ログ・ソース・フィールド」で指定された出力フィールドが、「フィールド値」で指定された出力ルックアップ列の値でログに追加されます。たとえば、ルックアップ表の
erraction
列をAction
フィールドにマップできます。オプションで、「+別のアイテム」をクリックして、さらに出力フィールドをマップします。
- 「フィールド・エンリッチメントの追加」をクリックします。
これで、ルックアップがフィールド・エンリッチメント表に追加されます。
-
「有効」チェック・ボックスは選択したままにします。
-
参照をさらに追加するには、ステップ3および4を繰り返します。
収集時間ルックアップ・フィールド・エンリッチメントを作成したログ・ソースのログ・レコードを表示すると、「出力フィールド」に、ログ・エントリに対して移入された値が表示されます(フィールド・エンリッチメントの作成に使用したルックアップ表参照であるため)。ルックアップの管理を参照してください。
複数のルックアップ・フィールド・エンリッチメントの追加の例
最大3つの参照フィールド・エンリッチメントをソースに追加できます。個々の参照は相互に関連する場合と関連付けない場合があります。
次の例では、3つの関連参照を設定して、3つの参照すべてからの情報でログ・データをエンリッチできるようにする方法を示します。複数のホストに関する情報を含む次の3つの関連参照について考えてみます。
Lookup1: SystemConfigLookup
シリアル番号 | メーカー | オペレーティング・システム | メモリ | プロセッサ・タイプ | ディスク・ドライブ | ホストID |
---|---|---|---|---|---|---|
セル番号-01 | Manuf1 | OS1 | 256TB | Proc1 | ハード・ドライブ | 1001 |
セル番号-02 | Manuf2 | OS2 | 7.5TB | Proc3 | ソリッドステートドライブ | 1002 |
SER-NUM-03 | Manuf2 | OS3 | 16TB | Proc2 | ソリッドステートドライブ | 1003 |
SER-NUM-04 | Manuf3 | OS1 | 512TB | Proc5 | ハード・ドライブ | 1004 |
SER-NUM-05 | Manuf1 | OS1 | 128TB | Proc4 | ハード・ドライブ | 1001 |
Lookup2: GeneralHostConfigLookup
ホストID | ホスト所有者 | ホストの場所 | ホストの説明 | ホストIPアドレス |
---|---|---|---|---|
1001 | Jack | サンフランシスコ | Jackホストの説明 | 192.0.2.76 |
1002 | Alexis | デンバー | Alexisホストの説明 | 203.0.113.58 |
1003 | John | シアトル | Johnホストの説明 | 198.51.100.11 |
1004 | Jane、 | サンホセ | Janeホストの説明 | 198.51.100.164 |
Lookup3: NetworkConfigLookup
IPアドレス | サブネット・マスク | ゲートウェイ | DNSサーバー |
---|---|---|---|
192.0.2.76 | 255.255.255.252 | 192.0.2.1 | 再帰サーバー |
203.0.113.58 | 255.255.255.0 | 203.0.113.1 | 認証サーバー |
198.51.100.11 | 255.255.255.224 | 198.51.100.1 | ルートサーバー |
198.51.100.164 | 255.255.255.192 | 198.51.100.1 | 再帰サーバー |
参照Lookup1とLookup2の間では、Host ID
は、最初の参照フィールド・エンリッチメントの出力として、および2番目の参照フィールド・エンリッチメントの入力として選択できる共通キーです。同様に、参照Lookup2とLookup3の間では、IP Address
は、最初の参照フィールド・エンリッチメントの出力として、および2番目の参照フィールド・エンリッチメントの入力として選択できる共通キーです。
前述の設定を使用して、参照フィールド・エンリッチメントを1、2および3の順序で構成します。
ルックアップ・フィールド・エンリッチメント | 表名のルックアップ | 入力フィールド | 操作 |
---|---|---|---|
1 | SystemConfigLookup |
|
|
2 | GeneralHostConfigLookup |
|
|
3 | NetworkConfigLookup |
|
|
前述のエンリッチメント構成が完了すると、ログ・データでSerial Number
フィールドが検出されると、3つの参照からOperating System
、Memory
、Host ID
、Host Owner
、Host IP Address
、Gateway
およびDNS Server
でさらにエンリッチされます。So, for the serial number SER-NUM-01 detected in the log, it is enriched with additional information OS1, 256TB, 1001, Jack, 192.0.2.76, 192.0.2.1, and Recursive server.
ログをグループ化するためのジオロケーション・フィールドの使用
ジオロケーション・フィールド・エンリッチメントを設定した後、国または国コードでグループ化されたログ・レコードを表示できます。これは、IPアドレスや場所の座標などの重要な場所情報(アクセス・ログ、トレース・ログ、アプリケーション・トランスポート・ログなど)を持つログを分析する場合に便利です。
処理時のログ・エントリへのデータの追加
追加のメタデータとして、各エントリに詳細情報を含めることができます。この情報はログ・エントリの一部ではありませんが、処理時に追加されます(コンテナID、ノードなど)。オンデマンドでのログのアップロード中にメタデータを追加する例は、オンデマンドでのログのアップロードを参照してください。
このように追加された情報は、ログ・エクスプローラに直接表示されない場合があります。ログ分析のためにログ・エクスプローラに表示するには、次のステップを実行します。
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。
管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ソース」をクリックします。
「ソース」ページが開きます。編集するソース・エントリの横にある「アクション」メニュー・アイコンをクリックし、「編集」を選択します。「ソースの編集」ページが表示されます。
ノート
パーサーがソース定義ページで選択され、フィールド・エンリッチメントの「追加」ボタンが有効になっていることを確認してください。
-
「フィールド・エンリッチメント」タブをクリックし、「追加」をクリックします。
「フィールド・エンリッチメントの追加」ダイアログ・ボックスが開きます。
-
「フィールド・エンリッチメントの追加」ダイアログ・ボックスで、
- 「関数」として「追加フィールド」を選択します。
- 「フィールドのマップ」で、ソースにマップするフィールドを選択します。このソースに関連付けられているパーサーで選択されているフィールドは、ここでは使用できません。
- 「追加」をクリックします。
追加のフィールドを指定すると、ログ分析のためにログ・エクスプローラに表示されます。ソースの拡張フィールドまたはラベルを構成する際に選択することもできます。
置換関数を使用したフィールドの式の置換
ログ処理中に、フィールド値の一部を代替文字列または式で置換する場合は、置換関数を使用して、フィールドの結果の式を別の出力フィールドに格納します。
フィールドURI
がhttp://www.example.com/forum/books?<ISBN>
という形式のコンテンツを持つすべてのログ・レコードを取得し、ISBNの値がログ・レコードごとに異なるシナリオを考えてみます。このような場合、各ログ・レコードのフィールドのISBNの値を文字列allExampleBooksで置き換えて、フィールドmodified_URI
に格納できます。その結果、前述の形式のURI
で取得されたすべてのログ・レコードには、http://www.example.com/forum/books?allExampleBooks
という値を持つフィールドmodified_URI
も含まれます。検索問合せでフィールドmodified_URI
を使用して、ログ・エクスプローラでさらに分析するためにそれらのログをフィルタできるようになりました。
また、オプション「すべて一致の置換」を使用して、フィールドの値のすべての出現箇所を置換します。たとえば、フィールドOriginal log content
に文字列で置換する複数のIPアドレスがある場合、このオプションを使用できます。結果は、Altered log content
などのフィールドに保存できます。問合せのフィールドAltered log content
を使用して、フィールドOriginal log content
にIPアドレスを持つすべてのログ・レコードをフィルタできるようになりました。
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。
管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ソース」をクリックします。
「ソース」ページが開きます。「ソースの作成」をクリックします。
または、編集するソース・エントリの横にある「アクション」メニュー・アイコンをクリックし、「編集」を選択します。「ソースの編集」ページが表示されます。
-
ソースの名前と適切な説明を入力し、ソース・タイプを選択します。ログの解析に使用する必要があるパーサーを選択します。これらの選択によって、フィールド・エンリッチメントに使用できるフィールドが決まります。
-
「Field Enrichment」タブをクリックし、「Add field enrichment」をクリックします。
-
「フィールド・エンリッチメントの追加」ダイアログ・ボックスで、「関数」に「置換」を選択します。
-
入力フィールド・セクションで:
-
置換する値を持つ「ログ・ソース・フィールド」(
URI
など)を選択します。 -
「照合する式」で、置換する必要があるフィールドの文字列に対して照合する正規表現を指定します。
-
入力フィールドの元の値のかわりに置換する必要がある置換文字列/式を指定します。
-
置換する文字列が複数回出現する場合は、「すべての一致の置換」チェック・ボックスを選択します。
-
-
「出力フィールド」セクションで、元の値が置換値で置換された後、入力フィールドの新しい値を格納する必要があるフィールドを選択します。
-
「フィールド・エンリッチメントの追加」をクリックします。
ソースでのラベルの使用
Oracle Logging Analyticsでは、定義済条件に基づいてログ・レコードにラベルやタグを追加できます。
定義した条件にログ・エントリが一致すると、そのログ・エントリにラベルが移入されます。そのラベルは、ログ・エクスプローラのビジュアライゼーションおよびログ・エントリの検索とフィルタに使用できます。
ソースではOracle定義ラベルまたはユーザー作成ラベルを使用できます。特定のログ・エントリをタグ付けするためのカスタム・ラベルを作成するには、ラベルの作成を参照してください。
-
既存のソースでラベルを使用するには、そのソースを編集します。「ソースの編集」ページを開くステップは、ソースの編集を参照してください。
-
「ラベル」タブをクリックします。
-
条件付きラベルを追加するには、「条件付きラベルの追加」をクリックします。
「条件」セクションで:
-
「入力フィールド」リストから、条件を適用するログ・フィールドを選択します。
-
「演算子」リストから演算子を選択します。
-
「条件値」フィールドで、ラベルを適用するために一致させる条件の値を指定します。
ノート
ログ・グループを入力フィールドとして追加するには、名前のかわりに値のOCIDを指定します。
-
条件を追加するには、「条件の追加」アイコンをクリックし、ステップ3aから3cを繰り返します。複数の条件に適用する論理演算を選択します。「AND」、「OR」、「NOT AND」または「NOT OR」から選択します。
条件のグループを追加するには、「グループ条件」アイコンをクリックし、ステップ3aから3cを繰り返して各条件を追加します。条件のグループには複数の条件が必要です。条件グループに適用する論理演算を選択します。「AND」、「OR」、「NOT AND」または「NOT OR」から選択します。
条件を削除するには、「条件の削除」アイコンをクリックします。
条件のリストを文の形式で表示するには、「条件サマリーの表示」をクリックします。
-
-
「アクション」で、使用可能なOracle定義ラベルまたはユーザー作成ラベルから選択します。必要に応じて、「ラベルの作成」をクリックして新しいラベルを作成できます。
「有効」チェック・ボックスを選択します。
-
「追加」をクリックします。
Oracle Logging Analyticsによって、ログ・エクスプローラで目的のラベルを検索できます。ラベルに定義されている任意のパラメータに基づいて検索できます。「検索」フィールドに検索文字列を入力します。検索ダイアログ・ボックスで検索基準を指定できます。「作成タイプ」で、目的のラベルがOracle定義であるかユーザー定義であるかを選択します。「入力フィールド」、「演算子」および「出力フィールド」フィールドで、使用可能なオプションから選択できます。検索に使用できる条件値または出力値を指定することもできます。「フィルタの適用」をクリックします
これで、作成したラベルに基づいてログ・データを検索できます。ラベルでログをフィルタを参照してください。
条件付きフィールドを使用したデータ・セットのエンリッチ
オプションで、任意のフィールドを選択してそれに値を記述する場合、条件付きフィールドを使用できます。条件付きフィールド機能を使用して任意のフィールドに値を移入することは、ルックアップを使用することとよく似ています。ただし、条件フィールドを使用すると、一致条件の柔軟性が向上するため、少数の条件(フィールド移入定義)を処理する場合に使用すると便利です。たとえば、フィールドに移入するための条件が少ない場合、条件付きフィールドを使用して、ルックアップの作成と管理を回避できます。
条件付きフィールドを追加するステップは、条件付きラベルを追加するための前述のワークフローのステップと似ています。
-
ステップ3で、「条件付きラベルの追加」をクリックするかわりに、「条件付きフィールドの追加」をクリックします。条件を選択するための残りのステップ3は、前述のワークフローと同じです。
-
前述のステップ4で、
-
「出力フィールド」で、すでに使用可能なOracle定義フィールドまたはユーザー作成フィールドをメニューから選択します。必要に応じて、「新規フィールドの作成」をクリックして新規フィールドを作成できます。
-
入力条件がtrueの場合に出力フィールドに書き込む出力値を入力します。
たとえば、ログ・レコードの入力フィールド
Method
の値がCONNECTに設定されている場合、Security Category
出力フィールドに出力値authentication.login
をアタッチするようにソースを構成できます。「有効」チェック・ボックスを選択します。
-
自動時間パーサーの使用
Oracle Logging Analyticsでは、ログ用のパーサーを作成するかわりに汎用パーサーを使用するようにソースを構成できます。これを行うと、Oracle Logging Analyticsで時間を識別できる場合、ログにはログ・エントリから解析されたログ時間のみが含まれます。
これは、ログを解析する方法またはログを解析するための正規表現を記述する方法がわからないため、未加工のログ・データを渡して分析を実行する場合に特に役立ちます。通常、パーサーでは、指定したタイプのログ・ファイルのログ・エントリからフィールドを抽出する方法を定義します。ただし、Oracle Logging Analyticsの汎用パーサーでは、次が可能です:
-
ログ・エントリからタイムスタンプおよびタイムゾーンを検出します。
-
ログ・エントリにタイムスタンプが含まれない場合は、現在時刻を使用してタイムスタンプを作成します。
-
ログ・エントリが複数行であるか単一行であるかを検出します。
-
タイムスタンプ:
-
ログ・エントリにタイムスタンプが含まれない場合、汎用パーサーは、ログ・データが収集された時間に基づいてタイムスタンプを作成および表示します。
-
ログ・レコードにタイムスタンプが含まれるが、タイムゾーンが定義されていない場合、汎用パーサーは、管理エージェントのタイムゾーンを使用します。
管理エージェントの使用時に、タイムゾーンが正しく検出されない場合、エージェント構成ファイルにタイムゾーンを手動で設定できます。ファイルのタイムゾーンおよび文字エンコーディングの手動指定を参照してください。
オンデマンド・アップロードを使用してログをアップロードする場合、そのアップロードとともにタイムゾーンを指定して、それを正しく検出できない場合に強制的にタイムゾーンを設定できます。CLIを使用する場合は、コマンドライン・リファレンス: ログ・アナリティクス - アップロードを参照してください。REST APIを使用する場合は、ログ・アナリティクスAPI - アップロードを参照してください。
-
ログ・ファイルに複数のタイムゾーンを使用するログ・レコードが含まれる場合、汎用パーサーでは、最大11個のタイムゾーンがサポートされます。
-
ログ・ファイルにタイムゾーンが含まれるログ・エントリと含まれないログ・エントリが表示される場合、汎用パーサーは、タイムゾーンが含まれないものに対して以前検出されたタイムゾーンを使用します。
-
管理エージェントを使用してログを収集する際に、タイムゾーンまたはタイムゾーン・オフセットがログ・レコードに指定されていない場合、Oracle Logging Analyticsは、OSの最終変更時間と最後のログ・エントリのタイムスタンプを比較して、適切なタイムゾーンを決定します。
-
-
複数行: ログ・エントリが複数行にまたがる場合、汎用パーサーは、複数行のコンテンツを正しく取得できます。