1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Splunk: ジョブ情報を取得するaddinfoコマンドの使い方

Posted at

たまに必要となるのでメモ。

実施環境: Splunk Free 8.2.2

Splunk には、 addinfo というコマンドがあります。
このコマンドを使用すると、次のようなジョブ情報が取得できます。

Splunk
| makeresults count=1
| addinfo

スクリーンショット 2021-12-12 14.23.08.png

検索期間

検索期間として指定した日時情報を取得できます。
最も古い日時は info_min_time に、最も新しい日時は info_max_time に出力されます。
出力形式は UNIX 時間なので、適切な形式に変換して表示しましょう。

Splunk
| makeresults count=1
| addinfo
| eval Earliest_Time = strftime(info_min_time, "%Y/%m/%d %H:%M:%S"),
       Latest_Time   = strftime(info_max_time, "%Y/%m/%d %H:%M:%S")
| table Earliest_Time, Latest_Time

スクリーンショット 2021-12-12 14.31.47.png

SPL 中で検索期間を指定している場合も、きちんと SPL 中で指定した日時が表示されます。

Splunk
index="_internal" earliest="-7d@d" latest="-6d@d"
| addinfo
| eval Earliest_Time = strftime(info_min_time, "%Y/%m/%d %H:%M:%S"),
       Latest_Time   = strftime(info_max_time, "%Y/%m/%d %H:%M:%S")
| table Earliest_Time, Latest_Time

スクリーンショット 2021-12-12 14.43.06.png

ジョブ起動日時

サーチジョブを起動した日時は info_search_time に出力されます。
こちらも出力形式は UNIX 時間です。

Splunk
| makeresults count=1
| addinfo
| eval Search_Time = strftime(info_search_time, "%Y/%m/%d %H:%M:%S")
| table Search_Time

スクリーンショット 2021-12-12 14.48.23.png

ジョブの ID

ジョブの ID も取得できます。
出力されるフィールド名は info_sid です。

SPlunk
| makeresults count=1
| addinfo
| table info_sid

スクリーンショット 2021-12-12 14.51.46.png

サブサーチ

無論、サブサーチから情報を取得することも可能です。
ただし、メインサーチから取得した情報と必ずしも値が一致するわけではないことに注意してください。

Splunk
| makeresults count=1
| addinfo
| table info_search_time, info_sid
| appendcols 
    [
      | makeresults count=1
      | addinfo
      | table info_search_time, info_sid
      | rename info_search_time AS info_search_time_sub,
               info_sid         AS info_sid_sub
    ]

スクリーンショット 2021-12-12 15.03.26.png

使い道

単発のサーチの場合サーチジョブ調査でジョブ情報を取得できるので、addinfo コマンドはあまり使い道がないかもしれません。
ただ、 CSV として結果を出力したり、スケジュールサーチを用いて自動でサマリデータを作成する時など、後からジョブ情報を見返す必要がある場合に情報を出力しておくことができます。
また、単発のサーチでも、ジョブ情報によって処理を分岐させたい場合は用いることができます。
以下の例では、指定した検索期間の長さに応じて集計間隔を変更しています。

Splunk
| makeresults count=1
| timechart count
    [
      | makeresults count=1
      | addinfo
      | eval One_Day_Ago   = relative_time(info_max_time, "-1d"),
             One_Month_Ago = relative_time(info_max_time, "-1mon")
      | eval Span_Time = 
             case(info_min_time <= One_Month_Ago, "span=1mon",
                  info_min_time <= One_Day_Ago,   "span=1d",
                  true(),                         "span=1h")
      | return $Span_Time
    ]

スクリーンショット 2021-12-12 15.12.47.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?