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
Get Updates on the Splunk Community!

Introducing the 2024 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...

Introducing the 2024 Splunk MVPs!

We are excited to announce the 2024 cohort of the Splunk MVP program. Splunk MVPs are passionate members of ...

Splunk Custom Visualizations App End of Life

The Splunk Custom Visualizations apps End of Life for SimpleXML will reach end of support on Dec 21, 2024, ...