IBM Cloud Logs ログ構文解析ルール

解析ルールを使用してログデータを処理、解析、再構築し、監視と分析の準備をすることができます。 例えば、選択した情報の抽出、構造化されていないログの構造化、ログの不要な部分の削除などを行うことができます。 コンプライアンス上の理由からフィールドをマスクし、誤ったフォーマットのログを修正することができます。 ログの内容に基づいてログデータの取り込みをブロックするなど、さまざまなことができます。

IBM® Cloud Logsでは、 OpenSearchでデータが索引付けされる前に、構文解析ルールを使用してデータの構造を制御できます。

ルール・グループ

語句解析ルールは、 *「ルール・グループ」*内に編成されています。 各グループには、名前とルールのセットがあり、それらの間に論理関係があります。 ログは、ルール・グループの順序 (最初から最後まで) に従って処理されます。 その後、ルール・グループ内のルールの順序、およびルール・グループ間の論理演算子 (AND/OR) に従って処理されます。 ルールは、ログ・データを処理、解析、および再構成して、モニターおよび分析の準備をするのに役立ちます。 詳しくは、 ルール・グループの操作 を参照してください。

ルールのタイプ

以下の構文解析ルールを構成できます。

  • 構文解析 構文解析ルール・アイコン: 非構造化テキストを JSON 形式に変換します。

  • 抽出 「解析ルールの抽出」アイコン: ログ全体を解析せずに、JSON キーとして値を抽出します。

  • JSON の抽出 「JSON 抽出構文解析ルール」アイコン: JSON キーの値をメタデータ・フィールドに抽出します。

  • 「語句解析ルールの置換」アイコン: フィールドの値を固定ストリング値に置き換えて、ログ構造を修正したり、ログの重大度を変更したり、情報を難読化したりします。

  • ブロック 「ブロック構文解析ルール」アイコン: 正規表現式を使用して着信ログをドロップします。

  • 「タイム・スタンプ抽出」 「タイム・スタンプ構文解析ルール」アイコン: ログ・タイム・スタンプを、ログに含まれているタイム・スタンプに置き換えます。

  • 「フィールドの削除」 「構文解析ルールの削除」アイコン: 索引付きフィールドの数を減らすために、ログ内の JSON フィールドを削除します。

  • Stringify JSON フィールド JSON Stringify 語句解析ルール・アイコン: JSON フィールドを stringify JSON フィールドに変換して、索引付きフィールドの数を削減します。

  • 「JSON フィールドの解析」 「構文解析ルール」アイコン: エスケープされたフィールドまたはストリング化されたフィールドを JSON 形式に変換します。

元のログを変更するルール

これらのルールは、元のログ行を変更します。

  • 構文解析
  • タイム・スタンプ抽出
  • 置換
  • JSON フィールドの解析

元のログにさらにフィールドを追加するルール

これらの規則は、元のログ・データが維持されている間に、ログ行にフィールドを追加します。

  • JSON の抽出
  • 抽出

データをドロップするルール

これらのルールは、ログ行からデータを削除します。

  • ブロック
  • 削除
  • Stringify JSON フィールド (元のログを保持できるかどうか)

ルールの実行順序

ログが取り込まれると、最初に構成されたルールから順にルール・グループが適用されます。

最初にブロック・ルールを指定し、可能な場合はルール・マッチャーを使用して、ログの不要な処理を回避し、データ処理を高速化します。

ルール・グループ内:

  1. ルール・グループ・マッチャー照会が最初に適用されます。

    構成されているアプリケーション、サブシステム、および重大度に一致するログのみが、引き続き構文解析ルールを適用します。

  2. ルールは、ルールの後に OR 論理演算子が続くまで、最初のルールから順番に適用されます。

    ルールは即時に適用されるため、1 つのルールの出力が次のルールの入力になります。

    グループ内の OR および AND 演算子は、演算の数学的順序に従いません。

ルール・グループおよびルールの実行順序は重要であり、最終ログの構造を定義します。