Kibana 5.4.0 で追加された Time Series Visual Builder を試してみた
こんにちは、藤本です。
現地時間 5/4 の GW期間に Elastic Stack 5.4.0 がリリースされました。
- Elastic Stack 5.4.0 Released
- Elasticsearch 5.4.0 released
- Kibana 5.4.0 released
- Logstash 5.4.0 released
- Beats 5.4.0 released
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 からとなります。
これを選択するだけでとりあえず時間帯毎のデータ数がラインチャート(エリアチャートに近い)が表示されます。
描画種類
画面上部のタブで描画の種類を変更することができます。
Time Series(ラインチャート・バーチャート・エリアチャート)
ラインチャート、バーチャートを選択することができ、ラインチャートはエリアチャートにすることもできます。
Metric
シンプルに数値を表示します。最大 2種類の数値を表示します。
Top N(水平バーチャート)
横向きのバーチャートです。ランキング表示などに役立ちます。
Gauge(ゲージ)
自動車のスピードメータのような表示です。デフォルトは半円ですが、円にすることもできます。最新値が表示されれます。
Markdown
Markdown 形式でテキスト表示できます。
Time Series でグラフを描画する
今回は Time Series を色々と触ってみます。
デフォルト表示は Aggregation に Count が指定されていることで、時系列のある間隔毎のデータ件数をエリアチャートでプロットします。Time Series は常に Date Histgram Aggregation で集計されていると思っていただければと思います。
Count 以外にも Max/Min/Avg/Sum/標準偏差 といった数値の集計を行うこともできます。例えば、Aggregation を Sum に変えて、Field をアウトバウンドデータ転送量を表すsent_bytes
に変更すると、時間単位毎のデータ転送量の合計量をプロットします。
複数のデータをプロットする時は Data レベルの + アイコンをクリックし、データ設定を増やします。例えば、それぞれ Count と Max を選択することで時間単位のアクセス数、合計トラフィック量を同時に表示することができます。
ただここまでは普通のエリアチャートの Visualization でもできます。Time Series(Timelion含む)の特徴はここからです。
異なる Visualization(バーチャート、ラインチャート)を同時に描画する
引き続き、ブログのアクセスログからアクセス数をバーチャート、合計トラフィック量をラインチャートで描画します。
Options から表示形式を設定することができます。まずはアクセス数。バーチャートに変更するには Chart Type を Line から Bar に変更します。続いてアクセス数と、トラフィック量は桁が3つぐらい違っていて、先ほどのグラフでもアクセス数がほぼ分かりません。Separate Axis を Yes にすることで、Y軸の値を左右に分割ができます。
続いて、合計トラフィック量。エリアチャートからラインチャートに変更します。Fill を 0 にするだけです。
すると、こんなチャートが表示されます。まぁ、アクセス数とトラフィック量なので同じような推移となります。
異なるインデックスのデータを同時に描画する
続いてですが、いいサンプルデータがなかったので設定方法だけご紹介します。先ほどの 2つのデータ単位でインデックスをそれぞれ設定することが可能です。デフォルトで利用するインデックスは Panel Options の Index Pattern で設定されています。デフォルト設定は *(ワイルドカード)で全てのインデックスからデータを参照します。
それを個別のデータ毎にインデックスパターンを指定することができます。先ほどの Options の中に別のインデックスを使うか、否かの設定があります。Override Index Pattern を Yes に変更し、インデックスパターン、時系列データに利用する Date タイプのフィールド名を選択します。
まとめ
いかがでしたでしょうか?
Time Series Visual Builder を利用することで今まで面倒だった Timelion の記述式で GUI から簡単に設定することができるようになりました。Visualization の一つなのでダッシュボードに組み込むことも可能です。ちゃんと調べられてはいないですが、まだ Timelion でしか可視化できない方法もありそうなのでもうちょっと違いを深掘りしたいと思います。