Kibanaダッシュボードと視覚化の使用方法

前書き

Kibana 4は、Elasticsearchをベースに構築された分析および視覚化プラットフォームであり、データの理解を深めます。 このチュートリアルでは、Elasticsearch ELKスタックによって収集されたログメッセージをフィルター処理して視覚化するためのインターフェイスを使用する方法を示して、Kibanaの使用を開始します。 主なインターフェイスコンポーネントについて説明し、検索、視覚化、ダッシュボードの作成方法を示します。

前提条件

このチュートリアルは、* LogstashおよびKibana *による集中ログシリーズの第3部です。

ELKセットアップが機能していることを前提としています。 例では、syslogおよびNginxアクセスログを収集していることを前提としています。 これらの種類のログを収集していない場合は、デモを変更して、独自のログメッセージを処理できるようにする必要があります。

提示されたとおりにこのチュートリアルを実行する場合は、このシリーズの最初の2つのチュートリアルに従うことにより、次のセットアップが必要です。

  • syslogを収集するELKスタック:https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-4-on-ubuntu-14-04[Elasticsearchのインストール方法、Logstash 、およびUbuntu 14.04のKibana 4]

  • Nginxアクセスログとフィルター:https://www.digitalocean.com/community/tutorials/adding-logstash-filters-to-improve-centralized-logging[Logstashフィルターを追加して集中ログを改善する]

次に進む準備ができたら、Kibanaインターフェースの概要を見てみましょう。

Kibanaインターフェイスの概要

Kibanaインターフェースは、主に4つのセクションに分かれています。

  • 発見

  • 視覚化

  • ダッシュボード

  • 設定

リストされた順序で各セクションの基本を調べ、インターフェイスの各部分がどのように使用されるかを示します。

キバナディスカバー

Kibana 4に最初に接続すると、Discoverページが表示されます。 デフォルトでは、このページにはELKスタックの最近受信したログがすべて表示されます。 ここでは、* Search Queries に基づいて特定のログメッセージをフィルタリングして検索し、 Time Filter *を使用して検索結果を特定の時間範囲に絞り込むことができます。

Kibana Discoverインターフェース要素の内訳は次のとおりです。

  • *検索バー:*メインナビゲーションメニューのすぐ下。 これを使用して、特定のフィールドおよび/またはメッセージ全体を検索します

  • *時間フィルター:*右上(時計アイコン)。 これを使用して、さまざまな相対時間範囲と絶対時間範囲に基づいてログをフィルタリングします

  • *フィールドセレクタ:*左、検索バーの下。 _Log View_に表示されるフィールドを変更するフィールドを選択します

  • *日付ヒストグラム:*検索バーの下の棒グラフ。 デフォルトでは、これはすべてのログのカウントを時間(x軸)に対して表示し、検索および時間フィルターと一致します。 バーをクリックするか、クリックしてドラッグすると、時間フィルターを絞り込むことができます

  • *ログビュー:*右下。 これを使用して個々のログメッセージを確認し、_fields_でフィルタリングされたログデータを表示します。 フィールドが選択されていない場合、ログメッセージ全体が表示されます

このアニメーションは、Discoverページの主な機能のいくつかを示しています。

画像:https://assets.digitalocean.com/articles/elk/kibana/1-discover.gif [Kibana Discoverの使用方法]

以下は、実行されている内容の段階的な説明です。

  1. 各ログレコードの表示内容を制限する「タイプ」フィールドを選択しました(右下)。デフォルトでは、ログメッセージ全体が表示されます。

  2. Nginxアクセスログのみに一致する `+ type:" nginx-access "+`を検索しました

  3. 最新のNginxアクセスログを拡張して詳細を確認

結果は「過去15分間」に制限されていることに注意してください。 結果が得られない場合は、指定した期間に生成された検索クエリに一致するログがあることを確認してください。

収集およびフィルタリングされるログメッセージは、LogstashおよびLogstash Forwarderの構成に依存します。 この例では、syslogとNginxのアクセスログを収集し、「タイプ」でフィルタリングします。 ログメッセージを収集しているが、データを個別のフィールドにフィルター処理していない場合、特定のフィールドをクエリできないため、それらに対するクエリはより困難になります。

検索構文

検索は、ログメッセージの特定のサブセットを選択するための簡単で強力な方法を提供します。 検索構文は一目瞭然で、ブール演算子、ワイルドカード、およびフィールドフィルタリングが可能です。 たとえば、Google Chromeユーザーが生成したNginxアクセスログを検索する場合、「+ type: "nginx-access" AND agent: "chrome" + `」を検索できます。 特定のホストまたはクライアントIPアドレス範囲、またはログに含まれるその他のデータで検索することもできます。

保持したい検索クエリを作成したら、次のアニメーションのように、* Save アイコンをクリックしてから Save *ボタンをクリックして保存できます。

image:https://assets.digitalocean.com/articles/elk/kibana/2-save-search.gif [Kibana検索を保存する方法]

保存済み検索は、*保存済み検索の読み込み*アイコンをクリックすることでいつでも開くことができ、視覚化の作成時にも使用できます。

`+ type:" nginx-access "+`検索を“ type nginx access”として保存し、それを使用して視覚化を作成します。

Kibana Visualize

Kibana Visualizeページでは、独自のカスタムビジュアライゼーションを作成、変更、表示できます。 バーティカルバーチャートと_パイチャートから_タイルマップ(マップ上にデータを表示するため)と_データテーブルに至るまで、いくつかの異なる種類の視覚化があります。 Kibanaインスタンスにアクセスできる他のユーザーと視覚化を共有することもできます。

Kibanaビジュアライゼーションを初めて使用する場合は、先に進む前にフィールドリストを再読み込みする必要があります。 これを行う手順については、https://www.digitalocean.com/community/tutorials/how-to-use-kibana-dashboards-and-visualizations#kibana-settings [Kibana設定]セクション。

縦棒グラフを作成する

視覚化を作成するには、最初に[視覚化]メニュー項目をクリックします。

必要な視覚化のタイプを決定し、選択します。 *縦棒グラフ*を作成します。これは良い出発点です。

ここで、検索ソースを選択する必要があります。 新しい検索を作成するか、保存された検索を使用できます。 後者の方法を使用して、前に作成した* type nginx access *検索を選択します。

最初は、右側のプレビューグラフは「カウント」のY軸のみで構成されるため、検索でログメッセージが見つかったと仮定して、実線のバーになります。 つまり、指定された検索クエリで見つかったログの数を単に表示しているだけです。

視覚化をさらに便利にするために、新しい*バケット*を追加してみましょう。

まず、* X軸*バケットを追加し、[集計]ドロップダウンメニューをクリックして、[日付ヒストグラム]を選択します。 [適用]ボタンをクリックすると、1つのバーがX軸に沿って複数のバーに分割されます。 [カウント]は、[検出]ページに表示されるものと同様に、時間間隔(ドロップダウンから間隔を選択することで変更できます)に分割された複数のバーとして表示されます。

グラフをもう少し面白くしたい場合は、[サブ集約を追加]ボタンをクリックします。 * Split Bars *バケットタイプを選択します。 *サブ集計*ドロップダウンメニューをクリックして「重要な用語」を選択し、次に*フィールド*ドロップダウンメニューをクリックして「clientip.raw」を選択し、*サイズ*フィールドをクリックして「10」と入力します。 [適用]ボタンをクリックして、新しいグラフを作成します。

この時点で表示される画面のスクリーンショットは次のとおりです。

image:https://assets.digitalocean.com/articles/elk/kibana/visualize-nginx-access.png [Kibana Visualization Settings]

視覚化されているログが複数のIPアドレス(つまり、 複数の人があなたのサイトにアクセスしている場合)、各バーが色分けされたセグメントに分割されることがわかります。 色付きの各セグメントは、特定のIPアドレス(つまり、 サイトへの特定の訪問者)、グラフには最大10の異なるセグメントが表示されます([サイズ]設定のため)。 グラフ内の項目のいずれかの上にマウスを移動してクリックすると、特定のログメッセージにドリルダウンできます。

ビジュアライゼーションを保存する準備ができたら、上部近くにある*ビジュアライゼーションの保存*アイコンをクリックし、名前を付けて*保存*ボタンをクリックします。

別の視覚化を作成する

ダッシュボードの作成方法を示す次のセクションに進む前に、少なくとも1つの視覚化を作成する必要があります。 さまざまな視覚化タイプを試してみてください。

たとえば、上位5(最高カウント)のログ「タイプ」の円グラフを作成できます。 これを行うには、視覚化*をクリックしてから、*円グラフ*を選択します。 次に、*新しい検索*を使用し、検索を「」のままにします(つまり、 すべてのログ)。 次に、