ログ処理ルールでデータを変換する 🔗
注釈
Splunk Observability Cloud の Splunk Log Observer エンタイトルメントをお持ちのお客様は、2023年12月までに Log Observer から Log Observer Connect に移行する必要があります。Log Observer Connect を使用すると、より多様なデータソースからより多くのログをインジェストし、より高度なログパイプラインを利用し、セキュリティロギングに拡張できます。その方法については、Splunk Log Observer の移行 を参照してください。
プロセッサーとしても知られるログ処理ルールを作成することにより、生ログに価値を追加し、データまたはデータのサブセットが到着したときに変換します。プロセッサーの制御を強化するために、プロセッサーが適用されるログを決定するフィルターを追加することができます。
Splunk Observability Cloud で Splunk Log Observer 権限を持つ顧客のみが、Splunk Log Observer パイプラインを使用してログ処理ルールを作成または管理できます。これらのお客様は Log Observer Connect に移行する必要があります。
Log Observer Connectへの移行後 🔗
Log Observer Connectに移行すると、ログ処理ルールの機能が変更されます。移行時に、既存のログ処理ルールを引き続き使用できます。既存のログ処理ルールをオフにしたりオンにしたりできます。ただし、新しいログ処理ルールを作成したり、既存のルールを編集したりすることはできません。
Log Observer Connect への移行後は、以下の方法で Splunk プラットフォームのデータを処理できます:
処理方法 |
ドキュメント |
---|---|
フィールド抽出 |
フィールド抽出器を使ったフィールド抽出の構築 を参照してください。 |
インジェストアクション |
|
.conf 設定 |
イベント処理の概要 を参照してください。 |
Edge プロセッサー |
エッジプロセッサーの解決策について を参照してください。 |
データストリームプロセッサー |
データストリームプロセッサーの使用 を参照してください。 |
プリパッケージ処理ルール 🔗
プリパッケージ処理ルールは、処理ルールリストの先頭に表示され、ロックアイコンが付いています。これらのプリパッケージ処理ルールは、常にあなたが定義した処理ルールの前に実行されます。プリパッケージ処理ルールを変更したり、並べ替えたりすることはできません。
プリパッケージされた処理ルールの一例として、Level
から severity
にアトリビュートされた Remapper があります。
Splunk Observability Cloud には、Kubernetes と Cassandra 用のパッケージ化された処理ルールが含まれています。
Splunk Observability Cloud provides three types of log processing rules:
フィールド抽出プロセッサー フィールドと値を抽出することにより、ログデータのサブセットを作成します。
フィールドコピープロセッサー ログレコードのあるフィールドから新しいレコードの異なるフィールド名へフィールド値を移動することにより、ログデータのセットを作成します。
フィールドリダクションプロセッサー 個人を特定できる情報を隠すためにデータを再編集します。
ログのパイプラインルールの実行順序 🔗
ログのパイプラインルールは以下の順序で実行される:
すべてのログ処理ルール(フィールド抽出、フィールドコピー、フィールド再編集プロセッサー)
すべてのログメトリクス化ルール
すべての無限ロギングルール
ログ処理ルールが最初に実行されるため、フィールド抽出ルールを作成してから、結果のフィールドをログメトリクス化ルールまたは無限のロギングルール、またはその両方で使用することができます。詳細については、ログのパイプラインルールのシーケンス を参照してください。
フィールド抽出プロセッサー 🔗
フィールド抽出を使用すると、受信ログ内の既存のフィールドを見つけ、フィールドの値の形式に基づいてプロセッサーを作成することができます。
フィールド抽出は、以下の作業に役立ちます:
抽出されたフィールドに基づいてログをフィルタリングします。フィルタリングの詳細については、キーワードやフィールドでログを検索する を参照してください。
抽出されたフィールドの集計。詳しくは ログ集計を使用してフィールドごとにログをグループ化する を参照してください。
次のような生のログ記録を検討する
10.4.93.105 - - [04/Feb/2021:16:57:05 +0000] 「GET /metrics HTTP/1.1」 200 73810 「-」 「Go-http-client/1.1」 23
ログのパイプラインにプロセッサーを定義していない場合、サンプルログではキーワード検索しかできません。キーワード検索では、_raw
フィールドを検索します。次の表は、処理ルールを定義するためにフィールドを抽出する方法を示しています:
抽出する値の例 |
使用するプロセッサーの定義 |
---|---|
IPアドレス (10.4.93.105) |
IP |
04/Feb/2021:16:57:05 +0000 |
時間 |
GET |
方法 |
/metrics |
path |
正規表現とイベント時間フィールドの抽出を作成することで、フィールドのフィルタリングと集計が可能になります:IP、時間、メソッド、パスです。これにより、」Display a Visual Analysis of the number of requests from {IP}breakdownby{method}」というクエリを作成できます。
さらに、抽出されたフィールドは、そのトップ値やその他の統計情報とともに、フィールドサマリーパネルに表示され始めます。
フィールド抽出には3つのタイプがあります。これらは以下の通りです:
正規表現プロセッサー
JSONプロセッサー
イベントタイムプロセッサー
KVパーサープロセッサー
フィールド抽出の作成を開始するには、以下の手順に従います:
ナビゲーションメニューから、Data Configuration > Logs Pipeline Management に進む。既存のプロセッサーのリストが表示され、パッケージ化されたプロセッサーが最初に表示されます。
New Processing Rule をクリックします。
または、Log Observerからプロセッサーウィザードを起動することもできます。これを行うには、ログテーブルのログをクリックします。Log Details パネルが右側に表示されます。フィールド値をクリックし、 を選択します。これで、プロセッサーウィザードの2番目のステップである Define Processor に進みます。ステップ7にスキップします。
プロセッサータイプとして Continue をクリックします。プロセッサーウィザードの最初のステップである が表示されます。
を選択し、抽出したいフィールドを含むログを絞り込むには、タイムピッカーから時間を選択するか、Add Filter をクリックしてキーワードやフィールドを追加します。
必要なフィールドを含むログをクリックします。ログ行の下にフィールドと値のリストが表示されます。
抽出したいフィールドの横にある Use as sample をクリックし、次に Next をクリックします。プロセッサーウィザードの第2ステップである Define Processor が表示されます。
使用する抽出プロセッサーのタイプを選択します。
ここから、選択した抽出プロセッサータイプを作成する手順に従ってください:
正規表現プロセッサーの作成 🔗
正規表現ワークスペースでは、データからフィールドを抽出し、正規表現を使用して新しいプロセッサーを作成できます。パイプライン管理は、プロセッサーに適切な正規表現を記述するための提案を行います。正規表現は、プロセッサーウィザード内で変更できます。
正規表現プロセッサーを作成するには、以下の手順に従います:
サンプルの抽出したいフィールドの値をハイライトし、ドロップダウンメニューから
を選択します。フィールド名ボックスをクリックし、選択したフィールドの名前を入力します。デフォルト名は
Field1
です。結果が表に表示されます。フィールド名と値に基づいてこのルールを作成するためにプロセッサーが自動生成した正規表現を変更したい場合は、フィールド名ボックスの下にある`正規表現を編集する` をクリックします。
テーブルでルールをプレビューし、正しいフィールドが抽出されていることを確認します。
受信ログのサブセットのみに新しいルールを適用するには、コンテンツコントロールバーにフィルターを追加します。新しいルールは、このフィルターに一致するログにのみ適用されます。
プロセッサーウィザードのステップ3( Name, Save, and Review )で、新しいルールに名前と説明を付けます。
設定の選択を確認し、Save をクリックします。プロセッサーはデフォルトで Active になり、直ちに受信ログの処理を開始します。
新しいプロセッサーを見るには、Data Configuration > Logs Pipeline Management にアクセスし、Processing Rules セクションを展開し、リストの中から見つけてください。プリパッケージされているプロセッサー(ロックが表示されている)以外のすべてのプロセッサーを、並べ替え、編集、または削除することができます。プロセッサーを無効にするには、Inactive をクリックします。
JSONプロセッサーを作成する 🔗
JSONプロセッサーを作成するには、以下の手順に従ってください:
受信ログのサブセットのみに新しいルールを適用するには、Add Filter をクリックし、キーワードまたはフィールドを追加します。新しいルールは、このフィルターに一致するログにのみ適用されます。パイプライン管理は、このフィルターに一致するログイベントにのみ新しいプロセッサーを適用します。
ルールをプレビューして、パイプライン管理が正しいフィールド値を抽出していることを確認します。
結果テーブルに正しいフィールド値が表示されたら、Next をクリックします。そうでない場合は、フィルターを調整してください。
新しいルールの名前と説明を追加し、Save をクリックします。プロセッサーはデフォルトで Active になり、受信ログの処理を直ちに開始します。
新しいプロセッサーを見るには、Data Configuration > Logs Pipeline Management にアクセスし、Processing Rules セクションを展開し、リストの中から見つけてください。プリパッケージされているプロセッサー(ロックが表示されている)以外のすべてのプロセッサーを、並べ替え、編集、または削除することができます。プロセッサーを無効にするには、Inactive をクリックします。
イベントタイムプロセッサーを作成する 🔗
イベントタイムプロセッサーを作成するには、以下の手順に従ってください:
ドロップダウンリストから時間フォーマットを選択します。ウィザードはサンプル内で選択されたフォーマットを検索します。
表示されたマッチから、サンプルイベントが発生した時刻を選択し、Next をクリックします。
コンテンツコントロールバーにフィルターを追加して、一致する条件を定義し、Next をクリックします。パイプライン管理は、このフィルターに一致するログイベントにのみ新しいプロセッサーを適用します。
新しいルールに名前と説明をつけます。
設定の選択を確認し、Save をクリックします。プロセッサーはデフォルトで Active になり、直ちに受信ログの処理を開始します。
新しいプロセッサーを見るには、Data Configuration > Logs Pipeline Management にアクセスし、Processing Rules セクションを展開し、リストの中から見つけてください。プリパッケージされているプロセッサー(ロックが表示されている)以外のすべてのプロセッサーを、並べ替え、編集、または削除することができます。プロセッサーを無効にするには、Inactive をクリックします。
KVパーサープロセッサーを作成する 🔗
KVパーサープロセッサーは、キーと値(KV)のペアを解析するルールです。KVパーサープロセッサーを作成するには、以下の手順に従います:
受信ログのサブセットのみに新しいルールを適用するには、Add Filter をクリックし、キーワードまたはフィールドを追加します。新しいルールは、このフィルターに一致するログにのみ適用されます。
ルールをプレビューして、パイプライン管理が正しいフィールド値を抽出していることを確認します。
結果テーブルに正しいフィールド値が表示されたら、Next をクリックします。そうでない場合は、フィルターを調整してください。
新しいルールの名前と説明を追加し、Save をクリックします。プロセッサーはデフォルトで Active になり、受信ログの処理を直ちに開始します。
新しいプロセッサーを見るには、Data Configuration > Logs Pipeline Management にアクセスし、Processing Rules セクションを展開し、リストの中から見つけてください。プリパッケージされているプロセッサー(ロックが表示されている)以外のすべてのプロセッサーを、並べ替え、編集、または削除することができます。プロセッサーを無効にするには、Inactive をクリックします。
フィールドコピープロセッサー 🔗
フィールドコピープロセッサーを使えば、新しいフィールドや既存のフィールドの間に新しいリレーションを定義することができます。フィールドコピープロセッサーを使う一つの方法は、OpenTelemetry マッピングを使い、関連コンテンツ の提案を支援することです。
フィールドコピープロセッサーを作成するには、以下の手順に従います:
ナビゲーションメニューから、
に移動します。New Processing Rule をクリックします。
Continue をクリックします。
を選択し、最初のテキストボックスに対象フィールドを入力します。ドロップダウンリストで、利用可能な抽出フィールドから選択できます。
2番目のテキストボックスで、ターゲットフィールドをマッピングするフィールドを選択します。ドロップダウンリストのオプションはOpenTelemetryマッピングを提案します。
複数のマッピングを作成したい場合は、+ Add another field copying rule をクリックし、ステップ4と5を繰り返します。そうでない場合は、Next をクリックします。
受信ログのサブセットのみに新しいルールを適用するには、コンテンツコントロールバーにフィルターを追加します。新しいルールは、このフィルターに一致するログにのみ適用されます。フィルターを追加しない場合、ルールはすべての受信ログイベントに適用されます。
ルールをプレビューして、パイプライン管理が正しいフィールド値を抽出していることを確認し、Next をクリックします。
新しいルールに名前と説明を付け、Save をクリックします。プロセッサーはデフォルトで Active になり、受信ログの処理を直ちに開始します。
新しいプロセッサーを見るには、Data Configuration > Logs Pipeline Management にアクセスし、Processing Rules セクションを展開し、リストの中から見つけてください。プリパッケージされているプロセッサー(ロックが表示されている)以外のすべてのプロセッサーを、並べ替え、編集、または削除することができます。プロセッサーを無効にするには、Inactive をクリックします。
フィールド再編集プロセッサー 🔗
フィールドの再編集では、個人を特定できる情報を含むデータをマスクすることができます。
フィールド再編集プロセッサーを作成するには、以下の手順に従ってください:
ナビゲーションメニューから、
に移動します。New Processing Rule をクリックします。
Continue をクリックします。プロセッサーウィザードの最初のステップに移動します。Sample を選択します。
を選択し、編集したいフィールドを含むログを見つけるには、コンテンツコントロールバーにフィルターを追加し、ログテーブルに目的のフィールドを含むログが表示されるようにします。
必要なフィールドを含むログをクリックします。ログ行の下にフィールドと値のリストが表示されます。
編集したいフィールドの横にある Use as sample をクリックし、次に Next をクリックします。これで、プロセッサーウィザードの第2ステップ、Define Processor に進みます。
フィールド値全体を再編集するか、フィールド値の一部を再編集するかを選択します。フィールド値の一部を再編集する場合は、再編集する部分をハイライトします。ここで正規表現を編集できます。
一致する条件を定義します。受信ログのサブセットのみに新しいルールを適用するには、コンテンツコントロールバーにフィルターを追加します。新しいルールは、このフィルターに一致するログにのみ適用されます。
新しいルールに名前と説明をつけます。
設定の選択を確認し、Save をクリックします。プロセッサーはデフォルトで Active になり、直ちに受信ログの処理を開始します。
新しいプロセッサーを見るには、Data Configuration > Logs Pipeline Management にアクセスし、Processing Rules セクションを展開し、リストの中から見つけてください。プリパッケージされているプロセッサー(ロックが表示されている)以外のすべてのプロセッサーを、並べ替え、編集、または削除することができます。プロセッサーを無効にするには、Inactive をクリックします。
注釈
再編集したフィールドが _raw
にも表示される場合、 _raw
でも利用可能です。フィールド自体の再編集に加えて、 _raw
のフィールドも再編集してください。
ログ処理ルールの制限 🔗
組織は合計128のログ処理ルールを作成できます。128のルール制限には、フィールド抽出プロセッサー、フィールドコピープロセッサー、およびフィールド再編集プロセッサーの合計が含まれます。