Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kibanaで時系列データを⽐較表⽰する⽅法3選 / Three methods for co...

j-yama
December 06, 2019

Kibanaで時系列データを⽐較表⽰する⽅法3選 / Three methods for comparing and displaying time series data on Kibana

第34回 Elasticsearch勉強会の発表資料です。

勉強会の詳細はこちら
https://www.meetup.com/ja-JP/Tokyo-Elastic-Fantastics/events/266551992/

j-yama

December 06, 2019
Tweet

More Decks by j-yama

Other Decks in Technology

Transcript

  1. お前誰 ? 名前 ⼭下城司 会社 NTT テクノクロス 好き ギター 8

    弦ギターを買ったのにAAL の曲が全然弾けなくてめげました ゲーム 今年はCeleste のSpeedrun を始めて、Any% 44:00 ギリギリ切れました Elastic Stack コミュニティ活動をしたりしていなかったりしました 3
  2. 1. 隣接している同じ⻑さの別の期間のデータを ⽐較表⽰したい 使えそうなVisualize Bar Chart 期間ごとのデータを単⼀フィールドの値で⽐較するならこっち X-axis に Date

    Histogram を選ぶ Data Table 期間ごとのデータを複数フィールド⽐較したいならこっち Split table に Date Histogram を選ぶ 7
  3. Bar Chart X-axis にDate Histogram を 選ぶ Minimum Interval を⽐

    較したい単位 にする (Yearly, Monthly...) 8
  4. 時系列データ⽐較のパターン 1. 隣接している 同じ⻑さの別の期間のデータを⽐較表⽰したい Bar Chart: X-axis に Date Histogram

    を選ぶ Data Table: Split table に Date Histogram を選ぶ 2. 隣接していない 同じ⻑さの別の期間のデータを⽐較表⽰したい 3. ⾃由に 別の期間のデータを⽐較表⽰したい 10
  5. 2. 隣接していない同じ⻑さの別の期間のデータ を⽐較表⽰したい 使えそうなVisualize TSVB(Time Series Visual Builder) 1 ヶ⽉前や1

    年前など、現在の期間と隣接していない期間のデ ータを同じグラフに表⽰したい時はこれ! 同じメトリクスを複数定義し Offset series time by を設定 Timilion ?なんのことです? 11
  6. 時系列データ⽐較のパターン 1. 隣接している 同じ⻑さの別の期間のデータを⽐較表⽰したい Bar Chart: X-axis を Date Histogram

    に Data Table: Split Table を Date Histogram に 2. 隣接していない 同じ⻑さの別の期間のデータを⽐較表⽰したい TSVB: 同じメトリクスを複数定義し Offset series time by を設定 3. ⾃由に 別の期間のデータを⽐較表⽰したい 15
  7. Dashboard のタイムレン ジとは異なる期間のデー タを Visualize で表⽰する 設定⽅法 (1/2) Dashboard 内に配置し

    たVisualize の右上をク リックして開くメニュ ーから、 Customize time range をクリックする 17
  8. 時系列データ⽐較のパターン 1. 隣接している 同じ⻑さの別の期間のデータを⽐較表⽰したい Bar Chart: X-axis に Date Histogram

    を選ぶ Data Table: Split table に Date Histogram を選ぶ 2. 隣接していない 同じ⻑さの別の期間のデータを⽐較表⽰したい TSVB: 同じメトリクスを複数定義し Offset series time by を設定 3. ⾃由に 別の期間のデータを⽐較表⽰したい Dashboard: Kibana 7.4.0 以降を使えば、Visualize 別に設定可能 21
  9. filter { # @timestamp の年と⽉を別フィールドとして追加する。 mutate { add_field => {

    "start_month" => "%{+M}" } add_field => { "calendar_year" => "%{+YYYY}" } } # 追加したフィールドの型を数値型にする。 mutate { convert => { "start_month" => "integer" "calendar_year" => "integer" } } ruby { # 追加したフィールドの内容に応じて年度フィールドを追加する。 # スライド表⽰の関係上、改⾏しているが、本来は1 ⾏。 code => "event.set('fiscal_year', event.get('start_month') < 4 ? event.get('calendar_year') - 1 : event.get('calendar_year'))" } } 25