イベントとイベントの間隔をKibanaでグラフ化したい

はじめまして。

ある人の行動パターンについて「時間+イベント」という形でelasticsearchにデータがインデックスされているとします。このデータを用いて
・睡眠時間(就寝と起床の時間の差)
・就業時間(職場着と退社の時間の差)
等、イベントとイベントの時間の差をグラフ化する事はできるでしょうか。
もし出来るとしたら、どのような方法で実現できるでしょうか。
timelionの式で実現できるのか、Visual Builderで実現できるのか、等、どのような「ワザ」を使えば実現できそうか教えて頂けると嬉しいです。

インデックスされているデータのイメージは以下の通りです。
date time event(ja) Comment
2019/6/1 22:00 就寝
2019/6/2 7:00 起床
2019/6/2 7:20 職場へ出発
2019/6/2 8:20 職場着
2019/6/2 17:20 退社
2019/6/2 18:20 帰宅
2019/6/2 22:00 就寝
2019/6/3 7:00 起床 休日
2019/6/3 22:00 就寝
2019/6/4 7:00 起床
2019/6/4 7:20 職場へ出発
2019/6/4 8:20 職場着
2019/6/4 17:20 退社
2019/6/5 8:20 職場着 飲み明かしてそのまま出勤
2019/6/5 17:20 退社
2019/6/5 18:20 帰宅
2019/6/6 18:20 就寝
2019/6/7 3:20 起床

一日に発生するイベントはいつも同じとは限りません。ちなみにデータをご覧になるとわかるかと思いますが、この人は就業しない日があります。

Kibanaはバージョン7.0.1をWindows7上で動かしています。
何かアドバイスいただけると助かります。

宜しくお願いいたします。

こんにちわ

イベントのデータをElasticsaerchに取り込むとき、終了ー開始で期間を求めておく、というのはどうでしょうか?

Logsatshのelasticsearch filterの説明で、提示いただいているような内容が例で説明されています。https://www.elastic.co/guide/en/logstash/current/plugins-filters-elasticsearch.html

頂いたデータを以下のような構造にしておけば、
起床(睡眠イベントの終了)がきたら、開始に相当するものを探して、終了時間ー開始時間で期間を求めることができます。

No datetime kind event_type comment duration
1 2019/6/1 22:00 睡眠 開始 就寝 ----
2 2019/6/2 07:00 睡眠 終了 起床 <ここをfilterで求めておく>
3 2019/6/2 07:20 移動 開始 職場へ出発 ----
4 2019/6/2 08:20 移動 終了 職場着 <ここをfilterで求めておく>

あとは、この求めた数値データをグラフ上で表示させてやれば良いということになるのではないでしょうか?

アドバイスありがとうございます。

最初に書いておけばよかったのですが、グラフ化したいイベント2種類の間隔は何を指定するかはわからないのが前提です。そのため、event_typeが開始から開始、終了から終了となっているイベントの間隔をグラフ化する可能性があります。

また、今後イベント自体が一瞬で終わってしまうため、開始終了という意味を持たせにくいもデータを追加する可能性もあります。

timelionの式をうまく駆使するなどして、なるべくデータに項目追加せずにKibanaで対象データを絞り込んでグラフ化できればいいのですが、仰る通り前に発生したイベントに関する情報を次のデータに入れて置く以外に手がないような気もしています。

logstashのfilter使って全てのイベントのデータに直前のイベントとの差を追加する事で何とかできるかもしれません。

本件に関してまた何かアイディアありましたらReply頂けると助かります。
いろいろ試してみます。
ありがとうございました。

その後いろいろdisucussionの投稿を探し回ってみましたが、似たような質問をされた方がいらっしゃいました。

やはりデータ(ドキュメント)を跨ぐような情報を元に計算した結果を
Kibanaでグラフ化するには、インデックス時にイベント発生終了時間を追加する等の工夫が必要そうです。

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.