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!

Database Performance Sidebar Panel Now on APM Database Query Performance & Service ...

We’ve streamlined the troubleshooting experience for database-related service issues by adding a database ...

IM Landing Page Filter - Now Available

We’ve added the capability for you to filter across the summary details on the main Infrastructure Monitoring ...

Dynamic Links from Alerts to IM Navigators - New in Observability Cloud

Splunk continues to improve the troubleshooting experience in Observability Cloud with this latest enhancement ...