異なるフォーマットで出力されたデータのフィールド設定方法

公開日
2015.06.22
最終更新日
2015.06.22
バージョン
Splunk Enterprise 6.1.4
概要
同じsourcetype名で、異なるフォーマットで出力されたデータにそれぞれのフォーマットに対応したフィールド抽出の設定を行います
参考情報
内容

同一ファイル内に異なる2種類のフォーマットが存在する場合、transforms.confに設定を行うことで、それぞれのフォーマットに合わせたフィールド抽出を行うことが可能です。

参考画像

参考画像

データ例および設定方法

データフォーマット: 下記の通りA,Bの両方のフォーマットのイベントが同一ソースに存在します。

A: 日時 A項目 B項目 C項目 D項目 E項目
B: 日時 A項目 D項目 E項目

このデータをソースタイプ: sampleとして取り込むこととします。

設定手順

※設定ファイルは$SPLUNK_HOME/etc/<任意のapp>/local配下のものを編集します。

  • transforms.confへ、A、Bそれぞれのケースでフィールド抽出できるように正規表現を設定します。

Aは、フォーマットに合わせて下記typeAの形式でフィールド抽出し、Bも同様に、フォーマットに合わせて下記typeBの形式でフィールド抽出します。

設定例:

[typeA]
REGEX = ^[^\s]+\s[^\s]+\s(?[^\s]*)\s(?[^\s]*)\s(?[^\s]*)
\s(?[^\s]*)\s(?[^\s]*)$
[typeB]
REGEX = ^[^\s]+\s[^\s]+\s(?[^\s]*)\s(?[^\s]*)\s(?[^\s]*)$
  • props.confへと、1つのソースタイプに、REPORTを2つ設定します。

設定例:

[sample]
    REPORT-sample = typeA,typeB

※[]内はsourcetype等のスタンザ名を記載します。REPORT-<一意のクラス名> = <transforms.confで設定したスタンザ名> とします。

以上