ソースの作成
ソースは、エンティティのログの場所と、ログ・エントリをエンリッチする方法を定義します。OCI管理エージェントを介した継続的なログ収集を開始するには、ソースを1つ以上のエンティティに関連付ける必要があります。
より具体的な手順は次のとおりです。
- アプリケーション、インフラストラクチャ、データベースおよびその他の汎用ログの取込み
- syslogソースを作成します。「Syslogモニタリングの設定」を参照してください。
- データベース・インスタンス・ログ・ソースを作成します。詳細は、データベース・インスタンス・モニタリングの設定を参照してください。
- REST APIログ収集の設定
- Windowsイベント監視の設定
- Oracle Diagnostic Logging (ODL)形式のログの取込み
追加トピック:
ソースでのデータ・フィルタの使用
Oracle Log Analyticsでは、ログ・エントリに対する機密情報をマスクして非表示にしたり、ログ・データがクラウドへアップロードされる前にログ・エントリ全体を非表示にしたりできます。
ソースの編集または作成時に「データ・フィルタ」タブを使用して、IPアドレス、ユーザーID、ホスト名およびその他の機密情報を置換文字列でマスクしたり、ログ・エントリから特定のキーワードおよび値を削除したり、ログ・エントリ全体を非表示にしたりできます。
データ・フィルタは、ログ・ソースの作成時または既存のソースの編集時に追加できます。既存のログ・ソースの編集について学習するには、Oracle定義ソースのカスタマイズを参照してください。
オンデマンド・アップロードまたはオブジェクト・ストアからの収集を使用してログ・データがOracle Log Analyticsに送信される場合、データが索引付けされる前にクラウド側でマスキングが発生します。管理エージェントを使用してログを収集する場合、コンテンツがオンプレミスから離れる前にログがマスクされます。
トピック:
ログ・データのマスキング
マスキングとは、既存のテキストのセットを取得し、それを他の静的テキストに置き換えて元のコンテンツを非表示にするプロセスです。
ユーザー名やホスト名などの情報をログ・エントリからマスクする場合:
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「Log Analytics」で、「管理」をクリックします。
-
管理リソースが、左側のナビゲーション・ペインにある「管理」の下にリストされます。「ソース」をクリックします。
-
編集するソースの名前をクリックします。ソースの詳細ページが開きます。「カスタマイズ」をクリックしてソースを編集します。
-
「データ・フィルタ」タブをクリックし、「追加」をクリックします。
-
マスクの「名前」を入力し、「タイプ」として「マスク」を選択し、「検出式」の値とそれに関連する「置換式」の値を入力します。
検出式の値は、プレーン・テキスト検索または標準の正規表現です。検索式と一致するテキストは、ログ・エントリ全体で置換式に置き換えられます。
名前 検出式 置換式 マスク・ユーザー名 User=\SUser=confidentialマスク・ホスト Host=\S+Host=mask_hostノート
置換文字列の構文は、置換対象の文字列の構文と一致する必要があります。たとえば、数値を文字列で置き換えることはできません。
123.45.67.89という形式のIPアドレスは、000.000.000.000で置換できますが、000.000では置換できません。構文が一致しない場合、パーサーが中断する可能性があります。 -
「保存」をクリックします。
こののログ・ソースのマスクされたログ・エントリを表示すると、指定したフィールドの値がOracle Log Analyticsによってマスクされていることがわかります。
-
User = confidential
-
Host = 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とその値をログ・レコードから非表示にする場合:
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「Log Analytics」で、「管理」をクリックします。
-
管理リソースが、左側のナビゲーション・ペインにある「管理」の下にリストされます。「ソース」をクリックします。
-
編集するソースの名前をクリックします。ソースの詳細ページが開きます。「カスタマイズ」をクリックしてソースを編集します。
-
「データ・フィルタ」タブをクリックし、「追加」をクリックします。
-
フィルタの「名前」を入力し、「タイプ」として「文字列の削除」を選択し、「検出式」の値として
device_id=\S*などを入力します -
「保存」をクリックします。
このソースのログ・レコードを表示すると、指定したキーワードまたは値がOracle Log Analyticsによって削除されたことがわかります。
パーサー正規表現はログ・レコードのパターンと一致することを確認してください。それ以外の場合、Oracle Log 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が存在する場合は、ログ・エントリ全体を削除するとします:
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「Log Analytics」で、「管理」をクリックします。
-
管理リソースが、左側のナビゲーション・ペインにある「管理」の下にリストされます。「ソース」をクリックします。
-
編集するソースの名前をクリックします。ソースの詳細ページが開きます。「カスタマイズ」をクリックしてソースを編集します。
-
「データ・フィルタ」タブをクリックし、「追加」をクリックします。
-
フィルタの「名前」を入力し、「タイプ」として「ログ・エントリの削除」を選択し、「検出式」の値として
.*device_id=.*などを入力します正規表現がログ・エントリ全体に一致することが重要です。正規表現の前後に
.*を使用すると、ログ・エントリ内の他のすべてのテキストと一致するようになります。 -
「保存」をクリックします。
こののログ・ソースのログ・エントリを表示すると、文字列device_idを含むすべてのログ・エントリがOracle Log Analyticsによって削除されたことがわかります。
ソースの作成時にデータ・フィルタを追加する以外に、既存のソースを編集してデータ・フィルタを追加することもできます。既存のソースの編集について学習するには、Oracle定義ソースのカスタマイズを参照してください。
ソースでの拡張フィールドの使用
Oracle Log Analyticsの拡張フィールド機能では、パーサーが解析したフィールドに加えて、ログ・レコードから追加フィールドを抽出します。
ソース定義では、ログ・ファイルをログ・レコードに分割し、各ログ・レコードを一連のベース・フィールドに分割できるパーサーが選択されます。これらのベース・フィールドは、すべてのログ・レコードで一貫している必要があります。ベース・パーサーは、ログ・レコードから共通フィールドを抽出します。ただし、ログ・レコード・コンテンツから追加フィールドを抽出する必要がある場合は、拡張フィールド定義を使用できます。たとえば、ログ・レコードの共通フィールドの末尾にあるすべてのテキストを解析し、Messageというフィールドに格納するように、パーザーを定義できます。
更新されたソースを使用してログを検索すると、拡張フィールドの値が、ベース・パーサーによって抽出されたフィールドとともに表示されます。
ログ・グループを入力フィールドとして追加するには、名前のかわりにその値のOCIDを指定します。
パーサーを作成するのではなく、ソース定義で「時間のみ自動解析」オプションを使用する場合、拡張フィールド定義の作成に使用できるフィールドは、「元のログ・コンテンツ」フィールドのみです(その他のフィールドはパーサーによって移入されないため)。自動時間パーサーの使用を参照してください。
Oracle Log Analyticsによって、目的の拡張フィールドを検索できます。作成方法、ベース・フィールドのタイプ、またはフィールドのサンプル・コンテンツに基づいて検索できます。「検索」フィールドにサンプル・コンテンツを入力するか、検索ダイアログ・ボックスの下矢印をクリックします。検索ダイアログ・ボックスの「作成タイプ」で、目的の拡張フィールドがOracle定義であるかユーザー定義であるかを選択します。「ベース・フィールド」で、使用可能なオプションから選択できます。検索に使用できるサンプル・コンテンツまたは抽出フィールド式を指定することもできます。「フィルタの適用」をクリックします。
表9-1サンプル・コンテンツおよび拡張フィールド抽出式の例
| 説明 | ベース・フィールド | サンプル・コンテンツ | 拡張フィールド抽出式 |
|---|---|---|---|
| Fusion Middlewareアクセス・ログ・ファイルのURIフィールドからエンドポイント・ファイルの拡張子を抽出するには |
|
|
これにより、jpgやhtmlなどのファイル接尾辞が抽出され、その値がContent Typeフィールドに格納されます。式にリストされている接尾辞のみが抽出対象です。 |
|
ログ・エンティティのファイル・パスからユーザー名を抽出するには |
|
|
|
|
Messageフィールドから開始時間を抽出するには ノート: イベント開始時間は、Timestampデータ型フィールドです。これがnumericデータ型フィールドの場合、開始時間はタイムスタンプではなく、単に数値として格納されます。 |
|
|
|
|
ソース: パーサー名: |
|
|
|
|
ソース: パーサー名: |
|
|
|
|
ソース: パーサー名: |
|
|
|
|
ソース: パーサー名: |
|
|
|
フィールド・エンリッチメント・オプションの構成
Oracle Log Analyticsでは、フィールド・エンリッチメント・オプションを構成して、拡張フィールド・データから意味のある情報をさらに抽出して表示できます。
フィールド・エンリッチメント・オプションの1つに「Geolocation」があります。これは、ログ・レコード内のIPアドレスまたは場所座標を国または国コードに変換します。これは外部クライアントIPアドレスを持つWeb Access Logsなどのログ・ソースに使用できます。
「ルックアップ」フィールド・エンリッチメント・オプションを使用すると、ログから外部ルックアップ表にフィールドと値の組合せを照合できます。
「追加フィールド」オプションを使用して、ログ・エントリに追加情報を含めます。この情報は、処理時に各ログ・エントリに追加されます。
フィールドの文字列/式を代替式で置換し、結果を出力フィールドに格納するには、「置換」オプションを使用します。
-
1つのソースに対して、それぞれ異なるタイプの最大3つのフィールド・エンリッチメントを定義できます。
-
ログ・グループを入力フィールドとして追加するには、名前のかわりにその値のOCIDを指定します。
ソースでの収集時間参照の使用
「参照フィールド・エンリッチメント」オプションを複数回設定することで、複数の参照からデータを追加できます。参照フィールド・エンリッチメントは、作成と同じ順序で処理されます。そのため、キーが重複する関連参照があり、各参照の処理によるエンリッチメントの追加に役立つ場合は、「参照フィールド・エンリッチメント」定義の入出力選択に重複するキーを含めてください。複数の関連参照を使用してログ・データをエンリッチする例は、「複数の参照フィールド・エンリッチメントの追加の例」を参照してください。
参照フィールド・エンリッチメントを追加するステップ
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「Log Analytics」で、「管理」をクリックします。
管理リソースが、左側のナビゲーション・ペインにある「管理」の下にリストされます。「ソース」をクリックします。
「ソース」ページが開きます。「ソースの作成」をクリックします。
または、編集するソース・エントリの横にある「アクション」メニュー・アイコン
をクリックし、「カスタマイズ」を選択します。「ソースのカスタマイズ」ページが表示されます。
ノート
パーサーがソース定義ページで選択され、フィールド・エンリッチメントの「追加」ボタンが有効になっていることを確認してください。
-
「フィールド・エンリッチメント」タブをクリックし、「追加」をクリックします。
「フィールド・エンリッチメントの追加」ダイアログ・ボックスが開きます。
-
「フィールド・エンリッチメントの追加」ダイアログ・ボックスで、
- ルックアップが配置されているコンパートメントを選択します。
- 「ファンクション」として「ルックアップ」を選択します。
- ドロップダウン・メニューから「ルックアップ表名」を選択します。
- 「入力フィールド」で、「ルックアップ表の列」およびマップ先の「ログ・ソース・フィールド」を選択します。これにより、ルックアップ表のキーを、「ログ・ソース・フィールド」のパーサーによって移入されるフィールドにマップします。たとえば、ルックアップ表の
errid列をログのError IDフィールドにマップできます。「ログ・ソース・フィールド」の入力フィールドのリストは、ログ・ソースによって移入されるフィールドに制限されます。
- 「アクション」で、新しいログ・ソース・フィールドおよびマップ先のルックアップ表の列でフィールド値を選択します。前述の入力マッピングに基づいて、指定されたルックアップ表で一致するレコードが見つかった場合、「ログ・ソース・フィールド」で指定された出力フィールドが、「フィールド値」で指定された出力ルックアップカラムの値を使用してログに追加されます。たとえば、ルックアップ表の
erraction列をActionフィールドにマップできます。オプションで、「+別のアイテム」をクリックして、さらに出力フィールドをマップします。
- 「フィールド・エンリッチメントの追加」をクリックします。
これで、ルックアップがフィールド・エンリッチメント表に追加されます。
-
「有効」チェック・ボックスは選択したままにします。
-
参照を追加するには、ステップ3および4を繰り返します。
収集時間ルックアップ・フィールド・エンリッチメントを作成したログ・ソースのログ・レコードを表示すると、「出力フィールド」に、ログ・エントリに対して移入された値が表示されます(フィールド・エンリッチメントの作成に使用したルックアップ表参照であるため)。ルックアップの管理を参照してください。
複数の参照フィールド・エンリッチメントの追加の例
1つのソースに最大3つの参照フィールド・エンリッチメントを追加できます。個々の参照は、相互に関連する場合とそうでない場合があります。
次の例では、3つの参照すべてからの情報でログ・データをエンリッチできるように、3つの関連参照を設定する方法を示します。複数のホストに関する情報を含む次の3つの関連参照について考えてみます。
Lookup1: SystemConfigLookup
| シリアル番号 | 製造業者 | オペレーティング・システム | メモリー | プロセッサ・タイプ | ディスク・ドライブ | ホストID |
|---|---|---|---|---|---|---|
| セル番号01 | Manuf1 | OS1 | 256TB | Proc1 | ハード・ドライブ | 1001 |
| セル番号02 | Manuf2 | OS2 | 7.5TB | Proc3 | ソリッドステートドライブ | 1002 |
| セル番号03 | Manuf2 | OS3 | 16TB | Proc2 | ソリッドステートドライブ | 1003 |
| セル番号-04 | Manuf3 | OS1 | 512TB | Proc5 | ハード・ドライブ | 1004 |
| セル番号-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アドレス | サブネット・マスク | Gateway | 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.
ログをグループ化するための「位置情報」フィールドの使用
「Geolocation」フィールド・エンリッチメントを設定すると、その後ログ・レコードは国または国コードでグループ化されて表示できるようになります。これは、アクセス・ログ、トレース・ログ、アプリケーション・トランスポート・ログなど、IPアドレスや場所座標などの重要な場所情報を含むログを分析する場合に便利です。
処理時のログ・エントリへのデータの追加
各エントリに、追加のメタデータとして詳細情報を含めることもできます。この情報はログ・エントリの一部ではありませんが、コンテナID、ノードなど、処理時に追加されます。オンデマンドでのログのアップロード中にメタデータを追加する例は、「オンデマンドでのログのアップロード」を参照してください。
したがって、追加された情報はログ・エクスプローラに直接表示されない場合があります。ログ分析のためにログ・エクスプローラで表示されるようにするには、次のステップを実行します。
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「Log Analytics」で、「管理」をクリックします。
管理リソースが、左側のナビゲーション・ペインにある「管理」の下にリストされます。「ソース」をクリックします。
「ソース」ページが開きます。編集するソース・エントリの横にある「アクション」メニュー・アイコン
をクリックして、「カスタマイズ」を選択します。「ソースのカスタマイズ」ページが表示されます。
ノート
パーサーがソース定義ページで選択され、フィールド・エンリッチメントの「追加」ボタンが有効になっていることを確認してください。
-
「フィールド・エンリッチメント」タブをクリックし、「追加」をクリックします。
「フィールド・エンリッチメントの追加」ダイアログ・ボックスが開きます。
-
「フィールド・エンリッチメントの追加」ダイアログ・ボックスで、
- 「追加フィールド」を「関数」として選択します。
- 「フィールドのマップ」で、ソースにマップするフィールドを選択します。このソースに関連付けられたパーサーで選択されたフィールドは、ここでは使用できません。
- 「追加」をクリックします。
追加フィールドを指定すると、ログ分析のためにログ・エクスプローラに表示されます。また、ソースの拡張フィールドまたはラベルを構成するときに選択することもできます。
フィールド内の式を置換するための置換関数の使用
ログ処理中に、フィールド値の一部を代替文字列または式で置換する場合は、置換関数を使用して、フィールドの結果の式を別の出力フィールドに格納します。
フィールド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アドレスを持つすべてのログ・レコードをフィルタできるようになりました。
-
ナビゲーション・メニューを開き、「監視および管理」をクリックします。「Log Analytics」で、「管理」をクリックします。
管理リソースが、左側のナビゲーション・ペインにある「管理」の下にリストされます。「ソース」をクリックします。
「ソース」ページが開きます。「ソースの作成」をクリックします。
または、編集するソース・エントリの横にある「アクション」メニュー・アイコン
をクリックし、「カスタマイズ」を選択します。「ソースのカスタマイズ」ページが表示されます。
-
ソースの名前と適切な説明を入力し、ソース・タイプを選択します。ログの解析に使用する必要があるパーサーを選択します。これらの選択によって、フィールド・エンリッチメントに使用できるフィールドが決まります。
-
「フィールド・エンリッチメント」タブをクリックし、「フィールド・エンリッチメントの追加」をクリックします。
-
フィールド・エンリッチメントの追加ダイアログ・ボックスで、「関数」として「置換」を選択します。
-
「入力フィールド」セクションで:
-
置換する値を持つ「ログ・ソース・フィールド」(
URIなど)を選択します。 -
「照合する式」で、置換する必要があるフィールドの文字列と一致する正規表現式を指定します。
-
入力フィールドの元の値のかわりに置換する必要がある置換文字列/式を指定します。
-
置換する文字列がフィールドに複数存在する場合は、「すべての一致の置換」チェック・ボックスを選択します。
-
-
「出力フィールド」セクションで、元の値を置換値で置換した後で、入力フィールドの新しい値を格納する必要があるフィールドを選択します。
-
「フィールド・エンリッチメントの追加」をクリックします。
ソースでのラベルの使用
Oracle Log Analyticsでは、定義済条件に基づいてログ・レコードにラベルやタグを追加できます。
定義した条件にログ・エントリが一致すると、そのログ・エントリにラベルが移入されます。そのラベルは、ログ・エクスプローラのビジュアライゼーションおよびログ・エントリの検索とフィルタに使用できます。
ソースではOracle定義ラベルまたはユーザー作成ラベルを使用できます。特定のログ・エントリをタグ付けするためのカスタム・ラベルを作成するには、ラベルの作成を参照してください。
-
既存のソースでラベルを使用するには、そのソースを編集します。「ソースのカスタマイズ」ページを開くステップは、ソース編集を参照してください。
-
「ラベル」タブをクリックします。
-
条件付きラベルを追加するには、「条件付きラベルの追加」をクリックします。
「条件」セクションで、次を実行します:
-
「入力フィールド」リストから、条件を適用するログ・フィールドを選択します。
-
Select the operator from the Operator list
Contains,Contains Ignore Case,Contains Regex,Contains one of Regexes,Ends With,Equal,Equal Ignore Case,In,In Ignore Case,Is Null,Not Contains,Not Equal,Not In,Not Null, andStarts With. -
「条件値」フィールドで、ラベルを適用するために一致させる条件の値を指定します。
ノート
ログ・グループを入力フィールドとして追加するには、名前のかわりにその値のOCIDを指定します。
-
条件を追加するには、「条件の追加」アイコン
をクリックし、ステップ3aから3cを繰り返します。複数の条件に適用する論理操作を選択します。「AND」、「OR」、「NOT AND」または「NOT OR」から選択します。
条件のグループを追加するには、「グループ条件」アイコン
をクリックし、ステップ3aから3cを繰り返して各条件を追加します。条件のグループには複数の条件が必要です。条件グループに適用する論理操作を選択します。「AND」、「OR」、「NOT AND」または「NOT OR」から選択します。
条件を削除するには、「条件の削除」アイコン
をクリックします。
文の形式で条件のリストを表示するには、「条件サマリーの表示」をクリックします。
-
-
「アクション」で、使用可能なOracle定義またはユーザー作成ラベルから選択します。必要に応じて、「ラベルの作成」をクリックして新しいラベルを作成できます。
「有効」チェック・ボックスを選択します。
-
「追加」をクリックします。
Oracle Log Analyticsによって、ログ・エクスプローラで探しているラベルを検索できます。ラベルに定義されている任意のパラメータに基づいて検索できます。「検索」フィールドに検索文字列を入力します。検索ダイアログ・ボックスで検索基準を指定できます。「作成タイプ」で、目的のラベルがOracle定義であるかユーザー定義であるかを選択します。「入力フィールド」、「演算子」および「出力フィールド」フィールドで、使用可能なオプションから選択できます。検索に使用できる条件値または出力値を指定することもできます。「フィルタの適用」をクリックします。
これで、作成したラベルに基づいてログ・データを検索できます。ラベルでログをフィルタを参照してください。
条件フィールドを使用したデータ・セットのエンリッチ
オプションで、任意のフィールドを選択してそれに値を書き込む場合、条件付きフィールドを使用できます。条件付きフィールド機能を使用して任意のフィールドに値を移入することは、ルックアップを使用することとよく似ています。ただし、条件付きフィールドを使用すると、一致条件の柔軟性が高まるため、少数の条件の(フィールド移入定義)を処理する場合に使用すると便利です。たとえば、フィールドに移入するための条件が少ない場合、条件フィールドを使用して、ルックアップの作成と管理を回避できます。
条件付きフィールドを追加するステップは、条件付きラベルを追加するための前述のワークフローのステップと似ています。
-
ステップ3で、「条件ラベルの追加」をクリックするかわりに、「条件フィールドの追加」をクリックします。条件を選択するステップ3の残りの部分は、前述のワークフローと同じままです。
-
上記のステップ4で、
-
「出力フィールド」で、使用可能なOracle定義またはユーザー作成のフィールドをメニューから選択します。必要に応じて、「新規フィールドの作成」をクリックして、新規フィールドを作成できます。
-
入力条件がtrueの場合に出力フィールドに書き込む「出力値」を入力します。
たとえば、ログ・レコードの入力フィールド
Methodの値がCONNECTに設定されている場合、Security Category出力フィールドに出力値authentication.loginをアタッチするようにソースを構成できます。「有効」チェック・ボックスを選択します。
-
自動時間パーサーの使用
Oracle Log Analyticsでは、ログ用のパーサーを作成するかわりに汎用パーサーを使用するようにソースを構成できます。これを行う場合、Oracle Log Analyticsで時間を識別できる場合、ログにはログのエントリから解析されたのログ時間のみが表示されます。
これは、ログを解析する方法またはログを解析するための正規表現を記述する方法がわからないため、未加工のログ・データを渡して分析を実行する場合に特に役立ちます。通常、パーサーでは、指定したタイプのログ・ファイルのログ・エントリからフィールドを抽出する方法を定義します。ただし、Oracle Log Analyticsの汎用パーサーは次の操作ができます。
-
ログ・エントリからタイムスタンプおよびタイムゾーンを検出します。
-
ログ・エントリにタイムスタンプが含まれない場合は、現在時刻を使用してタイムスタンプを作成します。
-
ログ・エントリが複数行であるか単一行であるかを検出します。
-
タイムスタンプ:
-
ログ・エントリにタイムスタンプが含まれない場合、汎用パーサーは、ログ・データが収集された時間に基づいてタイムスタンプを作成および表示します。
-
ログ・レコードにタイムスタンプが含まれるが、タイムゾーンが定義されていない場合、汎用パーサーは、管理エージェントのタイムゾーンを使用します。
管理エージェントの使用時に、タイムゾーンが正しく検出されない場合、エージェント構成ファイルにタイムゾーンを手動で設定できます。ファイルのタイムゾーンおよび文字エンコーディングの手動指定を参照してください。
オンデマンド・アップロードを使用してログをアップロードする場合、そのアップロードとともにタイムゾーンを指定して、それを正しく検出できない場合に強制的にタイムゾーンを設定できます。CLIを使用する場合は、コマンドライン・リファレンス: Log Analytics - アップロードを参照してください。REST APIを使用する場合は、Log Analytics API - アップロードを参照してください。
-
ログ・ファイルに複数のタイムゾーンを使用するログ・レコードが含まれる場合、汎用パーサーでは、最大11個のタイムゾーンがサポートされます。
-
ログ・ファイルにタイムゾーンが含まれるログ・エントリと含まれないログ・エントリが表示される場合、汎用パーサーは、タイムゾーンが含まれないものに対して以前検出されたタイムゾーンを使用します。
-
管理エージェントを使用してログを収集する際に、タイム・ゾーンまたはタイムゾーン・オフセットがログ・レコードに指定されていない場合、Oracle Log Analyticsは、OSの最終変更時間と最後のログ・エントリのタイムスタンプを比較して、適切なタイムゾーンを決定します。
-
-
複数行: ログ・エントリを複数行にまたがると、汎用パーサーは複数行のコンテンツを正しく取得できます。
