製品
サービス
- ダッシュボード/SPL作成パック【実装・構築支援】
- バージョンアップサービス【実装・構築支援】
- Smart Security Monitoring App【独自App/サービス】
- Splunk × LANSCOPE Original App 【独自App/サービス】
- Security Monitoring App for Box【独自App/サービス】
- Cloud Security Monitoring App【独自App/サービス】
- サービス一覧
- Macnica Premium Support for Splunk(利活用支援、バージョンアップ見守り)
- Macnica Premium Support for Splunk スキルアップパッケージ
CSVデータのフィールド抽出方法
CSVファイルを取り込みフィールド抽出する方法は下記3通りの方法があります。 サーチ時にフィールド抽出するには、以下のように設定ファイルに記載をします。 【概要】 ※$SPLUNK_HOMEはインストールディレクトリです。デフォルトでは以下です。 上記の手順1、2の設定方法として2通りの方法をご紹介します。 方法1:データ取り込み後に区切り文字(カンマ)で抽出する方法 単純に区切り文字(CSVではカンマ)で区切ることのできるデータの場合、transforms.confの設定にて区切り文字(DELIMS)とフィールド名(FIELDS)を定義してフィールド抽出を行います。 <用途> 方法1ではカラム数が追加になった場合でも対応可能です。(推奨) <データ例> 2015/01/01 00:00:00,aaaa,bbbb,ccc,ddd <設定例> props.conf transforms.conf inputs.conf (任意:既に設定している場合はスキップしてください) ※DELIMSにて区切り文字を指定します。 方法2:データ取り込み後に正規表現を使用してフィールド抽出する方法 transforms.confの設定にて正規表現(REGEX)を使用してフィールド抽出を行います。 <用途> 方法2ではカラム数が追加になった場合は対応できません。方法1では対応できない抽出の場合のみ推奨しています。(カラムが追加されたことにより指定した正規表現に合致しなくなった場合、既存部分と追加された部分どちらもフィールド抽出されなくなります) <データ例> 2015/01/01 00:00:00,aaaa,bbbb,ccc,ddd <設定例> props.conf inputs.conf fields.conf ※header_field1はフィールド名です。(<>内にフィールド名を指定します。) 2. データ取り込み時にフィールド抽出する方法 ※この方法を利用して設定ができるのは、以下の環境に限られます。下記以外の環境は「2-2. 設定ファイルへ記載してフィールド抽出する方法」をご利用ください。 スタンドアロン環境 CSVファイルにヘッダーがある場合 2-2. 設定ファイルへ記載してフィールド抽出する方法 CSVファイルにヘッダーがある場合 CSVファイルの取り込み時にヘッダー行からフィールド情報を抽出します。 <データ例> field1,field2,field3,field4,field5 ※1行目がヘッダー行になります。 <設定例> props.conf inputs.conf fields.conf ※props.confおよびinputs.confの設定変更後はSplunkサービスの再起動が必要です。 http://<SplunkサーバーのIPアドレス>:8000/debug/refresh CSVファイルにヘッダーがない場合 CSVファイルの取り込み時に、ヘッダーフィールドを指定します。 <データ例> 2015/01/01 00:00:00,aaaa,bbbb,ccc,ddd <設定例> props.conf transforms.conf inputs.conf(任意:既に設定している場合はスキップしてください) ※props.confおよびinputs.confの設定変更後はSplunkサービスの再起動が必要です。 http://<SplunkサーバーのIPアドレス>:8000/debug/refresh 補足情報 Splunkは先頭の256バイトで取り込み対象のファイルを識別します。 CSVファイルのヘッダー部分など先頭の256バイトに同じデータがある場合、ファイルの中身が異なっていても、先頭の256バイトで既存と同一ファイルとみなして取り込みをしません。 ファイルの先頭に同じデータ(ヘッダー)があっても別ファイルと認識し、新規ファイルを取り込ませる場合、inputs.confファイルに以下を設定します。 <設定例> ※[monitor:///tmp]のパス情報(/tmp)は環境に応じて読み替えを行ってください。 以上
2-1.Splunk Webを使ってフィールド抽出する方法
2-2.設定ファイルへ記述してフィールド抽出する方法
===
$SPLUNK_HOME/bin/splunk restart
===Linux :
Splunk Enterprise : /opt/splunk
Universal Forwarder : /opt/splunkforwarder
Windows :
Splunk Enterprise : C:\Program Files\Splunk
Universal Forwarder : C:\Program Files\SplunkUniversalForwarder
カラムが追加された場合、自動的に追加された部分のフィールド抽出はされません。追加した設定をすることで追加されたカラムもフィールド抽出が可能です。
2015/01/01 00:00:01,111,2222,333,ddd
配置場所:検索を行うSplunkサーバー
設定例:[testcsv]
KV_MODE = none
REPORT-testHeader = test_header
配置場所:検索を行うSplunkサーバー
設定例:[test_header]
DELIMS = ","
FIELDS = "header_field1", "header_field2", "header_field3", "header_field4", "header_field5"
配置場所:データ入力をするSplunkサーバーもしくはフォワーダー
設定例:[monitor:///opt/test/data/test1.csv]
sourcetype=testcsv
※FIELDSで各フィールドを定義します。
※フィールド文字には英数字およびアンダースコアを使用してください。
※props.confおよびtransforms.confの設定変更後、Splunkサービスの再起動は不要です。inputs.confの設定変更後はSplunkサービスの再起動が必要です。
※データ内にCSVのエスケープ文字(\\ あるいは ") が含まれる場合、方法1ではフィールド抽出ができません。この場合には方法2を使用します。
2015/01/01 00:00:01,111,2222,333,ddd
配置場所:データ入力設定をしたSplunkサーバーもしくはフォワーダー
設定例:[testcsv]
INDEXED_EXTRACTIONS=csv
FIELD_NAMES="header_field1", "header_field2", "header_field3", "header_field4", "header_field5"
配置場所:データ入力設定をしたSplunkサーバーもしくはフォワーダー
設定例:[monitor:///opt/test/data/test2.csv]
sourcetype=testcsv
配置場所:検索を行うSplunkサーバー
設定例:[sourcetype::testcsv::*]
INDEXED=True
※props.confおよびtransforms.confの設定変更後、Splunkサービスの再起動は不要です。inputs.confの設定変更後はSplunkサービスの再起動が必要です。
※正規表現はあくまで一例です。実際の正規表現はお客様にて作成いただきますようお願いいたします。
データ取り込み時にフィールド抽出するには、Splunk Webから設定する方法と設定ファイルへ記述して設定する方法の2種類がございます。
2-1. Splunk Webを使ってフィールド抽出する方法
CSVファイルにヘッダーがある場合、ヘッダーがない場合それぞれの方法を記載します。
Splunk Webを有効にしているヘビーフォワーダー
(ソースタイプが「csv」になっている場合はそのままにします)
CSVファイルにヘッダーがある場合、ヘッダーがない場合それぞれの方法を記載します。
2015/01/01 00:00:00,aaaa,bbbb,ccc,ddd
2015/01/01 00:00:01,111,2222,333,ddd
配置場所:データ入力設定をしたSplunkサーバーもしくはフォワーダー
設定例:[testcsv]
INDEXED_EXTRACTIONS=csv
配置場所:データ入力設定をしたSplunkサーバーもしくはフォワーダー
設定例:[monitor:///opt/test/data/test2.csv]
sourcetype=testcsv
配置場所:検索を行うSplunkサーバー
設定例:[sourcetype::testcsv::*]
INDEXED=True
※fields.confの設定変更後は以下のURLへアクセスし、[refresh]ボタンを押して設定を適用します。
2015/01/01 00:00:01,111,2222,333,ddd
配置場所:検索を行うSplunkサーバー
設定例:[testcsv]
REPORT-testHeader=test_header
配置場所:検索を行うSplunkサーバー
設定例:[test_header]
REGEX = ^(?<header_field1>[^,]+),(?<header_field2>[^,]+),(?<header_field3>[^,]+),(?<header_field4>[^,]+),(?<header_field5>[^,]+)
配置場所:データ入力設定をしたSplunkサーバーもしくはフォワーダー
設定例:[monitor:///opt/test/data/test2.csv]
sourcetype=testcsv
※fields.confの設定変更後は以下のURLへアクセスし、[refresh]ボタンを押して設定を適用します。[monitor:///tmp]
crcSalt = <SOURCE>
株式会社マクニカ Splunk 担当
- TEL:045-476-2010
- E-mail:splunk-sales@macnica.co.jp
平日 9:00~17:00