extract
extract
コマンドを使用して、正規表現によって既存のフィールドの抜粋を取得します。このコマンドは、正規表現グループに指定された名前を使用して、仮想フィールドに結果の抜粋を取得します。
-
extract
コマンドは、Original Log Contentフィールドでは実行できません。指定しない場合、デフォルト・フィールドはMessageです。「元のログ・コンテンツ」フィールドの値で
extract
コマンドを使用できるようにするには、最初に「元のログ・コンテンツ」フィールドを文字列フィールドにコピーしてから、新しい文字列フィールドでextract
を実行します。 -
extract
などの文字列処理コマンドはリソースを大量に消費します。このため、多数のログ・レコードに対してextract
コマンドを実行するか、大きいフィールド値を指定することはお薦めしません。かわりに、ログ・ソースの拡張フィールド定義(EFD)またはラベルを使用してこれらの値を抽出します。
構文
extract field = <field_to_parse> (<regular_expression>)
パラメータ
次の表に、このコマンドで使用されるパラメータとその説明を示します。
パラメータ | 説明 |
---|---|
|
正規表現を使用して解析する必要があるフィールドを指定します。 |
|
既存のフィールドの解析に使用する正規表現を指定します。 正規表現構成のフォーマットは、RE2Jパターン一致に準拠している必要があり、少なくとも1つの名前付き取得グループが含まれている必要があります。正規表現構文を参照してください。 |
次のコマンドは、エンティティ・フィールドのコンテンツを2つの部分に分割します。たとえば、パターンを持つエンティティ値host-phx-1.oci.oraclecloud.com
は、HostおよびDomainという2つの仮想フィールドに分割され、その値はhost-phx-1
およびoci.oraclecloud.com
です。
* | extract field = Entity '(?P<Host>\w+)\.?(?P<Domain>.*)'
次のコマンドは、ErrorInfo
フィールドの接尾辞を含むErrorCodeという新しい仮想フィールドを作成します。これは、ルックアップ表Error Ids
のキーとして使用できます。これを使用して、ルックアップ表の説明および修正ステップを検索し、各エラーの発生回数と修正方法の表形式のサマリーを取得できます。
'Log Source' like '%database%'
| extract field = ErrorInfo 'ora-(?P<ErrorCode>.*)'
| lookup table="error ids" select error_description,
error_remediation using error_id = ErrorCode
| stats count, unique(error_description),
unique(error_remediation) by ErrorInfo