平均値や中央値と比べて大きい/小さいものをcountしたい時はeventstats
もっと包括的なタイトルの方が良い気がしますが、初期衝動でそのままにします。
通常、平均値(avg)や中央値(median)を単純に得るには、statsコマンドを使うと思います。
しかし、今回私がやりたかったのは、
「得られたそれらの値と元の値とを比較した結果で絞りたい」というものでした。
ここで利用するのがeventstatsコマンドです。
eventstatsで平均値や中央値を出すと、
それらの値がそれぞれのイベントに紐付くので、あとから比較処理ができます。
whereコマンドで比較後に、countコマンドで再集計してミッションコンプリートです。
index=main host=web_application
| eventstats median(bytes) AS med
| table bytes, med
| where bytes >= med
| stats count
※ tableコマンドは本来不要ですが、後述時の視覚化のために記述してあります。
参考にしたサイト
上記コマンド 各フェイズの結果対応
1行目
index=main host=web_application
index=main host=web_application
2行目(eventstats)
index=main host=web_application
| eventstats median(bytes) AS med
statsコマンドを使用した時と違いますね。(その分、処理はeventstatsの方が重いです。)
3行目
index=main host=web_application
| eventstats median(bytes) AS med
| table bytes, med
一応、次の項のために、bytesフィールドを昇順ソートしときました。
4行目(元の値と統計値を各イベントごとに比較)
index=main host=web_application
| eventstats median(bytes) AS med
| table bytes, med
| where bytes >= med
5行目(改めて数える)
index=main host=web_application
| eventstats median(bytes) AS med
| table bytes, med
| where bytes >= med
| stats count
20210306追記(上記をグループ別に実施することも可能)
言われてみれば何てことないですが、きっとそういうことやりたい人も居るよね?
index=main host=web_application
| eventstats median(bytes) AS med by categoryId
↑↓ 一致してますよね
(8グループ。各グループごとの中央値が、所属するイベントに各々紐付けられました。)
更に次へ
@odorusatoshi さんの記事。面白いぞ
Author And Source
この問題について(平均値や中央値と比べて大きい/小さいものをcountしたい時はeventstats), 我々は、より多くの情報をここで見つけました https://qiita.com/Jinn-sin/items/70cdf1d9b2d2d8027fd2著者帰属:元の著者の情報は、元の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 .