Kibanaを使ったデータの閲覧

2018年5月24日(木)
石井 葵
【誰でも簡単にログ分析!OSSのBIツールElastic Stack解説書!】 株式会社インプレスR&Dより発行された「Elastic Stackで作るBI環境 誰でもできるデータ分析入門」の立ち読みコーナー第5回です

Kibanaを使ったデータの閲覧

「やっとデータが取得できたー!早速Kibanaで見てみよう!…と思ったけれど、グラフはすぐ見えないのかな?画面もいくつかあるみたいだけれど、どれを使えばいいのか分からないよ!」

 集めたデータを見る前に、Kibanaを起動しているか確認してください。無事、サービス起動できていれば、WebブラウザからKibanaのURLにアクセスします。まずは各画面の役割を把握しましょう。

KibanaのUI

 Kibana画面は大きく分けて、データを分析する画面とグラフを作って表示する画面で構成されています。後ほど各画面の使用方法を説明しますので、ここでの解説は概要のみに留めています。

Discover:データの詳細を閲覧する

 Discoverは、Elasticsearchのindex内に保持されている生データを閲覧できる箇所です。fieldごとに分割されたログの詳細はもちろん、fieldごとのデータのサマリ情報や何時頃そのログが出力されたのか棒グラフを用いて確認することもできます。

Discover画面の例

Visualize:データを使ってグラフを作成する

 取り込まれたログを使って棒グラフや折れ線グラフを作成できます。グラフは保存できるので、昔作ったグラフを呼び出して参照することが可能です。ちなみに、グラフの設定はElasticsearchの中に保存されます。

Visualize画面の例

Dashboard:グラフを集めて閲覧する

 Visualizeで作成したグラフを一箇所にまとめて参照できます。各グラフの配置・大きさは自由に決定することができます。Googleで「Kibana」を画像検索するとDashboardの画面が多く表示されます。やはりグラフが集まっていると見栄えも良いですよね。

 Dashboardに表示されるグラフは、Visualize画面で作成したものを参照します。よってDashboard作成前にグラフを作成しておく必要がありますので注意しましょう。

Dashboard画面の例

Timelion:関数を定義してグラフを複数描画する

 Timelionでは1つのグラフに複数の要素を描画することができます。複数データを比較して分析したい場合、1つの画面で違うデータの種類を閲覧できるTimelionを使用すると便利です。

 ただし、設定が難解かつ独自関数を使用しているので、初めて利用する場合はVizualizeの「Visual Builder」グラフを利用して関数の記載方法イメージを掴んでから利用すると良いでしょう。ただし、Visual Builderはバージョン5.4以降からサポートされています。

Timelion画面の例

Dev Tools:Elasticsearch用のクエリをテストする

 Dev ToolsのConsoleを使用すると、Kibana画面から直接Elasticsearchに対して検索用クエリを投げることができます。Kibana5から登場した画面なのですが、Dev Toolsが追加されるまでは1Elasticsearchにクエリを投げるためにはサーバーから直接クエリを投げるしかありませんでした。GUIで文法を確認しつつクエリをテストすることができるので、Elasticsearchのindex設定を変更する場合などはこちらの画面を使用すると良いでしょう。

DevTools画面の例

Management:Kibanaの設定画面

 Elasticsearchのindex情報が更新されたときや、不要なグラフを削除したいときに使用します。

Management画面の例

Discover画面を使ってみよう 

 まず始めにDiscover画面を使い、今どのようなデータがElasticsearchの中にあるか調べてみましょう。グラフを作る前に実際のデータを確認しておくことで、データをどのように集約・閲覧すれば良いか検討するヒントとすることができます。

「それにKibanaのグラフで使う検索条件とDiscover画面で使う検索条件は同じものだから、ここである程度検索してどんなデータが取得できるか確かめた方がいいんだね。」

 そうですね。まずはKibanaの画面に慣れるという意味でも、Discover画面を使いこなしてみましょう。Kibanaの操作説明では、全てリアルタイムでログが連携され続けるMetricbeatのindexを使用します。ただし、Logstash用のindexでも操作方法は変わりません。初めてKibanaに触れる方は、Metricbeatのindexを使用しながら操作に慣れることをおすすめします。

indexの紐付け

「…とは言っても、この画面じゃデータは見えないと思うなあ。」

 もふもふちゃんの言う通り、このままでは検索どころではありません。まず初めに、データを表示できる状態にしましょう。

 KibanaはElasticsearchのindexからデータを取得していますが、Elasticsearchは複数のindexを持つことができます。Kibanaで利用するindexを指定しないと、どの情報を出せばいいのかわかりません。つまり、新しくLogstashやMetricbeatを設定した場合、データが保持されているindexの名前をKibanaに教える必要があるのです。

 実際にindexの紐付けをおこなう方法ですが、画面上で紐付けすることができます。Management画面から「Index Patterns」を開き、「+」ボタンを押すことでもこの画面に遷移することができます。

Management画面からIndexの紐付け画面を出す①

Management画面からIndexの紐付け画面を表示する②

Management画面からIndexの紐付け画面を表示する(②を実施した結果)

 次に、紐付けるindexの名前と、indexの情報を見せるための時間軸を選択します。ElasticserachやLogstash・Metricbeatsで何も設定していない場合、Logstashから送付されているデータは「logstash」から始まるindexの中へ保存されます。Metricbeatから送付されているデータは「metricbeat」から始まるindexの中へ保存されます。

 よって、Logstashからデータを取り込んだ後は「Index name or pattern」の箇所は何も修正せずにSaveを選択します。

 ここではMetricbeatのindexをKibanaと紐づけてみます。まず始めに、「Index name or pattern」の部分に「metricbeat-*」と記入しましょう。「*」は正規表現なので、「metricbeatで始まるindex名を全て選択する」という意味となります。

KibanaとElasticserachで紐付けるIndex名を指定する(index名:metricbeatの場合)

 次に、「Time-field name」に「@timestamp」と入力します。index内のデータに時間情報が含まれている場合、「Index contains time-based events」にチェックをつけるのですが、その場合どのfield内の情報を時間として利用するか決定しなくてはいけません。

 基本的にLogstashやMetricbeatsでは時間情報を@timestampとして保持するため、こちらを時間情報をしてKibanaでも利用するようにします。

Kibanaで使用する時間情報として@timestampを選択

 すると、Create部分が青く表示されるため、クリックします。これでindexの紐付けは完了です。

Createをクリックした直後

新しくデータを取り込んだ場合

 一度indexの紐付けを行った後、新しいログをElasticsearchに連携するように設定変更すると、field部分が追加される場合があります。しかし、Kibana側は古いindex情報を使っているので、「連携されてきたログには新しいfieldが追加されているけれど、そんな情報は聞いてないぞ?」となり、警告が表示されます。

 よって、新しいfieldを追加した後は新しいindexの情報を取得する必要があります。これを行わないとKibanaで正しく検索できません。連携するログ情報が増えた後は必ずindexの紐付けを行いましょう。

1. バージョン4ではSenceというプラグインを使用することでElasticsearchにクエリを発行することができました。

Elasticsearch、Kibana、Logstashを使用したデータ分析基盤の設計・構築をメインに行なうインフラエンジニアだったが、最近配属が変わって新卒なエンジニアの教育を実施している。新卒エンジニアと一緒にプログラミングやアプリケーション開発手法を学ぶ日々を過ごしている。

連載バックナンバー

運用・管理書籍・書評
第8回

トラブルシューティング

2018/6/14
【誰でも簡単にログ分析!OSSのBIツールElastic Stack解説書!】 株式会社インプレスR&Dより発行された「Elastic Stackで作るBI環境 誰でもできるデータ分析入門」の立ち読みコーナー第8回です
運用・管理書籍・書評
第7回

Dashboard画面を使ってグラフを一覧表示する

2018/6/7
【誰でも簡単にログ分析!OSSのBIツールElastic Stack解説書!】 株式会社インプレスR&Dより発行された「Elastic Stackで作るBI環境 誰でもできるデータ分析入門」の立ち読みコーナー第7回です。
運用・管理書籍・書評
第6回

Visualize画面でデータを可視化する

2018/5/31
【誰でも簡単にログ分析!OSSのBIツールElastic Stack解説書!】 株式会社インプレスR&Dより発行された「Elastic Stackで作るBI環境 誰でもできるデータ分析入門」の立ち読みコーナー第6回です。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています