Splunk Search

フィールド設定について

qattsu
Explorer

フィールド設定について質問させてください。

以下のログに対してフィールドを設定する際の
方法をご教示頂けないでしょうか?

【ログ例】
①IPアドレス[001.001.001.001, 002.002.002.002]:ユーザエージェント[Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36]
②ログイン結果[NG]:IPアドレス[003.003.003.003, 004.004.004.004, 005.005.005.005]:セッションID[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]:ユーザエージェント[Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0]:パスワード[123123123]


【質問事項】
1.[]の前の文字列でフィールド名を変えることは可能か?
 []の前が"IPアドレス"だったらフィールド名を"IPaddr"等にして、値に"001.001.001.001, 002.002.002.002"を入れたり、
 []の前が"ユーザエージェント"だったらフィールド名を"UserAgent"等にして、値に"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"を入れたりしたいのですが、
 そのようなことが可能なのでしょうか?
 
2.レコード毎にレイアウトが異なる場合、どのような設定を行えばよいかご教示いただけないでしょうか?

以上、よろしくお願いします。

Labels (1)
Tags (1)
0 Karma
1 Solution

to4kawa
Ultra Champion

splunk インデクス取り込みだと日本語フィールド名

、駄目みたいですね

props.confのTRANSFORMS をREPORT に変更して、 transforms.confの write_METAを削除してみて、どうでしょうか?

View solution in original post

to4kawa
Ultra Champion

良かったです。試してないですが

REGEX = (\w+)\[([^\]]+)\]

当たりかなーと思われます

0 Karma

to4kawa
Ultra Champion

splunk インデクス取り込みだと日本語フィールド名

、駄目みたいですね

props.confのTRANSFORMS をREPORT に変更して、 transforms.confの write_METAを削除してみて、どうでしょうか?

qattsu
Explorer

ご連絡ありがとうございます。

ご提示いただいた通り
props.confを

 

[heart_core_sourcetype]
DATETIME_CONFIG =
LINE_BREAKER = ([\r\n]+)
NO_BINARY_CHECK = true
category = Miscellaneous
pulldown_type = true
REPORT-heartcore_test = heartcore_test

 

transforms.confを

 

[heartcore_test]

REGEX = ([^\:\[]+)\[([^\]]+)\]

FORMAT = $1::$2

 

に変更したところ、フィールドの抽出ができました。
20200907.png

最初のフィールドがうまく取れていませんが、
こちらは正規表現を学び直していきたいと思います。

to4kawaさん

どうもありがとうございました!

0 Karma

to4kawa
Ultra Champion

REGEX = ([^\:\[]+)\[([^\]]+)\

今こちらは確認できる環境でないので、

regex101.com

等でログが正規表現でキャプチャーできているか確認してみてください

あと、高速モードだと効果がありません。

qattsu
Explorer

ご連絡ありがとうございます。
regex101.comで確認いたしました。

以前いただいた以下REGEXはキャプチャできました。

REGEX = ([^:\[]+)\[([^\]]+)\]

 mae.png

 

 

 

 

 

 

 

今回いただいた以下REGEXは最後に]を追加することでキャプチャできました。」

REGEX = ([^\:\[]+)\[([^\]]+)\

ato2.png

transforms.confを今回いただいたREGEXに変えて、Splunkの再起動をしてみましたが
変化はない状況です。

splunk_20200904_.png

なお、詳細モードで実施しております。

以上、よろしくお願いいたします。

0 Karma

to4kawa
Ultra Champion

正規表現はキャプチャー出来ていればどちらでも問題ありません

https://docs.splunk.com/Documentation/Splunk/8.0.5/Troubleshooting/Usebtooltotroubleshootconfigurati...

後は 上記 btool props list --debug heart_core_sourcetype できちんと結果がでるか

FORMAT = $1::$2

にするかですかね

他にヘビーフォワーダーやインデクサーないですよね?

qattsu
Explorer

ご連絡ありがとうございます。
btoolの結果は以下の通りでした。

# /opt/splunk/bin/splunk btool props list --debug heart_core_sourcetype
/opt/splunk/etc/apps/search/local/props.conf [heart_core_sourcetype]
/opt/splunk/etc/system/default/props.conf    ADD_EXTRA_TIME_FIELDS = True
/opt/splunk/etc/system/default/props.conf    ANNOTATE_PUNCT = True
/opt/splunk/etc/system/default/props.conf    AUTO_KV_JSON = true
/opt/splunk/etc/system/default/props.conf    BREAK_ONLY_BEFORE =
/opt/splunk/etc/system/default/props.conf    BREAK_ONLY_BEFORE_DATE = True
/opt/splunk/etc/system/default/props.conf    CHARSET = UTF-8
/opt/splunk/etc/apps/search/local/props.conf DATETIME_CONFIG =
/opt/splunk/etc/system/default/props.conf    DEPTH_LIMIT = 1000
/opt/splunk/etc/system/default/props.conf    HEADER_MODE =
/opt/splunk/etc/system/default/props.conf    LEARN_MODEL = true
/opt/splunk/etc/system/default/props.conf    LEARN_SOURCETYPE = true
/opt/splunk/etc/apps/search/local/props.conf LINE_BREAKER = ([\r\n]+)
/opt/splunk/etc/system/default/props.conf    LINE_BREAKER_LOOKBEHIND = 100
/opt/splunk/etc/system/default/props.conf    MATCH_LIMIT = 100000
/opt/splunk/etc/system/default/props.conf    MAX_DAYS_AGO = 2000
/opt/splunk/etc/system/default/props.conf    MAX_DAYS_HENCE = 2
/opt/splunk/etc/system/default/props.conf    MAX_DIFF_SECS_AGO = 3600
/opt/splunk/etc/system/default/props.conf    MAX_DIFF_SECS_HENCE = 604800
/opt/splunk/etc/system/default/props.conf    MAX_EVENTS = 256
/opt/splunk/etc/system/default/props.conf    MAX_TIMESTAMP_LOOKAHEAD = 128
/opt/splunk/etc/system/default/props.conf    MUST_BREAK_AFTER =
/opt/splunk/etc/system/default/props.conf    MUST_NOT_BREAK_AFTER =
/opt/splunk/etc/system/default/props.conf    MUST_NOT_BREAK_BEFORE =
/opt/splunk/etc/apps/search/local/props.conf NO_BINARY_CHECK = true
/opt/splunk/etc/system/default/props.conf    SEGMENTATION = indexing
/opt/splunk/etc/system/default/props.conf    SEGMENTATION-all = full
/opt/splunk/etc/system/default/props.conf    SEGMENTATION-inner = inner
/opt/splunk/etc/system/default/props.conf    SEGMENTATION-outer = outer
/opt/splunk/etc/system/default/props.conf    SEGMENTATION-raw = none
/opt/splunk/etc/system/default/props.conf    SEGMENTATION-standard = standard
/opt/splunk/etc/system/default/props.conf    SHOULD_LINEMERGE = True
/opt/splunk/etc/system/default/props.conf    TRANSFORMS =
/opt/splunk/etc/apps/search/local/props.conf TRANSFORMS-FILTER = heartcore_test
/opt/splunk/etc/system/default/props.conf    TRUNCATE = 10000
/opt/splunk/etc/apps/search/local/props.conf category = Miscellaneous
/opt/splunk/etc/system/default/props.conf    detect_trailing_nulls = false
/opt/splunk/etc/system/default/props.conf    maxDist = 100
/opt/splunk/etc/system/default/props.conf    priority =
/opt/splunk/etc/apps/search/local/props.conf pulldown_type = true
/opt/splunk/etc/system/default/props.conf    sourcetype =
#


transforms.confを「FORMAT = $1::$2」に変えてみましたが変化なしです。


他にヘビーフォワーダーやインデクサーないですよね?
現在は検証のため、AWSで環境を作っている為、増やすことは可能です。

以上、よろしくお願いいたします。

0 Karma

to4kawa
Ultra Champion

transforms.conf

[your_stanza]

REGEX = ([^:\[]+)\[([^\]]+)\]

FORMAT = $1::"$2"

REPEAT_MATCH = true

WRITE_META = true

 

日本語フィールド名になりますがこういった設定で、できると思います

 

qattsu
Explorer

ご回答ありがとうございます。
頂いた回答をもとに検索等してみたのですが、
分からない点がありますので、再度質問をさせてください。

①スタンザについて
 ここで設定する名称は何に利用されるものなのでしょうか?
 何を設定しても問題ないのでしょうか?
②transforms.confについて
 /opt/splunk/etc/system/local/transforms.conf等に
 回答いただいた設定を追加しますが、SPLでの検索時は
 普通に「stats count by IPアドレス」 等で検索できてしまうのでしょうか?

なお、今回頂いた内容をもとに以下作業を実施してみましたが、
思っていた結果にならない状況です。
①/opt/splunk/etc/system/local/transforms.confの作成
 ファイルが存在しなかった為、新規作成。内容は頂いた回答の[your_stanza]を
 変えただけ。
②Splunk再起動
 Splunkの再起動を実施

以上、よろしくお願いいたします。

0 Karma

to4kawa
Ultra Champion

1 props.conf のTRANSFORMSの引数です。何でも構いません

2 できます。(うまくいっていれば)

 

データ取り込む設定の際、inputs.confにソースタイプ名、props.confにそのソースタイプの設定していると思います

 

まずprops.confにTRANSFORMSの設定をしてください。

https://qiita.com/odorusatoshi/items/4c6bbda57e8818b56bee

から日本語マニュアルのデータの取り込みあたりが参考になると思います

qattsu
Explorer

ご連絡ありがとうございます。

日本語マニュアルを参照し、以下のように設定をしてみたのですが、
抽出ができない状況です。

/opt/splunk/etc/apps/search/local/props.conf

[heart_core_sourcetype]
DATETIME_CONFIG =
LINE_BREAKER = ([\r\n]+)
NO_BINARY_CHECK = true
category = Miscellaneous
pulldown_type = true
TRANSFORMS-FILTER=heartcore_test

/opt/splunk/etc/apps/search/local/transforms.conf

[heartcore_test]

REGEX = ([^:\[]+)\[([^\]]+)\]

FORMAT = $1::"$2"

REPEAT_MATCH = true

WRITE_META = true

 

設定の仕方が誤っているのでしょうか?

以上、よろしくお願いいたします。

0 Karma

richgalloway
SplunkTrust
SplunkTrust

1.  One can extract the fields and give them new names using the rex command.

rexコマンドを使ってフィールドを抽出し、新しい名前をつけることができます。

... | rex "IP address \[(?<IPaddr>[^\]]+)"
| rex "User Agent \[(?<UserAgent>[^\]]+)"

 

2.  It depends on how different the layout is.  If the fields are in a different order or with intervening fields (as in the example) then multiple rex commands will work.

レイアウトの違いによります。  フィールドが異なる順番であったり、フィールドを挟んでいる場合(例のように)は、複数のREXコマンドが機能します。

---
If this reply helps you, Karma would be appreciated.
0 Karma
Get Updates on the Splunk Community!

.conf24 | Registration Open!

Hello, hello! I come bearing good news: Registration for .conf24 is now open!   conf is Splunk’s rad annual ...

Splunk is officially part of Cisco

Revolutionizing how our customers build resilience across their entire digital footprint.   Splunk ...

Splunk APM & RUM | Planned Maintenance March 26 - March 28, 2024

There will be planned maintenance for Splunk APM and RUM between March 26, 2024 and March 28, 2024 as ...