Splunk Search

starttime, endtimeを代入することは可能でしょうか?

kaoriaraki
Explorer

2種類のシステムから出力されるログA,Bがあり、Aのログに含まれる時間の値を使って、Bのログを検索したいと考えています。
Log:Aを検索し、Aに含まれるUseStartおよびUseEndの値をLog:Bの検索時にそれぞれstarttime,endtimeに代入して使用することは可能でしょうか?可能な場合具体的な指定方法をアドバイスいただけると助かります。

Log:A(sourcetype=aaa)
2013/03/06 15:52:25 ServerIP=192.168.1.1 ServerUser=Admin01 UseStart=2013/03/06 8:00:00 UseEnd=2013/03/08 17:00:00

Log:B(sourcetype=bbb)
2013/03/06 15:55:39 ServerUser=Admin01 Message="Accepted password" ServerIP=192.168.1.1
2013/03/06 15:55:39 ServerUser=Admin01 Message="session closed" ServerIP=192.168.1.1
2013/03/06 15:55:39 ServerUser=Admin01 Message="session opened" ServerIP=192.168.1.1

Tags (2)
1 Solution

bananaman
Path Finder

いくつかの方法がありますが、基本的なサブサーチを利用した場合は
以下のようなサーチ例にて実現出来るかと思います。お試し下さい。

  1. Log:A 内の"UseStart"に相当するタイムスタンプを抽出
  2. Log:A 内の"UseEnd"に相当するタイムスタンプを抽出
  3. 1.と2. を次のサーチで使う"earliest"及び"latest"として、次のサーチへ渡す
  4. 1.~3.のサーチに続けて2番目のサーチとして Log:Bを対象とする

[search sourcetype="aaa"
| rex field=_raw "UseStart=(?\d+/\d+/\d+ \d+:\d+:\d+)"
| eval earliest = strptime(start, "%Y/%m/%d %H:%M:%S")
| rex field=_raw "UseEnd=(?\d+/\d+/\d+ \d+:\d+:\d+)"
| eval latest = strptime(end, "%Y/%m/%d %H:%M:%S")
| fields earliest,latest
| format "(" "(" " " ")" "OR" ")" ]
sourcetype="bbb"

[ ...] 内が1番目のサーチです。括弧の後、最後のsourcetype=....が2番目のサーチです。
勿論、ここでLog:Bの条件を更にフィルタすることも可能です。

View solution in original post

kaoriaraki
Explorer

意図した通りのサーチができました。ありがとうございます!

0 Karma

bananaman
Path Finder

いくつかの方法がありますが、基本的なサブサーチを利用した場合は
以下のようなサーチ例にて実現出来るかと思います。お試し下さい。

  1. Log:A 内の"UseStart"に相当するタイムスタンプを抽出
  2. Log:A 内の"UseEnd"に相当するタイムスタンプを抽出
  3. 1.と2. を次のサーチで使う"earliest"及び"latest"として、次のサーチへ渡す
  4. 1.~3.のサーチに続けて2番目のサーチとして Log:Bを対象とする

[search sourcetype="aaa"
| rex field=_raw "UseStart=(?\d+/\d+/\d+ \d+:\d+:\d+)"
| eval earliest = strptime(start, "%Y/%m/%d %H:%M:%S")
| rex field=_raw "UseEnd=(?\d+/\d+/\d+ \d+:\d+:\d+)"
| eval latest = strptime(end, "%Y/%m/%d %H:%M:%S")
| fields earliest,latest
| format "(" "(" " " ")" "OR" ")" ]
sourcetype="bbb"

[ ...] 内が1番目のサーチです。括弧の後、最後のsourcetype=....が2番目のサーチです。
勿論、ここでLog:Bの条件を更にフィルタすることも可能です。

melonman
Motivator

バックスラッシュが投稿時に消えてしまっているので、いかのようにdの前にバックスラッシュをいれれば大丈夫かと思います。

... | rex field=_raw "UseStart=(?\d+/\d+/\d+ \d+:\d+:\d+)" | ...

そして、サーチの最後に、以下を付け加えれば、表になりますが、こちらは結果に合わせて調整いただければと思います。

... | stats first(Message) last(Message) list(Message) by ServerUser ServerIP

0 Karma
Career Survey
First 500 qualified respondents will receive a $20 gift card! Tell us about your professional Splunk journey.

Can’t make it to .conf25? Join us online!

Get Updates on the Splunk Community!

Community Content Calendar, September edition

Welcome to another insightful post from our Community Content Calendar! We're thrilled to continue bringing ...

Splunkbase Unveils New App Listing Management Public Preview

Splunkbase Unveils New App Listing Management Public PreviewWe're thrilled to announce the public preview of ...

Leveraging Automated Threat Analysis Across the Splunk Ecosystem

Are you leveraging automation to its fullest potential in your threat detection strategy?Our upcoming Security ...