Splunk 過去と最近を比較する
で回答したので。
ある期間と、今日の値を時系列で比較したい場合のやり方
timechart.spl
| tstats count where index=_internal earliest=1 by _time span=30min
| eval status="OverTime"
| append [|tstats count where index=_internal earliest=-1d@d by _time span=30min | eval status="Today"]
| eval _time=strftime(_time,"%T")
| stats avg(count) as count by _time status
| xyseries _time status count
| fillnull OverTime Today
結果
timechart.spl
| tstats count where index=_internal earliest=1 by _time span=30min
| eval status="OverTime"
| append [|tstats count where index=_internal earliest=-1d@d by _time span=30min | eval status="Today"]
| eval _time=strftime(_time,"%T")
| stats avg(count) as count by _time status
| xyseries _time status count
| fillnull OverTime Today
_time | OverTime | Today |
---|---|---|
00:00:00 | 3147.4166666666665 | 0 |
00:30:00 | 2295.235294117647 | 0 |
01:00:00 | 2218.2 | 290.5 |
01:30:00 | 3621 | 818 |
02:00:00 | 6259.8 | 6103 |
02:30:00 | 4775.7 | 8777 |
03:00:00 | 3919.470588235294 | 145 |
03:30:00 | 4572 | 218 |
04:00:00 | 6751.25 | 4705 |
解説
-
tstats
は検索期間を複数設定できないのでappend
でくっつけています。
- その際
eval
で区分を作成
- 結合するために、時間だけのデータにしています。
- 二番目の引数のフィールドの値が列名となる
xyseries
を使ってみました。
-
xyseries
だと値がないところを補完してくれないのでfillnull
を使いました。
まとめ
tstats
は検索期間を複数設定できないのでappend
でくっつけています。eval
で区分を作成xyseries
を使ってみました。xyseries
だと値がないところを補完してくれないのでfillnull
を使いました。列1 | 列2 | 列3 |
---|---|---|
時間 | あとで値を列名にしたいフィールド | 集計値 |
という形を作るとxyseries
がいい感じで使えます。
bin
してstats count by _time field
をappend
でくっつけるとこの形が作れますね。
Splunk>Answersの質問者はappendcols
を使ってますけど、単純に横に列をくっつけるだけなので、だったらjoin
のほうがいいですよね。
このごろはxyseries
をよく使っているような気がしています。
Splunkのtableの縦横を変換する
の頃はあんまり使ってなかったのに、慣れでしょうかね。
逆にtimechart
が使い辛くなってきた。
Author And Source
この問題について(Splunk 過去と最近を比較する), 我々は、より多くの情報をここで見つけました https://qiita.com/toshikawa/items/a7b31d54c5839f991340著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .