システム運用の強い味方!データ可視化ツールKibanaの使い方 | SiTest (サイテスト) ブログ

メニューボタン閉じるボタン

システム運用の強い味方!データ可視化ツールKibanaの使い方

システムログやエラーログというのは、開発を行う上では不可欠であり、稼働中のシステムの運用を行っていくうえでも現状のシステムの状態やエラー発生時の過去の動作を知る手掛かりの一つとなります。
弊社では「fluentd + Elasticsearch + Kibana」を利用してログを管理しておりますが、今回はその中でもログをグラフ等で視覚的にわかりやすく表示するツール『Kibana』をご紹介します。

※ここでは弊社が導入しているKibana4をご紹介いたします。

2927926911-work-731198_1920-3Y4-640x426-MM-100

Kibanaとは?

Kibana-Logo-Color-H

Kibana is an open source analytics and visualization platform designed to work with Elasticsearch. You use Kibana to search, view, and interact with data stored in Elasticsearch indices. You can easily perform advanced data analysis and visualize your data in a variety of charts, tables, and maps.
(訳:KibanaはElasticsearchで動作するように設計されたオープンソースの分析と可視化プラットフォームです。検索ビュー、およびElasticsearchインデックスに格納されたデータと対話するためにKibanaを使用できます。簡単に高度なデータ分析を実行し、グラフ、表、およびマップのさまざまなデータを視覚化することができます。) ※公式サイトより

Elasticsearchに格納されている大量のLogデータをグラフや表で視覚的に表示できるツールです。
オープンソースで公開されており、自分のPCやサーバーにインストール後、ブラウザで使用することができます。

Kiabanaのインストール方法

◆前提条件

  • – Elasticsearch 2.3以上
  • – ブラウザ(Kibana4 は IE10以上、モバイルブラウザでも動作するようです)
  • – JVMをインストール済み

インストール

公式サイトや他のブログ等で紹介されていますので割愛させていただきます。
Kibanaインストール方法

◆設定

Kibanaをインストールしたサーバーにアクセスすると、Elasticsearchのインデックス名を指定する画面が表示されますので、インデックスを検索し、設定します。このとき、Timestampとなるフィールドを指定した場合はKibana上で直感的に日時による絞込みが可能になります。

ログデータは容易に大量になりますし、システムを稼働しつづければ無限に増えます。できるだけ日時を指定するようにしましょう。

機能

Kibana 4 には

  • – Discover
  • – Visualize
  • – Dashboard
  • – Setting

の4つのタブ(メニュー)が用意されています。

順番にそれぞれのメニューをご説明いたします。

◆Discover

TFL-CompletedTrips
ログデータの検索を行います。
画面上部に検索用のインプットがあり、初期値は「*」となっているかと思いますので、全件が表示されている状態です。
検索にはLuceneのクエリシンタックスElasticsearchのDSLを使用出来ます。

一度検索した検索クエリは保存しておくことができ、保存したものから呼び出して再度実行する機能もあります。保存はサーバー内にされるため、メンバー全員で共有することができ、大変便利です。

左のメニューから表示対象のフィールドも指定することができ、目的のデータにフォーカスして確認することができますね。

◆Visualize

TFL-CommuteHistogram
ログデータをグラフや表で表示します。
表示する形式を選択し、Discover同様検索クエリを入力すると検索結果を選択した表示形式で表示してくれます。
Discoverで保存した検索クエリを選択することも可能です。

表示する形式は

  • – Area chart : 面グラフ
  • – Data table:表
  • – Line chart:折れ線グラフ
  • – Markdown widget:マークダウン形式の入力フォーム(ダッシュボード用)
  • – Metric:数字
  • – Pie chart:円グラフ
  • – Tile map:地図
  • – Vertical bar chart:棒グラフ

から選択できます。

検索クエリ入力(選択)後、グラフの場合はX軸-Y軸に表示したい値のデータソースを指定します。
SQLの group by のように値をグルーピングしたり、値の範囲を絞ることも可能です。
グラフの分割や色味の変更もできますので、ここで見たいグラフを表現していくことになるかと思います。

◆Dashboard

TFL-Dashboard
Visualizeで保存したグラフや表・Mapを自由に配置して表示することができます。
自分達が普段表示しておきたい情報を1画面で同時に表示することができ、配置や大きさも自由自在なので、
見ているだけで飽きないようなカッコイイ画面も作ることが出来るかと思います。
Kibanaの目的はこの画面を作り出すことがゴールとも言えるかもしれませんね。

◆Setting

Elasticsearchのインデックスを指定します。
Kibanaアクセス時に一番最初に遷移した機能です。
インデックスは複数指定することも可能ですので、Dashboardに表示するグラフも複数のインデックスを同時に表示することができます。 いろいろと夢が膨らみそうです!

まとめ

Kibanaの使い方と各機能の説明を簡単に紹介いたしました。
簡単なグラフや表であれば直感的にどんどん作れちゃいそうですが、難しい解析が必要な場合は今回紹介できなかったオプションという機能で、より詳細に分割して検索・集計・可視化することもできます。

いろんなグラフを作ってDashboardに表示できた時には感動ものですので、ログの解析だけではなく、いろいろなデータをElasticsearchに投入してKibanaで表示してみてください。