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!

Index This | I am a number, but when you add ‘G’ to me, I go away. What number am I?

March 2024 Edition Hayyy Splunk Education Enthusiasts and the Eternally Curious!  We’re back with another ...

What’s New in Splunk App for PCI Compliance 5.3.1?

The Splunk App for PCI Compliance allows customers to extend the power of their existing Splunk solution with ...

Extending Observability Content to Splunk Cloud

Register to join us !   In this Extending Observability Content to Splunk Cloud Tech Talk, you'll see how to ...