Kibana 5.4.0 で追加された Time Series Visual Builder を試してみた

こんにちは、藤本です。

現地時間 5/4 の GW期間に Elastic Stack 5.4.0 がリリースされました。

Elastic Stack 5.4.0 のリリースでも Elastic{ON}17 で発表されたいくつかの新機能が含まれていました。今回は Kibana 5.4.0 で追加された Time Series Visual Builder を試してみました。

Time Series Visual Builder

今まで Time Series は Kibana 4系からプラグインとして Timelion がリリースされました。また Kibana 5.0.0 からはコア機能に取り込まれました。Timelion は他の Visualization と異なり、複数のインデックスのデータをプロットしたり、異なる Visualization の種類を同時にプロットできる特徴があります。ただし、Timelion でグラフを描画するためには Timelion expression language と呼ばれる関数のような記述を書く必要がありました。なので、Timelion expression language の学習コストが必要でした。私はあまり Timelion を触らないのでたまに触ると「あれ?どうだっけな?」と都度調べます。最近は候補表示やオートコンプリートで大分書くのが楽になりましたが、他の Visualization に比べるとハードルが高いものでした。

そこで今回追加された Time Series Visual Builder は Timelion の似た機能を持ちながら、他の Visualization と同様に必要な項目を選択するだけでグラフを描画できるようになりました。他の Visualization と UI は若干異なりますが、Kibana を触ったことある方であれば、そんなに難しくない印象を受けました。

描画できる種類

  • ラインチャート
  • バーチャート
  • メトリック
  • 水平バーチャート
  • ゲージ(今までなかった描画)
  • Markdown

試してみた

それでは早速試してみましょう。

今回は当ブログ(Developers.IO)の ELB のアクセスログをテストデータに利用しています。Time Series は時系列データを可視化するため、date 型のフィールドを含むデータをご利用ください。

手元に良いデータがなければ、Kibana のドキュメントページで公開されているデータを利用するのが良いかと思います。

環境

  • OS : CentOS 7
  • Elasticsearch : 5.4.0
  • Kibana : 5.4.0

インストール

Elasticsearch、Kibana をインストールします。インストールは 5系からプロダクト共通となった YUM リポジトリからインストールします。

$ echo '[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md' | sudo tee /etc/yum.repos.d/elastic.repo

$ sudo yum install java-1.8.0 elasticsearch kibana

### take in test data
$ echo 'network.host: 0.0.0.0' | sudo tee /etc/elasticsearch/elasticsearch.yml
### access kibana
$ echo 'server.host: "0.0.0.0"' | sudo tee /etc/kibana/kibana.yml

### start service
$ sudo systemctl start elasticsearch
$ sudo systemctl enable elasticsearch
$ sudo systemctl start kibana
$ sudo systemctl enable kibana

Elasticsearch へのテストデータの登録

アクセスログは Logstash を使って、Elasticsearch に Bulk インサートしました。

Kibana へのアクセス

Kibana へアクセスします。

初回アクセス時にインデックスの登録を促されますので、登録したインデックスのパターンを登録してください。

Time Series Visual Builder への画面遷移

Visual Builder は Visualization の一つとして追加されています。左メニューの Visualize を選択し、[Create a visualization] を選択します。

Time Series の Visual Builder を選択します。Visualization の選択画面がすごく見やすくなりましたね!これも Kibana 5.4.0 からとなります。

これを選択するだけでとりあえず時間帯毎のデータ数がラインチャート(エリアチャートに近い)が表示されます。

描画種類

画面上部のタブで描画の種類を変更することができます。

Kibana_10

Time Series(ラインチャート・バーチャート・エリアチャート)

ラインチャート、バーチャートを選択することができ、ラインチャートはエリアチャートにすることもできます。

Kibana 11

Metric

シンプルに数値を表示します。最大 2種類の数値を表示します。

Kibana 12

Top N(水平バーチャート)

横向きのバーチャートです。ランキング表示などに役立ちます。

Kibana 4

Gauge(ゲージ)

自動車のスピードメータのような表示です。デフォルトは半円ですが、円にすることもできます。最新値が表示されれます。

Kibana 5

Markdown

Markdown 形式でテキスト表示できます。

Kibana 6

Time Series でグラフを描画する

今回は Time Series を色々と触ってみます。

デフォルト表示は Aggregation に Count が指定されていることで、時系列のある間隔毎のデータ件数をエリアチャートでプロットします。Time Series は常に Date Histgram Aggregation で集計されていると思っていただければと思います。

Kibana 9

Count 以外にも Max/Min/Avg/Sum/標準偏差 といった数値の集計を行うこともできます。例えば、Aggregation を Sum に変えて、Field をアウトバウンドデータ転送量を表すsent_bytesに変更すると、時間単位毎のデータ転送量の合計量をプロットします。

Kibana 13

複数のデータをプロットする時は Data レベルの + アイコンをクリックし、データ設定を増やします。例えば、それぞれ Count と Max を選択することで時間単位のアクセス数、合計トラフィック量を同時に表示することができます。

Kibana 23

ただここまでは普通のエリアチャートの Visualization でもできます。Time Series(Timelion含む)の特徴はここからです。

異なる Visualization(バーチャート、ラインチャート)を同時に描画する

引き続き、ブログのアクセスログからアクセス数をバーチャート、合計トラフィック量をラインチャートで描画します。

Options から表示形式を設定することができます。まずはアクセス数。バーチャートに変更するには Chart Type を Line から Bar に変更します。続いてアクセス数と、トラフィック量は桁が3つぐらい違っていて、先ほどのグラフでもアクセス数がほぼ分かりません。Separate Axis を Yes にすることで、Y軸の値を左右に分割ができます。

Kibana 24

続いて、合計トラフィック量。エリアチャートからラインチャートに変更します。Fill を 0 にするだけです。

Kibana_25

すると、こんなチャートが表示されます。まぁ、アクセス数とトラフィック量なので同じような推移となります。

Kibana 26

異なるインデックスのデータを同時に描画する

続いてですが、いいサンプルデータがなかったので設定方法だけご紹介します。先ほどの 2つのデータ単位でインデックスをそれぞれ設定することが可能です。デフォルトで利用するインデックスは Panel Options の Index Pattern で設定されています。デフォルト設定は *(ワイルドカード)で全てのインデックスからデータを参照します。

Kibana 27

それを個別のデータ毎にインデックスパターンを指定することができます。先ほどの Options の中に別のインデックスを使うか、否かの設定があります。Override Index Pattern を Yes に変更し、インデックスパターン、時系列データに利用する Date タイプのフィールド名を選択します。

Kibana 28

まとめ

いかがでしたでしょうか?
Time Series Visual Builder を利用することで今まで面倒だった Timelion の記述式で GUI から簡単に設定することができるようになりました。Visualization の一つなのでダッシュボードに組み込むことも可能です。ちゃんと調べられてはいないですが、まだ Timelion でしか可視化できない方法もありそうなのでもうちょっと違いを深掘りしたいと思います。