Kibana-quick-guide

提供:Dev Guides
移動先:案内検索

キバナ-概要

*Kibana* は、主に折れ線グラフ、棒グラフ、円グラフ、ヒートマップ、地域マップ、座標マップ、ゲージ、目標、タイムライオンなどの形で大量のログを分析するために使用される、オープンソースのブラウザベースの視覚化ツールです。 視覚化により、入力ソースのエラーまたはその他の重要なイベントの傾向の変化を簡単に予測または確認できます。Kibanaは、ElasticsearchおよびLogstashと同期して動作し、いわゆる *ELK* スタックを形成します。

ELK Stackとは何ですか?

*ELK* は、Elasticsearch、Logstash、およびKibanaの略です。 *ELK* は、ログ分析に世界中で使用されている一般的なログ管理プラットフォームの1つです。 ELKスタックでは、Logstashはさまざまな入力ソースからロギングデータまたはその他のイベントを抽出します。 イベントを処理し、後でElasticsearchに保存します。
*Kibana* は、Elasticsearchからログにアクセスし、折れ線グラフ、棒グラフ、円グラフなどの形式でユーザーに表示できる視覚化ツールです。

ELKスタックの基本的な流れは、ここの画像に示されています-

ELK Stack

Logstashは、ログがファイルされるすべてのリモートソースからデータを収集し、Elasticsearchにプッシュする責任を負います。

Elasticsearchは、データが収集されるデータベースとして機能し、KibanaはElasticsearchのデータを使用して、下図のように棒グラフ、円グラフ、ヒートマップの形式でユーザーにデータを表します-

弾性検索

たとえば、日単位または時間単位でユーザーにリアルタイムでデータを表示します。 Kibana UIは使いやすく、初心者にとっても非常に簡単に理解できます。

木花の特徴

Kibanaは、ユーザーに次の機能を提供します-

可視化

Kibanaには、データを簡単に視覚化する方法がたくさんあります。 一般的に使用されるものには、垂直棒グラフ、水平棒グラフ、円グラフ、折れ線グラフ、ヒートマップなどがあります。

ダッシュボード

ビジュアライゼーションの準備ができたら、それらすべてを1つのボード(ダッシュボード)に配置できます。 さまざまなセクションを一緒に観察することで、正確に何が起こっているのかについての明確な全体的な考えが得られます。

開発ツール

開発ツールを使用してインデックスを操作できます。 初心者は、開発ツールからダミーインデックスを追加したり、データを追加、更新、削除したり、インデックスを使用して視覚化を作成したりできます。

レポート

視覚化およびダッシュボードの形式のすべてのデータをレポート(CSV形式)に変換し、コードに埋め込むか、URLの形式で他のユーザーと共有できます。

フィルターと検索クエリ

フィルターと検索クエリを使用して、ダッシュボードまたは視覚化ツールから特定の入力に必要な詳細を取得できます。

プラグイン

サードパーティのプラグインを追加して、新しい視覚化を追加したり、Kibanaで他のUIを追加したりできます。

座標マップと地域マップ

Kibanaの座標および地域マップは、地理的な地図上に視覚化を表示して、データの現実的なビューを提供するのに役立ちます。

タイムライオン

  • タイムラインとも呼ばれるTimelionは、主に時間ベースのデータ分析に使用されるもう1つの視覚化ツールです。 タイムラインを使用するには、インデックスに接続し、データに対して計算を実行して必要な結果を取得するのに役立つ単純な式言語を使用する必要があります。 週、月などの点でデータを前のサイクルと比較するのに役立ちます。

キャンバス

CanvasはKibanaのもう1つの強力な機能です。 キャンバスの視覚化を使用して、データをさまざまな色の組み合わせ、形状、テキスト、基本的にワークパッドと呼ばれる複数のページで表すことができます。

Kibanaの利点

Kibanaは、ユーザーに次の利点を提供します-

  • 主に折れ線グラフ、棒グラフ、円グラフ、ヒートマップなどの形で大量のログを分析するために使用される、オープンソースのブラウザベースの視覚化ツールが含まれています。
  • 初心者が理解しやすいシンプルで使いやすい。
  • 視覚化とダッシュボードのレポートへの変換の容易さ。
  • キャンバスの視覚化により、複雑なデータを簡単に分析できます。
  • KibanaのTimelion視覚化は、データを後方に比較してパフォーマンスをよりよく理解するのに役立ちます。

Kibanaの欠点

  • バージョンが一致しない場合、Kibanaにプラグインを追加するのは非常に面倒です。
  • 古いバージョンから新しいバージョンにアップグレードする場合、問題に直面する傾向があります。

Kibana-環境設定

Kibanaでの作業を開始するには、Logstash、Elasticsearch、およびKibanaをインストールする必要があります。 この章では、ここでELKスタックのインストールを理解しようとします。

ここで次のインストールについて説明します-

  • Elasticsearchのインストール
  • Logstashのインストール
  • Kibanaのインストール

Elasticsearchのインストール

Elasticsearchの詳細なドキュメントは、ライブラリにあります。 ここでリンクを確認できます:/elasticsearch/elasticsearch_installation [elasticsearch installation]。 Elasticsearchをインストールするには、チュートリアルに記載されている手順に従う必要があります。

インストールが完了したら、次のようにelasticsearchサーバーを起動します-

ステップ1

  • Windowsの場合*
> cd kibanaproject/elasticsearch-6.5.4/elasticsearch-6.5.4/bin
> elasticsearch

Windowsユーザーの場合、JAVA_HOME変数をjava jdkパスに設定する必要があることに注意してください。

  • Linuxの場合 *
$ cd kibanaproject/elasticsearch-6.5.4/elasticsearch-6.5.4/bin
$ elasticsearch

Elasticsearchインストール

elasticsearchのデフォルトのポートは9200です。 完了したら、以下に示すlocalhost* http://localhost:9200/as *のポート9200でelasticsearchを確認できます-

Elasticsearchデフォルトポート

Elasticsearch localhost

Logstashのインストール

Logstashのインストールについては、次のリンクをたどってください:/elasticsearch/elasticsearch_installation [elasticsearch installation]これはすでにライブラリに存在しています。

Kibanaのインストール

公式のKibanaサイトに移動します-https://www.elastic.co/products/kibana

Kibana Installation

右上隅の_downloads_リンクをクリックすると、次のように画面が表示されます-

Kibanaダウンロード

Kibanaの[ダウンロード]ボタンをクリックします。 Kibanaを使用するには、64ビットマシンが必要であり、32ビットでは機能しないことに注意してください。

Kibana button

このチュートリアルでは、Kibanaバージョン6を使用します。 ダウンロードオプションは、Windows、Mac、およびLinuxで使用できます。 あなたの選択に従ってダウンロードできます。

フォルダを作成し、kibanaのtar/zipダウンロードを解凍します。 elasticsearchにアップロードされたサンプルデータを使用します。 したがって、とりあえずelasticsearchとkibanaを開始する方法を見てみましょう。 このためには、Kibanaが展開されているフォルダーに移動します。

  • Windowsの場合*
> cd kibanaproject/kibana-6.5.4/kibana-6.5.4/bin
> kibana
  • Linuxの場合*
$ cd kibanaproject/kibana-6.5.4/kibana-6.5.4/bin
$ kibana

Kibanaが起動すると、ユーザーは次の画面を見ることができます-

キバナ開始

コンソールに準備完了シグナルが表示されたら、 http://localhost:5601/ を使用してブラウザーでKibanaを開くことができます。kibanaを使用できるデフォルトのポートは5601です。

Kibanaのユーザーインターフェイスは次のとおりです-

Kibanaインターフェース

次の章では、KibanaのUIの使用方法を学習します。 Kibana UIでKibanaのバージョンを確認するには、左側の[管理]タブに移動すると、現在使用しているKibanaのバージョンが表示されます。

Kibana UI

Kibana-Elk Stackの概要

Kibanaは、主に折れ線グラフ、棒グラフ、円グラフ、ヒートマップなどの形で大量のログを分析するために使用されるオープンソースの視覚化ツールです。 Kibanaは、ElasticsearchおよびLogstashと同期して動作し、これらが一緒にいわゆる ELK スタックを形成します。

*ELK* は、Elasticsearch、Logstash、およびKibanaの略です。 *ELK* は、ログ分析に世界中で使用されている一般的なログ管理プラットフォームの1つです。

ELKスタック内-

  • Logstash は、さまざまな入力ソースからロギングデータまたはその他のイベントを抽出します。 イベントを処理し、後でElasticsearchに保存します。
  • Kibana は、Elasticsearchのログにアクセスする視覚化ツールであり、 折れ線グラフ、棒グラフ、円グラフなどの形式でユーザーに表示できる

このチュートリアルでは、KibanaおよびElasticsearchと緊密に連携し、さまざまな形式でデータを視覚化します。

この章では、ELKスタックを一緒に使用する方法を理解しましょう。 その上、あなたもする方法が表示されます-

  • LogstashからElasticsearchにCSVデータをロードします。
  • KibanaのElasticsearchのインデックスを使用します。

LogstashからElasticsearchにCSVデータをロードする

Logstashを使用してデータをElasticsearchにアップロードするには、CSVデータを使用します。 データ分析に取り組むために、kaggle.com Webサイトからデータを取得できます。 Kaggle.comサイトにはあらゆる種類のデータがアップロードされており、ユーザーはそれを使用してデータ分析に取り組むことができます。

こちらからhttps://www.kaggle.com/fernandol/countries-of-the-worldからcountrys.csvデータを取得しました。 csvファイルをダウンロードして使用できます。

使用するcsvファイルには次の詳細があります。

ファイル名-countrysdata.csv

列-_ "Country"、 "Region"、 "Population"、 "Area" _

ダミーのcsvファイルを作成して使用することもできます。 logstashを使用して、このデータを_countriesdata.csv_からelasticsearchにダンプします。

端末でelasticsearchとKibanaを起動し、実行し続けます。 私たちはlogstashの設定ファイルを作成する必要があります。これには、CSVファイルの列に関する詳細と、以下に示すlogstash-configファイルに示されるその他の詳細が含まれます-

input {
   file {
      path => "C:/kibanaproject/countriesdata.csv"
      start_position => "beginning"
      sincedb_path => "NUL"
   }
}
filter {
   csv {
      separator => ","
      columns => ["Country","Region","Population","Area"]
   }
   mutate {convert => ["Population", "integer"]}
   mutate {convert => ["Area", "integer"]}
}
output {
   elasticsearch {
      hosts => ["localhost:9200"]
      => "countriesdata-%{+dd.MM.YYYY}"
   }
   stdout {codec => json_lines }
}

構成ファイルでは、3つのコンポーネントを作成しました-

入力

入力ファイル(この場合はcsvファイル)のパスを指定する必要があります。 csvファイルが保存されているパスは、パスフィールドに指定されます。

フィルタ

この例ではコンマであるセパレータを使用したcsvコンポーネントと、csvファイルで使用可能な列があります。 logstashはすべてのデータを文字列として受け取るため、すべての列を整数として使用する場合は、上に示すようにmutateを使用して同じ列を指定する必要があります。

出力

出力の場合、データを配置する場所を指定する必要があります。 ここでは、私たちの場合、elasticsearchを使用しています。 elasticsearchに提供する必要があるデータは、それが実行されているホストです。これはlocalhostとして言及しています。 の次のフィールドは、countries-currentdateとして名前を付けたインデックスです。 Elasticsearchでデータが更新されたら、Kibanaで同じインデックスを使用する必要があります。

上記の構成ファイルを_logstash_countries.config_として保存します。 次のステップで、この設定のパスをlogstashコマンドに渡す必要があることに注意してください。

データをcsvファイルからelasticsearchにロードするには、elasticsearchサーバーを起動する必要があります-

Elasticsearchサーバーの起動

次に、ブラウザで http://localhost:9200 を実行して、elasticsearchが正常に実行されているかどうかを確認します。

Elasticsearch Running

elasticsearchを実行しています。 ここで、logstashがインストールされているパスに移動し、次のコマンドを実行してデータをelasticsearchにアップロードします。

> logstash -f logstash_countries.conf

Elasticsearchコマンドプロンプト

Elasticsearch Upload Data

上記の画面は、CSVファイルからElasticsearchへのデータのロードを示しています。 Elasticsearchでインデックスが作成されているかどうかを知るために、次のように確認できます-

上記のように作成されたcountrysdata-28.12.2018インデックスを確認できます。

Countriesdata Index

インデックスの詳細-国-2018年12月28日は次のとおりです-

Countriesdata Detail Index

プロパティを使用したマッピングの詳細は、データがlogstashからelasticsearchにアップロードされるときに作成されることに注意してください。

KibanaでElasticsearchのデータを使用する

現在、ローカルホスト、ポート5601- http://localhost:5601 でKibanaを実行しています。 KibanaのUIはここに示されています-

Kibana Running

ElasticsearchにKibanaが既に接続されており、Kibana内で index:countries-28.12.2018 を確認できることに注意してください。

Kibana UIで、左側の[管理メニュー]オプションをクリックします-

管理メニュー

今、インデックス管理をクリックします-

インデックス管理

Elasticsearchに存在するインデックスは、インデックス管理に表示されます。 Kibanaで使用するインデックスは、countriesdata-28.12.2018です。

したがって、すでにKibanaにelasticsearchインデックスがあるので、次に、Kibanaでインデックスを使用して、円グラフ、棒グラフ、折れ線グラフなどの形式でデータを視覚化する方法を理解します。

Kibana-サンプルデータの読み込み

logstashからelasticsearchにデータをアップロードする方法を見てきました。 ここでは、logstashとelasticsearchを使用してデータをアップロードします。 ただし、使用する必要がある日付、経度、緯度のフィールドを持つデータについては、今後の章で学習します。 CSVファイルがない場合は、Kibanaにデータを直接アップロードする方法も確認します。

この章では、次のトピックを扱います-

  • Elasticsearchで日付、経度、緯度のフィールドを持つLogstashアップロードデータを使用する
  • 開発ツールを使用してバルクデータをアップロードする

Elasticsearchにフィールドを持つデータにLogstashアップロードを使用する

CSV形式のデータを使用します。これは、分析に使用できるデータを扱うKaggle.comから取得されます。

ここで使用されるhttps://www.kaggle.com/HackandHealth/home-medical-visits-healthcare [在宅医療]データは、Kaggle.comサイトから取得されます。

以下は、CSVファイルで利用可能なフィールドです-

["Visit_Status","Time_Delay","City","City_id","Patient_Age","Zipcode","Latitude","Longitude",
"Pathology","Visiting_Date","Id_type","Id_personal","Number_Home_Visits","Is_Patient_Minor","Geo_point"]

Home_visits.csvは次のとおりです-

訪問

以下はlogstashで使用されるconfファイルです-

input {
   file {
      path => "C:/kibanaproject/home_visits.csv"
      start_position => "beginning"
      sincedb_path => "NUL"
   }
}
filter {
   csv {
      separator => ","
      columns =>
      ["Visit_Status","Time_Delay","City","City_id","Patient_Age",
      "Zipcode","Latitude","Longitude","Pathology","Visiting_Date",
      "Id_type","Id_personal","Number_Home_Visits","Is_Patient_Minor","Geo_point"]
   }
   date {
      match => ["Visiting_Date","dd-MM-YYYY HH:mm"]
      target => "Visiting_Date"
   }
   mutate {convert => ["Number_Home_Visits", "integer"]}
   mutate {convert => ["City_id", "integer"]}
   mutate {convert => ["Id_personal", "integer"]}
   mutate {convert => ["Id_type", "integer"]}
   mutate {convert => ["Zipcode", "integer"]}
   mutate {convert => ["Patient_Age", "integer"]}
   mutate {
      convert => { "Longitude" => "float" }
      convert => { "Latitude" => "float" }
   }
   mutate {
      rename => {
         "Longitude" => "[location][lon]"
         "Latitude" => "[location][lat]"
      }
   }
}
output {
   elasticsearch {
      hosts => ["localhost:9200"]
      index => "medicalvisits-%{+dd.MM.YYYY}"
   }
   stdout {codec => json_lines }
}

デフォルトでは、logstashはすべてがelasticsearchに文字列としてアップロードされるとみなします。 CSVファイルに日付フィールドがある場合、日付形式を取得するには以下を実行する必要があります。

日付フィールド用-

date {
   match => ["Visiting_Date","dd-MM-YYYY HH:mm"]
   target => "Visiting_Date"
}

地理的位置の場合、elasticsearchはと同じを理解します-

"location": {
   "lat":41.565505000000044,
   "lon": 2.2349995750000695
}

したがって、elasticsearchが必要とする形式で経度と緯度があることを確認する必要があります。 そのため、最初に経度と緯度を浮動小数点に変換し、後で名前を変更して、 _ lat_ および lonlocation jsonオブジェクトの一部として使用できるようにする必要があります。 同じためのコードはここに示されています-

mutate {
      convert => { "Longitude" => "float" }
      convert => { "Latitude" => "float" }
   }
mutate {
   rename => {
      "Longitude" => "[location][lon]"
      "Latitude" => "[location][lat]"
   }
}

フィールドを整数に変換するには、次のコードを使用します-

mutate {convert => ["Number_Home_Visits", "integer"]}
mutate {convert => ["City_id", "integer"]}
mutate {convert => ["Id_personal", "integer"]}
mutate {convert => ["Id_type", "integer"]}
mutate {convert => ["Zipcode", "integer"]}
mutate {convert => ["Patient_Age", "integer"]}

フィールドに注意が払われたら、次のコマンドを実行してelasticsearchにデータをアップロードします-

  • Logstash binディレクトリ内に移動し、次のコマンドを実行します。
logstash -f logstash_homevisists.conf
  • 完了したら、以下に示すようにelasticsearchのlogstash confファイルに記載されているインデックスが表示されるはずです-

logstash conf

アップロードされた上記のインデックスにインデックスパターンを作成し、視覚化の作成にさらに使用できます。

開発ツールを使用してバルクデータをアップロードする

Kibana UIからDev Toolsを使用します。 開発ツールは、Logstashを使用せずにElasticsearchにデータをアップロードするのに役立ちます。 開発ツールを使用して、Kibanaで必要なデータを投稿、配置、削除、検索できます。

このセクションでは、サンプルデータをKibana自体にロードしようとします。 これを使用してサンプルデータを練習し、Kibanaの機能を操作して、Kibanaをよく理解できます。

次のURLからjsonデータを取得し、それをKibanaにアップロードします。 同様に、サンプルのJSONデータをKibana内にロードすることもできます。

サンプルデータのアップロードを開始する前に、elasticsearchで使用するインデックス付きのjsonデータが必要です。 logstashを使用してアップロードする場合、logstashはインデックスの追加に注意し、ユーザーはelasticsearchで必要なインデックスを気にする必要はありません。

通常のJSONデータ

[
   {"type":"act","line_id":1,"play_name":"Henry IV",

   "speech_number":"","line_number":"","speaker":"","text_entry":"ACT I"},
   {"type":"scene","line_id":2,"play_name":"Henry IV",
   "speech_number":"","line_number":"","speaker":"","text_entry":"SCENE I.London. The palace."},
   {"type":"line","line_id":3,"play_name":"Henry IV",
   "speech_number":"","line_number":"","speaker":"","text_entry":
   "Enter KING HENRY, LORD JOHN OF LANCASTER, the
   EARL of WESTMORELAND, SIR WALTER BLUNT, and others"}
]

Kibanaで使用するjsonコードは、次のようにインデックス付けする必要があります-

{"index":{"_index":"shakespeare","_id":0}}
{"type":"act","line_id":1,"play_name":"Henry IV",
"speech_number":"","line_number":"","speaker":"","text_entry":"ACT I"}
{"index":{"_index":"shakespeare","_id":1}}
{"type":"scene","line_id":2,"play_name":"Henry IV",
"speech_number":"","line_number":"","speaker":"",
"text_entry":"SCENE I. London. The palace."}
{"index":{"_index":"shakespeare","_id":2}}
{"type":"line","line_id":3,"play_name":"Henry IV",
"speech_number":"","line_number":"","speaker":"","text_entry":
"Enter KING HENRY, LORD JOHN OF LANCASTER, the EARL
of WESTMORELAND, SIR WALTER BLUNT, and others"}

jsonfileには追加データがあります-* \ {"index":\ {"_ index": "nameofindex"、 "_ id":key}} *。

elasticsearchと互換性のあるサンプルjsonファイルを変換するには、ここでelasticsearchが必要とする形式に与えられたjsonファイルを出力するPHPの小さなコードがあります-

PHPコード

<?php
   $myfile = fopen("todo.json", "r") or die("Unable to open file!");//your json
   file here
   $alldata = fread($myfile,filesize("todo.json"));
   fclose($myfile);
   $farray = json_decode($alldata);
   $afinalarray = [];
   $index_name = "todo";
   $i=0;
   $myfile1 = fopen("todonewfile.json", "w") or die("Unable to open file!");//
   writes a new file to be used in kibana dev tool
   foreach ($farray as $a => $value) {
      $_index = json_decode('{"index": {"_index": "'.$index_name.'", "_id": "'.$i.'"}}');
      fwrite($myfile1, json_encode($_index));
      fwrite($myfile1, "\n");
      fwrite($myfile1, json_encode($value));
      fwrite($myfile1, "\n");
      $i++;
   }
?>

[[1]] jsonファイルを取得し、phpコードを使用してKibanaでアップロードする必要がある形式に変換しました。

サンプルデータをロードするには、以下に示すように開発ツールタブを開きます-

開発ツール

上記のコンソールを使用します。 PHPコードで実行した後に取得したJSONデータを取得します。

jsonデータをアップロードするために開発ツールで使用されるコマンドは-

POST _bulk

作成するインデックスの名前は_todo_であることに注意してください。

jsonデータのアップロード

開発ツールインデックス

緑色のボタンをクリックすると、データがアップロードされ、次のようにelasticsearchでインデックスが作成されているかどうかを確認できます-

作成されたインデックス

次のように、開発ツール自体で同じことを確認できます-

コマンド-

GET/_cat/indices

開発ツールコマンド

あなたがあなたのindex:todoで何かを検索したい場合は、以下に示すようにそれを行うことができます-

開発ツールのコマンド

GET/todo/_search

開発ツール検索

上記の検索の出力は以下のとおりです-

開発ツールの出力

todoindexに存在するすべてのレコードを提供します。 取得する合計レコードは200です。

Todoインデックスでレコードを検索する

私たちは次のコマンドを使用してそれを行うことができます-

GET/todo/_search
{
   "query":{
      "match":{
         "title":"delectusautautem"
      }
   }
}

レコードtodoインデックス

レコードを取得

指定したタイトルに一致するレコードを取得できます。

木花-マネジメント

Kibanaの管理セクションは、インデックスパターンを管理するために使用されます。 この章では、以下について説明します-

  • 時間フィルターフィールドなしのインデックスパターンの作成
  • 時間フィルターフィールドを使用したインデックスパターンの作成

時間フィルターなしのインデックスパターンの作成フィールド

これを行うには、Kibana UIに移動し、[管理]をクリックします-

Kibana UI Management

Kibanaを使用するには、まずelasticsearchから生成されるインデックスを作成する必要があります。 次のように、Elasticsearch→Index Managementから利用可能なすべてのインデックスを取得できます-

Elasticsearchインデックス管理

現在、elasticsearchには上記のインデックスがあります。 ドキュメントカウントは、各インデックスで使用可能なレコードの数を示しています。 更新されるインデックスがある場合、ドキュメントカウントは変化し続けます。 プライマリストレージは、アップロードされた各インデックスのサイズを示します。

Kibanaで新しいインデックスを作成するには、以下に示すようにインデックスパターンをクリックする必要があります-

インデックスパターン

[インデックスパターン]をクリックすると、次の画面が表示されます-

インデックスパターン画面

[インデックスパターンの作成]ボタンを使用して、新しいインデックスを作成することに注意してください。 チュートリアルの最初に、countriesdata-28.12.2018がすでに作成されていることを思い出してください。

時間フィルターフィールドを使用したインデックスパターンの作成

[インデックスパターンの作成]をクリックして、新しいインデックスを作成します。

時間フィルターフィールド

elasticsearchからのインデックスが表示されます。新しいインデックスを作成するために1つを選択してください。

インデックスパターンの作成

次に、[次のステップ]をクリックします。

次のステップは、次を入力する必要がある設定を構成することです-

  • _時間フィルターフィールド名_は、時間に基づいてデータをフィルターするために使用されます。 ドロップダウンが表示されます インデックスのすべての日時関連フィールド。

以下に示す画像では、日付フィールドとして_Visiting_Date_があります。 [時間フィルター]フィールド名として[Visiting_Date]を選択します。

時間フィルターフィールド名

*_Create index pattern_* ボタンをクリックして、インデックスを作成します。 完了すると、以下に示すように、インデックスmedicalvisits-26.01.2019に存在するすべてのフィールドが表示されます-

インデックスmedicalvisits-26.01.2019には次のフィールドがあります-

["Visit_Status","Time_Delay","City","City_id","Patient_Age","Zipcode","Latitude
","Longitude","Pathology","Visiting_Date","Id_type","Id_personal","Number_Home_
Visits","Is_Patient_Minor","Geo_point"].

インデックスには、在宅医療の訪問に関するすべてのデータが含まれています。 logstashから挿入されるとelasticsearchによって追加されるいくつかの追加フィールドがあります。

医療訪問

医療訪問ログスタッシュ

medical visits elasticsearch

medical visits elasticsearch

キバナ-発見

この章では、Kibana UIの[検出]タブについて説明します。 私たちは次の概念について詳細に学びます-

  • 日付フィールドのないインデックス
  • 日付フィールドを持つインデックス

日付フィールドのないインデックス

以下に示すように、左側のメニューで[検出]を選択します-

発見メニュー

右側には、前の章で作成した countriesdata- 28.12.2018 インデックスで利用可能なデータの詳細が表示されます。

左上隅には、利用可能なレコードの総数が表示されます-

左上隅

このタブでインデックス (countriesdata-28.12.2018) 内のデータの詳細を取得できます。 上記の画面の左上には、新規、保存、開く、共有、検査、自動更新などのボタンがあります。

[自動更新]をクリックすると、次のような画面が表示されます-

自動更新

上から秒、分、または時間をクリックして、自動更新間隔を設定できます。 Kibanaは、設定したインターバルタイマーごとに画面を自動更新し、新しいデータを取得します。

*_index:countriesdata-28.12.2018_* からのデータは、次のように表示されます-

すべてのフィールドはデータとともに行ごとに表示されます。 矢印をクリックして行を展開すると、表形式またはJSON形式で詳細が表示されます

テーブル形式

詳細テーブル形式

JSON形式

JSON Format

左側に「単一文書の表示」というボタンがあります。

単一ドキュメント

それをクリックすると、以下に示すように、ページ内の行または行に存在するデータが表示されます-

データ表示行

単一ドキュメント行

ここではすべてのデータの詳細を取得していますが、それぞれを詳細に調べることは困難です。

次に、データを表形式で取得してみましょう。 行のいずれかを展開し、各フィールドで使用可能なトグル列オプションをクリックする1つの方法を以下に示します-

それぞれに利用可能な表オプションの列の切り替えをクリックすると、データが表形式で表示されていることに気付くでしょう-

列の切り替え

ここでは、国、地域、地域、人口のフィールドを選択しました。 展開された行を折りたたむと、すべてのデータが表形式で表示されます。

選択されたフィールド

選択したフィールドは、以下に示すように画面の左側に表示されます-

表示される選択フィールド

_Selected fields_および_Available fields_という2つのオプションがあることに注意してください。 表形式で表示するために選択したフィールドは、選択したフィールドの一部です。 フィールドを削除する場合は、選択したフィールドオプションのフィールド名に表示される削除ボタンをクリックして削除できます。

フィールドの削除

削除されると、フィールドは使用可能なフィールド内で使用可能になり、必要なフィールド全体に表示される追加ボタンをクリックして追加できます。 このメソッドを使用して、_Available fields_から必要なフィールドを選択することにより、表形式でデータを取得することもできます。

Discoverには検索オプションがあり、これを使用してインデックス内のデータを検索できます。 ここで検索オプションに関連する例を試してみましょう-

あなたが国インドを検索したい場合、次のようにすることができます-

検索フィールド

検索の詳細を入力して、[更新]ボタンをクリックできます。 あなたがオーストラリアで始まる国を検索したい場合は、次のようにすることができます-

フィールドの更新

[更新]をクリックして結果を確認します

結果の更新

ここには、Aus *で始まる2つの国があります。 上記のように、検索フィールドには[オプション]ボタンがあります。 ユーザーがこのボタンをクリックすると、トグルボタンが表示され、ONにすると検索クエリの作成に役立ちます。

検索クエリ

クエリ機能をオンにして、検索でフィールド名を入力すると、そのフィールドで使用可能なオプションが表示されます。

たとえば、国フィールドは文字列であり、文字列フィールドの次のオプションが表示されます-

文字列フィールド

同様に、面積は数値フィールドであり、数値フィールドの次のオプションが表示されます-

数字フィールド

[検出]フィールドで選択したとおりに、さまざまな組み合わせを試してデータをフィルタリングできます。 [検出]タブ内のデータは、[保存]ボタンを使用して保存できるため、将来の目的に使用できます。

discover内のデータを保存するには、以下に示すように右上隅の保存ボタンをクリックします-

検索を保存

検索にタイトルを付けて、[保存の確認]をクリックして保存します。 保存したら、次に[検出]タブにアクセスすると、右上にある[開く]ボタンをクリックして、以下に示すように保存されたタイトルを取得できます-

検索を開く

右上にある[共有]ボタンを使用して、他のユーザーとデータを共有することもできます。 それをクリックすると、以下に示すように共有オプションを見つけることができます-

共有検索

CSVレポートを使用するか、パーマリンクの形式で共有できます。

CSVレポートのonclickで利用できるオプションは次のとおりです-

CSVレポート

[CSVを生成]をクリックして、レポートを他のユーザーと共有します。

パーマリンクのクリックで利用可能なオプションは次のとおりです-

Onclick Permalinks

スナップショットオプションは、現在検索で使用可能なデータを表示するKibanaリンクを提供します。

[保存されたオブジェクト]オプションは、検索で利用可能な最近のデータを表示するKibanaリンクを提供します。

スナップショット- http://localhost:5601/goto/309a983483fccd423950cfb708fabfa5 保存済みオブジェクト:http://localhost:5601/app/kibana#/discover/40bd89d0-10b1-11e9-9876-4f3d759b471e?_g =()

[検出]タブと使用可能な検索オプションを使用して、取得した結果を保存し、他のユーザーと共有できます。

日付フィールドを持つインデックス

[検出]タブに移動し、インデックス: medicalvisits-26.01.2019 を選択します

タブ選択インデックスを検出

選択したインデックスの最後の15分間に、「検索条件に一致する結果がありません」というメッセージが表示されました。 インデックスには、2015年、2016年、2017年、2018年のデータがあります。

以下に示すように時間範囲を変更します-

時間範囲の変更

[絶対]タブをクリックします。

絶対タブ

2017年のデータを分析するため、日付を2017年1月1日から2017年12月31日まで選択します。

日付を選択

[Go]ボタンをクリックして、時間範囲を追加します。 次のようにデータと棒グラフが表示されます-

タイムレンジの追加

これは2017年の月次データです-

月次データ

日付とともに時刻も保存されているため、時間と分でデータをフィルタリングすることもできます。

フィルターデータ

上記の図は、2017年の1時間ごとのデータを示しています。

ここでは、インデックスから表示されたフィールド-medicalvisits-26.01.2019

毎時データ

以下に示すように、左側に利用可能なフィールドがあります-

毎時データ利用可能フィールド

以下のように、使用可能なフィールドからフィールドを選択し、データを表形式に変換できます。 ここでは、次のフィールドを選択しました-

表形式

上記のフィールドの表形式のデータはここに示されています-

表形式データ

Kibana-集計とメトリック

Kibanaの学習中によく出くわす2つの用語は、バケットとメトリック集約です。 この章では、Kibanaで彼らが果たす役割と、Kibanaの詳細について説明します。

Kibana集計とは何ですか?

集約とは、特定の検索クエリまたはフィルターから取得したドキュメントのコレクションまたはドキュメントのセットを指します。 集約は、Kibanaで目的の視覚化を構築するための主要な概念を形成します。

視覚化を実行するたびに、基準を決定する必要があります。つまり、どの方法でデータをグループ化してメトリックを実行するかを決定する必要があります。

このセクションでは、2種類の集計について説明します-

  • バケット集約
  • メトリック集約

バケット集約

バケットは主にキーとドキュメントで構成されます。 集約が実行されると、ドキュメントはそれぞれのバケットに配置されます。 そのため、最後にバケットのリストがあり、それぞれにドキュメントのリストがあります。 Kibanaで視覚化を作成しているときに表示されるバケット集約のリストを以下に示します-

バケット集約

バケット集約には次のリストがあります-

  • 日付ヒストグラム
  • 期間
  • フィルター
  • ヒストグラム
  • IPv4範囲
  • 範囲
  • 重要な用語
  • 条項

作成中に、バケット集約用にそれらの1つを決定する必要があります。 バケット内のドキュメントをグループ化します。

例として、分析のために、このチュートリアルの開始時にアップロードした国のデータを考慮してください。 国インデックスで利用可能なフィールドは、国名、地域、人口、地域です。 国のデータには、人口、地域、地域とともに国の名前があります。

地域ごとのデータが必要だと仮定しましょう。 次に、各地域で利用可能な国が検索クエリになるため、この場合、地域がバケットを形成します。 以下のブロック図は、R1、R2、R3、R4、R5、およびR6が取得したバケットであり、c1、c2 ..c25がバケットR1〜R6の一部であるドキュメントのリストであることを示しています。

ブロック図の集計

各バケットにいくつかの円があることがわかります。 これらは、検索条件に基づいたドキュメントのセットであり、各バケットに該当すると見なされます。 バケットR1には、ドキュメントc1、c8、およびc15があります。 これらの文書は、他の地域と同じように、その地域に該当する国です。 したがって、バケットR1の国を数えると、R2は3、6、R3は6、R4は2、R5は5、R6は4です。

したがって、バケットの集約により、ドキュメントをバケットに集約し、上記のようにそれらのバケットにドキュメントのリストを作成できます。

これまでのバケット集約のリストは次のとおりです-

  • 日付ヒストグラム
  • 期間
  • フィルター
  • ヒストグラム
  • IPv4範囲
  • 範囲
  • 重要な用語
  • 条項

次に、これらのバケットを1つずつ詳細に形成する方法について説明します。

日付ヒストグラム

日付ヒストグラム集計は、日付フィールドで使用されます。 したがって、視覚化に使用するインデックスは、そのインデックスに日付フィールドがある場合、この集計タイプのみが使用できます。 これは、複数バケットの集約です。つまり、複数のバケットの一部としてドキュメントの一部を持つことができます。 この集約に使用される間隔があり、詳細は以下に示すとおりです-

日付ヒストグラム

バケットの集計を日付ヒストグラムとして選択すると、日付関連のフィールドのみを表示するフィールドオプションが表示されます。 あなたのフィールドを選択したら、次の詳細がある間隔を選択する必要があります-

間隔ヒストグラムの選択

そのため、選択されたインデックスから選択されたフィールドと間隔に基づいたドキュメントは、ドキュメントをバケットに分類します。 たとえば、間隔を月単位として選択した場合、日付に基づいたドキュメントはバケットに変換され、月に基づいて、つまり1月から12月にドキュメントがバケットに入れられます。 ここで、1月、2月、.. 12月がバケツになります。

期間

この集計タイプを使用するには、日付フィールドが必要です。 ここで、日付範囲があります。つまり、日付から日付までが指定されます。 バケットには、指定されたフォームと日付に基づいたドキュメントが含まれます。

日付範囲

フィルター

Filtersタイプの集約では、バケットはフィルターに基づいて形成されます。 ここでは、1つのドキュメントが1つ以上のバケットに存在できるフィルター基準に基づいて形成されたマルチバケットを取得します。

フィルターを使用して、ユーザーは以下に示すようにフィルターオプションでクエリを記述できます-

フィルター

[フィルターの追加]ボタンを使用して、選択した複数のフィルターを追加できます。

ヒストグラム

このタイプの集約は数値フィールドに適用され、適用された間隔に基づいてドキュメントをバケットにグループ化します。 たとえば、0-50、50-100、100-150など。

ヒストグラム

IPv4範囲

このタイプの集約が使用され、主にIPアドレスに使用されます。

IPv4範囲

contriesdata-28.12.2018というインデックスはIPタイプのフィールドがないため、上記のようなメッセージが表示されます。 IPフィールドがある場合は、上に示すように、FromおよびToの値を指定できます。

範囲

このタイプの集約には、タイプ番号のフィールドが必要です。 範囲を指定する必要があり、ドキュメントは範囲内のバケットにリストされます。

必要に応じて、[範囲の追加]ボタンをクリックして範囲を追加できます。

重要な用語

このタイプの集約は、主に文字列フィールドで使用されます。

重要な用語

条項

このタイプの集約は、利用可能なすべてのフィールド、つまり、数値、文字列、日付、ブール値、IPアドレス、タイムスタンプなどで使用されます。 これは、このチュートリアルで作業するすべての視覚化で使用する集計です。

用語

選択したメトリックに基づいてデータをグループ化するオプションの順序があります。 サイズは、ビジュアライゼーションに表示するバケットの数を指します。

次に、メトリック集約について説明しましょう。

メトリック集約

メトリック集計は、主にバケットに存在するドキュメントで実行される数学計算を指します。 たとえば、数値フィールドを選択した場合、それに対して実行できるメトリック計算は、COUNT、SUM、MIN、MAX、AVERAGEなどです。

私たちが議論するメトリック集約のリストはここに与えられます-

メトリック集約

このセクションでは、私たちが頻繁に使用する重要なものについて議論しましょう-

  • 平均
  • カウント
  • Max
  • Min
  • Sum

メトリックは、すでに上で説明した個々のバケット集約に適用されます。

次に、ここでメトリック集約のリストについて説明しましょう-

平均

これにより、バケットに存在するドキュメントの値の平均が得られます。 たとえば-

平均

R1からR6はバケットです。 R1にはc1、c8およびc15があります。 c1の値が300、c8が500、c15が700であるとします。 次に、R1バケットの平均値を取得します

R1 = c1の値+ c8の値+ c15の値/3 = 300 + 500 + 700/3 = 500。

バケットR1の平均は500です。 ここで、ドキュメントの価値は、国のデータを考慮すると、その地域のその国のエリアである可能性があります。

カウント

これにより、バケットに存在するドキュメントの数がわかります。 地域に存在する国の数が必要だとすると、それはバケットに存在するドキュメントの合計になります。 たとえば、R1は3、R2 = 6、R3 = 5、R4 = 2、R5 = 5、R6 = 4になります。

Max

これにより、バケットに存在するドキュメントの最大値が得られます。 地域バケットに地域ごとの国データがある場合、上記の例を検討してください。 各地域の最大値は、最大面積を持つ国になります。 したがって、各地域から1つの国、つまり R1からR6。

in

これにより、バケットに存在するドキュメントの最小値が得られます。 地域バケットに地域別の国データがある場合、上記の例を検討します。 各地域の最小値は、最小面積を持つ国になります。 したがって、各地域から1つの国、つまり R1からR6。

Sum

これにより、バケットに存在するドキュメントの値の合計が得られます。 たとえば、地域の総面積または国が必要な場合に上記の例を考慮すると、地域に存在するドキュメントの合計になります。

たとえば、地域R1の合計国を知るには、3、R2 = 6、R3 = 5、R4 = 2、R5 = 5およびR6 = 4になります。

R1からR6よりも地域に面積のあるドキュメントがある場合、その地域について国ごとの面積が合計されます。

Kibana-ビジュアライゼーションの作成

持っているデータを棒グラフ、折れ線グラフ、円グラフなどの形で視覚化できます。 この章では、視覚化の作成方法を理解します。

視覚化を作成する

以下に示すようにKibana Visualizationに移動します-

視覚化

ビジュアライゼーションが作成されていないため、空白が表示され、ビジュアライゼーションを作成するボタンがあります。

上の画面に示されているように、ボタン Create a Visualization をクリックすると、次の画面に移動します-

視覚化の作成

ここで、データを視覚化するために必要なオプションを選択できます。 次の章でそれらのそれぞれを詳細に理解します。 今から開始する円グラフを選択します。

円グラフ

視覚化の種類を選択したら、作業するインデックスを選択する必要があります。次のように画面が表示されます-

視覚化タイプ

これで、デフォルトの円グラフができました。 countrysdata-28.12.2018を使用して、円グラフ形式で国データで利用可能な地域の数を取得します。

バケットとメトリックの集約

左側にはメトリックがあり、これをカウントとして選択します。 バケットには、スライスの分割とチャートの分割の2つのオプションがあります。 [スライスの分割]オプションを使用します。

バケットメトリック集約

今、分割スライスを選択すると、次のオプションが表示されます-

スライスの分割

今、用語として集計を選択すると、次のように入力するオプションが表示されます-

用語としての集約

[フィールド]ドロップダウンには、index:countriesdataのすべてのフィールドが選択されています。 RegionフィールドとOrder Byを選択しました。 Order Byのメトリックカウントを選択していることに注意してください。 降順とサイズを10として注文します。 ここでは、国のインデックスから上位10地域を取得することを意味します。

次に、下に強調表示されている[分析]ボタンをクリックすると、右側に更新された円グラフが表示されます。

分析ボタン

円グラフ表示

円グラフ表示

すべての領域は右上隅に色付きでリストされ、同じ色が円グラフに表示されます。 円グラフの上にマウスを置くと、以下に示すように、地域の数と地域の名前が表示されます-

したがって、アップロードした国のデータから、地域の22.77%がサハラ以南のアフリカ人によって占有されていることがわかります。

国データ

国のデータ

アジア地域は12.5%をカバーし、その数は28です。

これで、以下に示すように右上隅の保存ボタンをクリックしてビジュアライゼーションを保存できます-

新しい視覚化

可視化を保存

次に、ビジュアライゼーションを保存して、後で使用できるようにします。

また、以下に示すように検索オプションを使用して、必要なデータを取得することができます-

可視化を保存

Aus *で始まる国のデータをフィルタリングしました。 パイチャートやその他の視覚化については、今後の章で詳しく説明します。

Kibana-チャートの操作

視覚化で最も一般的に使用されるチャートを調べて理解しましょう。

  • 横棒グラフ
  • 縦棒グラフ
  • 円グラフ

以下は、上記の視覚化を作成するために従うべき手順です。 水平バーから始めましょう。

横棒グラフ

Kibanaを開き、以下に示すように左側の[視覚化]タブをクリックします-

用語としての集約

[+]ボタンをクリックして、新しい視覚エフェクトを作成します-

キバナビジュアライゼーション

上記の水平バーをクリックします。 視覚化するインデックスを選択する必要があります。

水平バーリスト

上記のように、 _ countriesdata-28.12.2018_ インデックスを選択します。 インデックスを選択すると、以下に示すような画面が表示されます-

インデックスの選択

デフォルトのカウントが表示されます。 次に、国ごとの上位10の人口のデータを表示できる水平グラフをプロットします。

この目的のために、Y軸とX軸で必要なものを選択する必要があります。 したがって、バケットとメトリック集約を選択します-

水平グラフ

今、あなたがY軸をクリックすると、以下に示すように画面が表示されます-

Y軸をクリック

ここで、ここに示されているオプションから必要な集約を選択します-

集約オプション

ここでは、利用可能な最大母集団ごとにデータを表示するため、最大集計を選択します。

次に、最大値が必要なフィールドを選択する必要があります。 インデックス_countriesdata-28.12.2018_には、2つの数値フィールド(面積と人口)のみがあります。

私たちは最大人口が欲しいので、以下に示すように人口フィールドを選択します-

最大人口

これで、Y軸が完成しました。 Y軸で得られる出力は以下のとおりです-

Y軸出力

次に、以下に示すようにX軸を選択しましょう-

X軸を選択

あなたはX軸を選択した場合、あなたは次の出力を取得します-

X軸出力

用語として集計を選択します。

集約条件を選択

ドロップダウンからフィールドを選択します。 国別の人口が必要なので、国フィールドを選択します。 私たちは次のオプションがあります注文-

ドロップダウンフィールド

最も人口の多い国が最初に表示されるように、Max Populationとして順序を選択します。 必要なデータを追加したら、以下に示すように、メトリックデータの上部にある[変更を適用]ボタンをクリックします-

最高人口

[変更を適用]をクリックすると、中国が最も人口の多い国であり、インド、米国などが続く水平グラフが表示されます。

最高人口

同様に、必要なフィールドを選択することにより、さまざまなグラフをプロットできます。 次に、この視覚エフェクトをmax_populationとして保存し、後でダッシュボードの作成に使用します。

次のセクションでは、垂直棒グラフを作成します。

縦棒グラフ

[視覚化]タブをクリックし、垂直バーとインデックスを使用して新しい視覚エフェクトを countriesdata-28.12.2018 として作成します。

この垂直バーの視覚化では、国別のエリアを持つ棒グラフを作成します。 国は最も高い面積で表示されます。

だから、下に示すようにY軸とX軸を選択しましょう-

Y軸

垂直棒グラフ

X軸

垂直棒グラフのX軸

ここで変更を適用すると、次のように出力が表示されます-

垂直棒グラフ出力

グラフから、ロシアが最も高い地域であり、次にカナダと米国が続いていることがわかります。 このデータはインデックスの国データとそのダミーデータから選択されるため、ライブデータでは数値が正しくない可能性があることに注意してください。

この視覚エフェクトを_countrywise_maxarea_として保存し、後でダッシュボードで使用できるようにします。

次に、円グラフで作業しましょう。

円グラフ

そのため、まずビジュアライゼーションを作成し、インデックスをcountrysdataとして円グラフを選択します。 countrysdataで利用可能な地域の数を円グラフ形式で表示します。

左側には、カウントするメトリックがあります。 バケットには、スライスの分割とチャートの分割の2つのオプションがあります。 次に、[スライスの分割]オプションを使用します。

円グラフの視覚化

今、あなたが分割スライスを選択した場合、それは次のオプションが表示されます-

円グラフバケット

用語として集計を選択すると、次のように入力するオプションが表示されます-

集計条件

[フィールド]ドロップダウンには、選択したインデックスのすべてのフィールドが含まれます。 [Count]フィールドと[Order By]を選択し、[Count]として選択しました。 降順で注文し、サイズは10になります。 したがって、ここでは、国のインデックスから10の地域をカウントします。

次に、下に強調表示されている再生ボタンをクリックすると、右側に円グラフが更新されます。

更新された円グラフ

円グラフ表示

表示される円グラフ

すべての領域は右上隅に色付きでリストされ、同じ色が円グラフに表示されます。 円グラフの上にマウスを置くと、以下に示すように、地域の数と地域の名前が表示されます-

円グラフのマウスオーバー

円グラフの地域

したがって、アップロードした国のデータでは、地域の22.77%がサブサハラアフリカ人によって占有されていることがわかります。

円グラフから、アジア地域が12.5%をカバーし、その数が28であることを確認してください。

これで、以下に示すように右上隅の保存ボタンをクリックしてビジュアライゼーションを保存できます-

アジア地域

次に、ビジュアライゼーションを保存して、後でダッシュボードで使用できるようにします。

視覚化ダッシュボード

Kibana-グラフの操作

この章では、視覚化で使用される2種類のグラフについて説明します-

  • 折れ線グラフ
  • Area

折れ線グラフ

まず、視覚化を作成し、線グラフを選択してデータを表示し、_contriesdata_をインデックスとして使用します。 私たちはY軸とX軸を作成する必要があり、その詳細は以下に示されています-

Y軸用

折れ線グラフのY軸

Maxを集約として使用したことに注意してください。 そのため、ここではデータプレゼンテーションを折れ線グラフで表示します。 次に、国ごとの最大人口を示すグラフをプロットします。 国ごとに最大の人口が必要なので、私たちが取った分野は人口です。

X軸用

折れ線グラフのX軸

X軸では、用語を集計、Country.keywordをフィールド、メトリック:注文者の最大人口、注文サイズは5です。 したがって、人口が最大の上位5つの国をプロットします。 変更を適用した後、以下に示すように折れ線グラフを見ることができます-

折れ線グラフの変更

中国にはマックス人口があり、インド、アメリカ、インドネシア、ブラジルが人口上位5か国です。

ここで、この折れ線グラフを保存して、後でダッシュボードで使用できるようにします。

折れ線グラフの保存

[保存の確認]をクリックすると、視覚エフェクトを保存できます。

面積グラフ

視覚化に移動し、countriesdataとしてインデックスを持つ領域を選択します。 Y軸とX軸を選択する必要があります。 国別の最大面積の面積グラフをプロットします。

したがって、ここでX軸とY軸は以下のようになります-

面積グラフ

面積グラフ軸

変更の適用ボタンをクリックすると、表示される出力は次のようになります-

エリアグラフの変更

グラフから、ロシアが最も高く、次にカナダ、米国、中国、ブラジルが続くことがわかります。 ビジュアライゼーションを保存して、後で使用します。

Kibana-ヒートマップの操作

この章では、ヒートマップの使用方法を理解します。 ヒートマップは、データメトリックで選択された範囲のさまざまな色でデータ表示を表示します。

ヒートマップの使用開始

まず、以下に示すように左側の視覚化タブをクリックして視覚化を作成する必要があります-

ヒートマップの視覚化

上に示すように、ヒートマップとして視覚化タイプを選択します。 以下に示すように、インデックスを選択するように求められます-

ヒートマップインデックス

上記のようにインデックス_countriesdata-28.12.2018_を選択します。 インデックスが選択されると、以下に示すようにデータが選択されます-

選択したヒートマップインデックス

以下に示すようにメトリックを選択します-

ヒートマップメトリックス

以下に示すようにドロップダウンから最大集約を選択します-

ヒートマップの最大集約

国ごとに最大面積をプロットするため、Maxを選択しました。

次に、以下に示すようにバケットの値を選択します-

ヒートマップバケット

今、私たちは以下に示すようにX軸を選択しましょう-

ヒートマップX軸

用語として集計、国としてフィールド、および最大面積による順序を使用しました。 以下に示すように[変更の適用]をクリックします-

ヒートマップ最大領域

[変更の適用]をクリックすると、ヒートマップは次のようになります-

ヒートマップの変更

ヒートマップはさまざまな色で表示され、領域の範囲は右側に表示されます。 以下に示すように、領域範囲の隣にある小さな円をクリックして色を変更できます-

表示されるヒートマップ

Kibana-座標マップの操作

Kibanaの座標マップは、地理的領域を表示し、指定した集計に基づいて領域を円でマークします。

座標マップのインデックスを作成

座標マップに使用されるバケット集約は、ジオハッシュ集約です。 このタイプの集約の場合、使用するインデックスには、geo pointタイプのフィールドが必要です。 ジオポイントは、緯度と経度の組み合わせです。

Kibana開発ツールを使用してインデックスを作成し、それにバルクデータを追加します。 マッピングを追加し、必要なgeo_pointタイプを追加します。

私たちが使用しようとしているデータはここに示されています-

{"index":{"_id":1}}
{"location": "2.089330000000046,41.47367000000008", "city": "SantCugat"}
{"index":{"_id":2}}
{"location": "2.2947825000000677,41.601800991000076", "city": "Granollers"}
{"index":{"_id":3}}
{"location": "2.1105957495300474,41.5496295760424", "city": "Sabadell"}
{"index":{"_id":4}}
{"location": "2.132605678083895,41.5370461908878", "city": "Barbera"}
{"index":{"_id":5}}
{"location": "2.151270020052683,41.497779918345415", "city": "Cerdanyola"}
{"index":{"_id":6}}
{"location": "2.1364609496220606,41.371303520399344", "city": "Barcelona"}
{"index":{"_id":7}}
{"location": "2.0819450306711165,41.385491966414705", "city": "Sant Just Desvern"}
{"index":{"_id":8}}
{"location": "2.00532082278266,41.542294286427385", "city": "Rubi"}
{"index":{"_id":9}}
{"location": "1.9560805366930398,41.56142635214226", "city": "Viladecavalls"}
{"index":{"_id":10}}
{"location": "2.09205348251486,41.39327140161001", "city": "Esplugas de Llobregat"}

次に、以下に示すように、Kibana Dev Toolsで次のコマンドを実行します-

PUT/cities
{
   "mappings": {
      "_doc": {
         "properties": {
            "location": {
               "type": "geo_point"
            }
         }
      }
   }
}

POST/cities/_city/_bulk?refresh
{"index":{"_id":1}}
{"location": "2.089330000000046,41.47367000000008", "city": "SantCugat"}
{"index":{"_id":2}}
{"location": "2.2947825000000677,41.601800991000076", "city": "Granollers"}
{"index":{"_id":3}}
{"location": "2.1105957495300474,41.5496295760424", "city": "Sabadell"}
{"index":{"_id":4}}
{"location": "2.132605678083895,41.5370461908878", "city": "Barbera"}
{"index":{"_id":5}}
{"location": "2.151270020052683,41.497779918345415", "city": "Cerdanyola"}
{"index":{"_id":6}}
{"location": "2.1364609496220606,41.371303520399344", "city": "Barcelona"}
{"index":{"_id":7}}
{"location": "2.0819450306711165,41.385491966414705", "city": "Sant Just Desvern"}
{"index":{"_id":8}}
{"location": "2.00532082278266,41.542294286427385", "city": "Rubi"}
{"index":{"_id":9}}
{"location": "1.9560805366930398,41.56142635214226", "city": "Viladecavalls"}
{"index":{"_id":10}}
{"location": "2.09205348251486,41.3s9327140161001", "city": "Esplugas de Llobregat"}

今、Kibana開発ツールで上記のコマンドを実行します-

Kibana dev tools

上記は、_docタイプのインデックス名の都市を作成し、フィールドの場所はgeo_pointタイプです。

次に、インデックスにデータを追加しましょう。都市-

キバナインデックス名

インデックス名の引用をデータで作成しました。 次に、[管理]タブを使用して都市のインデックスパターンを作成します。

キバナインデックスパターン

都市インデックス内のフィールドの詳細はここに示されています-

キバナインデックスの詳細

場所のタイプはgeo_pointであることがわかります。 これを使用して視覚化を作成できます。

座標マップの使用を開始する

Visualizationに移動して、座標マップを選択します。

座標マップ

インデックスパターンの都市を選択し、以下に示すように集約メトリックとバケットを構成します-

集約メトリックの構成

分析ボタンをクリックすると、次の画面が表示されます-

分析ボタン

経度と緯度に基づいて、円は上記のように地図上にプロットされます。

Kibana-地域マップの操作

この視覚化により、地理的な世界地図上にデータが表示されます。 この章では、これを詳細に見てみましょう。

地域マップのインデックスを作成

地域マップの視覚化で動作する新しいインデックスを作成します。 アップロードするデータをここに示します-

{"index":{"_id":1}}
{"country": "China", "population": "1313973713"}
{"index":{"_id":2}}
{"country": "India", "population": "1095351995"}
{"index":{"_id":3}}
{"country": "United States", "population": "298444215"}
{"index":{"_id":4}}
{"country": "Indonesia", "population": "245452739"}
{"index":{"_id":5}}
{"country": "Brazil", "population": "188078227"}
{"index":{"_id":6}}
{"country": "Pakistan", "population": "165803560"}
{"index":{"_id":7}}
{"country": "Bangladesh", "population": "147365352"}
{"index":{"_id":8}}
{"country": "Russia", "population": "142893540"}
{"index":{"_id":9}}
{"country": "Nigeria", "population": "131859731"}
{"index":{"_id":10}}
{"country": "Japan", "population": "127463611"}

開発ツールで_bulk uploadを使用してデータをアップロードすることに注意してください。

今、Kibana Dev Toolsに移動して、次のクエリを実行します-

PUT/allcountries
{
   "mappings": {
      "_doc": {
         "properties": {
            "country": {"type": "keyword"},
               "population": {"type": "integer"}
         }
      }
   }
}
POST/allcountries/_doc/_bulk?refresh
{"index":{"_id":1}}
{"country": "China", "population": "1313973713"}
{"index":{"_id":2}}
{"country": "India", "population": "1095351995"}
{"index":{"_id":3}}
{"country": "United States", "population": "298444215"}
{"index":{"_id":4}}
{"country": "Indonesia", "population": "245452739"}
{"index":{"_id":5}}
{"country": "Brazil", "population": "188078227"}
{"index":{"_id":6}}
{"country": "Pakistan", "population": "165803560"}
{"index":{"_id":7}}
{"country": "Bangladesh", "population": "147365352"}
{"index":{"_id":8}}
{"country": "Russia", "population": "142893540"}
{"index":{"_id":9}}
{"country": "Nigeria", "population": "131859731"}
{"index":{"_id":10}}
{"country": "Japan", "population": "127463611"}

次に、すべての国のインデックスを作成します。 国のフィールドタイプを keyword として指定しました-

PUT/allcountries
{
   "mappings": {
      "_doc": {
         "properties": {
            "country": {"type": "keyword"},
            "population": {"type": "integer"}
         }
      }
   }
}

注意-地域マップを使用するには、キーワードとしてのタイプとして集計で使用するフィールドタイプを指定する必要があります。

キバナ地域マップ

完了したら、_bulkコマンドを使用してデータをアップロードします。

バルクを使用したキバナ

インデックスパターンを作成します。 [Kibana Management]タブに移動し、[インデックスパターンの作成]を選択します。

キバナ管理タブ

allcountriesインデックスから表示されるフィールドは次のとおりです。

表示されるすべての国のインデックス

地域マップを使ってみる

次に、地域マップを使用して視覚化を作成します。 Visualizationに移動し、Region Mapsを選択します。

visualization_using_Region_Maps

完了したら、_allcountries_としてインデックスを選択して続行します。

以下に示すように、集約メトリックとバケットメトリックを選択します-

集計メトリックの選択

バケットメトリック

ここでは、世界地図に同じものを表示したいので、国としてフィールドを選択しました。

地域マップのベクトルマップと結合フィールド

地域マップの場合、以下に示すようにオプションタブも選択する必要があります-

ベクターマップ

[オプション]タブには、世界地図にデータをプロットするために必要なレイヤー設定があります。

ベクトルマップには次のオプションがあります-

ベクトルマップオプション

国データがあるため、ここでは世界の国を選択します。

参加フィールドには次の詳細があります-

参加フィールド

インデックスには国名があるため、国名を選択します。

スタイル設定では、国に表示される色を選択することができます-

スタイル設定

レッドを選択します。 残りの詳細については触れません。

今、下に示すように世界地図にプロットされた国の詳細を見るために分析ボタンをクリックしてください-

分析ボタンをクリック

Kibanaの自己ホスト型ベクトルマップと結合フィールド

ベクトルマップと結合フィールドに独自のKibana設定を追加することもできます。 それを行うには、kibana configフォルダーからkibana.ymlに移動し、次の詳細を追加します-

regionmap:
   includeElasticMapsService: false
   layers:
      - name: "Countries Data"
      url: "http://localhost/kibana/worldcountries.geojson"
      attribution: "INRAP"
      fields:
         - name: "Country"
         description: "country names"

[オプション]タブのベクターマップには、デフォルトのデータの代わりに上記のデータが入力されます。 Kibanaが同じURLをダウンロードできるように、指定されたURLはCORS対応でなければならないことに注意してください。 使用するjsonファイルは、座標が連続するようにする必要があります。 たとえば-

https://vector.maps.elastic.co/blob/5659313586569216?elastic_tile_service_tos=agree

リージョンマップベクトルマップの詳細が自己ホストされている場合のオプションタブは以下に示されています-

ベクトルマップの詳細

Kibana-ゲージと目標の使用

ゲージの視覚化により、データで考慮されるメトリックが定義済みの範囲内にどのように収まるかがわかります。

目標の視覚化により、目標と、データに関するメトリックが目標に向かってどのように進行するかがわかります。

ゲージの使用

Gaugeの使用を開始するには、視覚化に移動し、Kibana UIから[視覚化]タブを選択します。

ゲージの操作

[ゲージ]をクリックして、使用するインデックスを選択します。

ゲージをクリック

_medicalvisits-26.01.2019_インデックスで作業します。

2017年2月の時間範囲を選択します

2月の時間範囲

これで、メトリックとバケットの集計を選択できます。

メトリックバケット集約

メトリック集計をカウントとして選択しました。

メトリック集計カウント

[Terms]を選択したバケット集約と、選択したフィールドは[Number_Home_Visits]です。

データオプションタブから、選択されたオプションは以下に示されています-

データオプションタブ

ゲージタイプは、円または円弧の形式にすることができます。 アークとして選択し、他のすべてをデフォルト値として設定しました。

追加した定義済みの範囲は次のとおりです-

ゲージのデフォルト値

選択した色は緑から赤です。

今、分析ボタンをクリックして、以下に示すようにゲージの形で視覚化を確認します-

ゲージの視覚化

目標に取り組む

以下に示すように、視覚化タブに移動し、目標を選択します-

視覚化タブ

[目標]を選択し、インデックスを選択します。

_medicalvisits-26.01.2019_をインデックスとして使用します。

目標インデックスの選択

メトリック集約とバケット集約を選択します。

メトリック集約

ゲージメトリック集約

メトリック集計としてカウントを選択しました。

バケット集約

ゲージバケット集約

バケットの集計として用語を選択しました。フィールドはNumber_Home_Visitsです。

選択されたオプションは次のとおりです-

Number_Home_Visits

選択された範囲は次のとおりです-

選択されたゲージ範囲

[分析]をクリックすると、次のように目標が表示されます-

Gauge_goal display

Kibana-キャンバスの操作

CanvasはKibanaのもう1つの強力な機能です。 キャンバスの視覚化を使用して、さまざまな色の組み合わせ、形状、テキスト、マルチページ設定などでデータを表すことができます。

キャンバスに表示するデータが必要です。 次に、Kibanaで既に利用可能なサンプルデータをロードします。

キャンバス作成用のサンプルデータの読み込み

サンプルデータを取得するには、Kibanaホームページにアクセスし、下に示すように[サンプルデータの追加]をクリックします-

Kibanaホームページ

[データセットとKibanaダッシュボードを読み込む]をクリックします。 以下に示すように、画面に移動します-

Kibanaダッシュボード

サンプルeコマース注文の[追加]ボタンをクリックします。 サンプルデータの読み込みには時間がかかります。 完了すると、「サンプルのeコマースデータが読み込まれました」という警告メッセージが表示されます。

Canvas Visualizationの開始

次に、以下に示すようにCanvas Visualizationに進みます-

Canvas Visualization

キャンバスをクリックすると、以下に示すような画面が表示されます-

Canvas Workpads

eコマースおよびWebトラフィックのサンプルデータが追加されています。 新しいワークパッドを作成するか、既存のワークパッドを使用できます。

ここでは、既存のものを選択します。 eCommerce Revenue Tracking Workpad Nameを選択すると、以下に示す画面が表示されます-

eコマース収益追跡ワークパッド

Canvasで既存のワークパッドを複製する

ワークパッドを複製して、変更できるようにします。 既存のワークパッドのクローンを作成するには、左下に示されているワークパッドの名前をクリックします-

既存のワークパッドキャンバスのクローン作成

名前をクリックして、以下に示すようにクローンオプションを選択します-

クローンオプションの選択

クローンボタンをクリックすると、eCommerce Revenue Trackingワークパッドのコピーが作成されます。 あなたは以下に示すようにそれを見つけることができます-

既存のワークパッドキャンバスのクローン作成

このセクションでは、ワークパッドの使用方法を理解しましょう。 ワークパッドの上に表示されている場合、2ページあります。 したがって、キャンバスでは、複数のページでデータを表すことができます。

ページ2の表示は以下のとおりです-

複数ページのキャンバス

ページ1を選択し、以下に示すように左側に表示される総売上高をクリックします-

既存のワークパッドキャンバスのクローン作成

右側では、それに関連するデータを取得します-

クローン関連データ

現在使用されているデフォルトのスタイルは緑色です。 ここで色を変更し、表示を確認できます。

色の変更

以下に示すように、テキスト設定のフォントとサイズも変更しました-

フォントサイズの変更

キャンバス内のワークパッドに新しいページを追加する

ワークパッドに新しいページを追加するには、以下に示すように行います-

キャンバス内のワークパッド

以下に示すようにページが作成されたら-

作成されたワークパッドページ

[要素の追加]をクリックすると、以下に示すようにすべての可能な視覚化が表示されます-

可能な視覚化を表示

以下に示すように、データテーブルと面グラフの2つの要素を追加しました

データテーブル面グラフ

同じページにデータ要素を追加したり、ページを追加したりできます。

Kibana-ダッシュボードの作成

前の章では、垂直バー、水平バー、円グラフなどの形で視覚化を作成する方法を見てきました。 この章では、それらをダッシュ​​ボードの形で組み合わせる方法を学びましょう。 ダッシュボードは作成されたビジュアライゼーションのコレクションであるため、一度にまとめて見ることができます。

ダッシュボード入門

Kibanaでダッシュボードを作成するには、次のように利用可能なダッシュボードオプションをクリックします-

ダッシュボードの作成

次に、上記のように[新しいダッシュボードを作成]ボタンをクリックします。 以下に示すように、画面に移動します-

新しいダッシュボードボタン

これまでに作成されたダッシュボードがないことに注意してください。 上部にオプションがあり、保存、キャンセル、追加、オプション、共有、自動更新、ダッシュボードのデータ取得時間の変更ができます。 上記の[追加]ボタンをクリックして、新しいダッシュボードを作成します。

ダッシュボードに視覚化を追加

[追加]ボタン(左上隅)をクリックすると、次のように作成した視覚化が表示されます-

視覚化ダッシュボードの追加

ダッシュボードに追加する視覚エフェクトを選択します。 以下に示すように、最初の3つの視覚化を選択します-

最初の3つの視覚化

これは、それが一緒に画面上で見られる方法です-

一緒に画面に

したがって、ユーザーとして、アップロードしたデータに関する全体的な詳細を取得することができます-国名、地域名、地域、人口のフィールドを持つ国別。

これで、利用可能なすべての地域、降順で賢明な最大人口、最大面積などがわかりました。

これはアップロードしたサンプルデータの視覚化にすぎませんが、実際にはビジネスの詳細を非常に簡単に追跡できるようになります。たとえば、毎月または毎日数百万件のヒットを取得するWebサイトがある場合、売上を追跡したい場合毎日、毎時、毎分、毎秒行われます。ELKスタックを適切に配置している場合、Kibanaは見たいときに毎時、毎秒、目の前にセールスの視覚化を表示できます。 現実の世界で起こっているリアルタイムデータを表示します。

Kibanaは、全体として、ビジネストランザクションに関する正確な詳細を1日ごと、1時間ごと、または1分ごとに抽出する上で非常に重要な役割を果たしているため、会社は進捗状況を把握しています。

ダッシュボードを保存

上部の保存ボタンを使用して、ダッシュボードを保存できます。

ダッシュボードの保存

ダッシュボードの名前を入力できるタイトルと説明、およびダッシュボードの機能を説明する短い説明があります。 次に、保存の確認をクリックしてダッシュボードを保存します。

ダッシュボードの時間範囲の変更

現在、表示されているデータは過去15分間のものです。 これは時間フィールドのない静的データであるため、表示されるデータは変更されません。 データをリアルタイムシステムに接続して時刻を変更すると、反映するデータも表示されます。

デフォルトでは、以下に示すように、過去15分間が表示されます-

タイムレンジダッシュボード

最後の15分をクリックすると、選択に従って選択できる時間範囲が表示されます。

[クイック]、[相対]、[絶対]、[最近]のオプションがあることに注意してください。 次のスクリーンショットは、クイックオプションの詳細を示しています-

詳細クイックオプション

今、利用可能なオプションを見るために相対をクリックします-

相対をクリック

ここでは、開始日と終了日を分、時間、秒、月、年前で指定できます。

絶対オプションには次の詳細があります-

開始日と終了日

カレンダーオプションが表示され、日付範囲を選択できます。

最近のオプションは、過去15分間のオプションと、最近選択した他のオプションを返します。 時間範囲を選択すると、その時間範囲内のデータが更新されます。

ダッシュボードで検索とフィルターを使用する

ダッシュボードで検索とフィルターを使用することもできます。 検索では、特定の地域の詳細を取得したい場合、以下に示すように検索を追加できます-

ダッシュボードのフィルター

上記の検索では、Regionフィールドを使用しており、region:OCEANIAの詳細を表示します。

次の結果が得られます-

ダッシュボードの結果

上記のデータを見ると、OCEANIA地域では、オーストラリアに最大の人口と面積があります。

最大人口エリア

同様に、以下に示すようにフィルターを追加できます-

フィルターの追加

ダッシュボードフィルター

次に、[フィルターの追加]ボタンをクリックすると、以下に示すように、インデックスで使用可能なフィールドの詳細が表示されます-

詳細フィールド

フィルタリングするフィールドを選択します。 以下に示すように、地域フィールドを使用して、アジア地域の詳細を取得します-

フィルタを保存すると、次のようにフィルタが表示されるはずです-

アジア地域の詳細

追加されたフィルターごとにデータが表示されます-

フィルター追加

以下に示すように、さらにフィルターを追加することもできます-

フィルターを追加

以下に示すように、無効化チェックボックスをクリックしてフィルターを無効化できます。

チェックボックスを無効にする

同じチェックボックスをクリックしてアクティブにすることで、フィルタをアクティブにできます。 フィルターを削除する削除ボタンがあることを確認します。 [編集]ボタンをクリックして、フィルターを編集するか、フィルターオプションを変更します。

表示される視覚化では、以下に示すように3つの点に気付くでしょう-

3つのドットに注意

それをクリックすると、以下に示すようにオプションが表示されます-

表示オプション

検査とフルスクリーン

検査をクリックすると、以下に示すように、表形式で地域の詳細が表示されます-

地域の表形式

Excelシートで表示したい場合は、CSV形式で視覚化をダウンロードするオプションがあります。

次のオプションのフルスクリーンは、以下に示すようにフルスクリーンモードで視覚化を取得します-

視覚化フルスクリーンモード

同じボタンを使用して、フルスクリーンモードを終了できます。

共有ダッシュボード

共有ボタンを使用してダッシュボードを共有できます。 共有ボタンをクリックすると、次のように表示されます-

ダッシュボード共有ボタン

また、埋め込みコードを使用してサイトにダッシュボードを表示したり、他のユーザーと共有するリンクとなるパーマリンクを使用したりすることもできます。

ダッシュボードパーマリンク

URLは次のようになります-

http://localhost:5601/goto/519c1a088d5d0f8703937d754923b84b

キバナ-タイムライオン

タイムラインとも呼ばれるTimelionは、主に時間ベースのデータ分析に使用されるもう1つの視覚化ツールです。 タイムラインを操作するには、簡単な式言語を使用して、インデックスに接続し、必要な結果を得るためにデータを計算する必要があります。

Timelionはどこで使用できますか?

Timelionは、時間関連のデータを比較するときに使用されます。 たとえば、サイトがあり、毎日ビューを取得しています。 現在の週のデータを前の週と比較したいデータを分析したい、つまり 月曜日から月曜日、火曜日から火曜日など、ビューとトラフィックの違いについて。

Timelionの使用開始

Timelionでの作業を開始するには、以下に示すようにTimelionをクリックしてください-

Timelionで始まる

デフォルトでTimelionは以下に示すようにすべてのインデックスのタイムラインを示しています-

Timelionインデックス

Timelionは式の構文で動作します。

注意-es(*)⇒はすべてのインデックスを意味します。

Timelionで使用できる機能の詳細を取得するには、以下に示すようにテキストエリアをクリックするだけです-

テキストエリアをクリック

式の構文で使用される関数のリストを提供します。

Timelionで開始すると、以下に示すようにウェルカムメッセージが表示されます。 ハイライトされたセクション、つまり 関数リファレンスにジャンプし、timelionで使用できるすべての関数の詳細を示します。

タイムライオンウェルカムメッセージ

Timelionのウェルカムメッセージは以下のとおりです-

ようこそメッセージ

次のボタンをクリックすると、基本的な機能と使用方法が表示されます。 今、次へをクリックすると、次の詳細を見ることができます-

Timelion基本機能

Elasticsearch Datasourceのクエリ

Elasticsearch Datasourceの表現

データの変換

Timelion関数リファレンス

Timelionで利用可能な関数リファレンスの詳細を取得するには、[ヘルプ]ボタンをクリックします-

関数リファレンス

Timelionの構成

timelionの設定は、Kibana Management→詳細設定で行います。

Timelion設定

[詳細設定]をクリックし、[カテゴリ]から[Timelion]を選択します

Timelionカテゴリ

Timelionを選択すると、timelionの構成に必要なすべてのフィールドが表示されます。

Timelion必須フィールド

次のフィールドでは、デフォルトのインデックスとインデックスで使用される時間フィールドを変更できます-

タイムライオンタイムフィールド

デフォルトは_allで、timefieldは@timestampです。 そのままにして、timelion自体のインデックスとタイムフィールドを変更します。

Timelionを使用してデータを視覚化する

index:_medicalvisits-26.01.2019_を使用します。 以下は、2017年1月1日から2017年12月31日までのtimelionで表示されるデータです-

Timelionディスプレイ

上記の視覚化に使用される式は次のとおりです-

.es(index=medicalvisits-26.01.2019,timefield=Visiting_Date).bars()

インデックス_medicalvisits-26.01.2019_を使用し、そのインデックスのtimefieldはVisiting_Dateで、bars関数を使用しました。

以下では、2017年1月の日ごとの2つの都市を分析しました。

分析されたタイムライオン

使用される式は-

.es(index=medicalvisits-26.01.2019,timefield=Visiting_Date,
q=City:Sabadell).label(Sabadell),.es(index=medicalvisits-26.01.2019,
timefield=Visiting_Date, q=City:Terrassa).label(Terrassa)

2日間のタイムラインの比較はここに示されています-

.es(index=medicalvisits-26.01.2019,timefield=Visiting_Date).label("August 2nd 2018"),
.es(index=medicalvisits-26.01.2019,timefield=Visiting_Date,offset=-1d).label("August 1st 2018")

ここでは、オフセットを使用し、1日の差を指定しました。 現在の日付を2018年8月2日に選択しました。 したがって、2018年8月2日と2018年8月1日のデータの違いがわかります。

タイムライオンの比較

2017年1月の上位5都市のデータのリストを以下に示します。 ここで使用した式は以下のとおりです-

.es(index=medicalvisits-26.01.2019,timefield=Visiting_Date,split=City.keyword:5)

トップ都市のリスト

splitを使用し、フィールド名にcityを指定しました。インデックスの上位5都市が必要なので、_split = City.keyword:5_として指定しました。

それは各都市の数を与え、プロットされたグラフに示されるようにそれらの名前をリストします。

Kibana-開発ツール

Logstashを使用せずに、開発ツールを使用してElasticsearchにデータをアップロードできます。 開発ツールを使用して、Kibanaで必要なデータを投稿、配置、削除、検索できます。

Kibanaで新しいインデックスを作成するには、開発ツールで次のコマンドを使用できます-

PUTを使用したインデックスの作成

インデックスを作成するコマンドは、次のとおりです-

PUT/usersdata?pretty

これを実行すると、空のインデックスユーザーデータが作成されます。

PUTを使用してインデックスを作成

インデックスの作成はこれで完了です。 今、インデックスにデータを追加します-

PUTを使用してインデックスにデータを追加する

次のようにインデックスにデータを追加できます-

PUTを使用してデータを追加

インデックスを使用してデータを追加

usersdataインデックスにもう1つのレコードを追加します-

Usersdata index

したがって、usersdataインデックスには2つのレコードがあります。

GETを使用してインデックスからデータを取得する

次のようにレコード1の詳細を取得できます-

GETを使用したインデックス

次のようにすべてのレコードを取得できます-

すべてのレコードを取得

したがって、上記のようにusersdataからすべてのレコードを取得できます。

PUTを使用してインデックスのデータを更新する

レコードを更新するには、次のようにすることができます-

PUTを使用してインデックスを更新

名前を「Ervin Howell」から「Clementine Bauch」に変更しました。 今、私たちはインデックスからすべてのレコードを取得し、更新されたレコードを次のように見ることができます-

レコードの更新

DELETEを使用してインデックスからデータを削除する

ここに示すように、レコードを削除できます-

DELETEを使用したインデックス

これで、合計レコードが表示された場合、レコードは1つだけになります-

次のように作成されたインデックスを削除することができます-

DELETEを使用したインデックス

インデックス作成の削除

使用可能なインデックスを確認すると、インデックスが削除されたため、usersdataインデックスは含まれません。

Kibana-モニタリング

Kibana Monitoringは、ELKスタックのパフォーマンスに関する詳細を提供します。 使用メモリ、応答時間などの詳細を取得できます。

監視の詳細

Kibanaで監視の詳細を取得するには、以下に示すように監視タブをクリックします-

Kibana Monitoring

監視を初めて使用するため、監視をオンにしておく必要があります。 このためには、上記のように*監視を有効にする*ボタンをクリックします。 ここにElasticsearchの詳細が表示されます-

監視をオンにする

elasticsearchのバージョン、使用可能なディスク、elasticsearchに追加されたインデックス、ディスクの使用状況などを提供します。

Kibanaの監視の詳細はここに示されています-

監視の詳細

リクエストとリクエストの最大応答時間、および実行中のインスタンスとメモリ使用量を示します。

Kibana-Kibanaを使用したレポートの作成

Kibana UIで使用可能な[共有]ボタンを使用して、レポートを簡単に作成できます。

Kibanaのレポートは、次の2つの形式で利用可能です-

  • パーマリンク
  • CSVレポート

パーマリンクとして報告

視覚化を実行する場合、次のように同じものを共有できます-

レポートパーマリンク

共有ボタンを使用して、視覚化を埋め込みコードまたはパーマリンクとして他のユーザーと共有します。

埋め込みコードの場合、次のオプションがあります-

埋め込みコード

iframeコードは、スナップショットまたは保存されたオブジェクトの短いURLまたは長いURLとして生成できます。 スナップショットは最近のデータを提供せず、ユーザーはリンクが共有されたときに保存されたデータを見ることができます。 後で行われた変更は反映されません。

保存されたオブジェクトの場合、その視覚化に対する最近の変更を取得します。

長いURLのスナップショットIFrameコード-

<iframe src="http://localhost:5601/app/kibana#/visualize/edit/87af
cb60-165f-11e9-aaf1-3524d1f04792?embed=true&_g=()&_a=(filters:!(),linked:!f,query:(language:lucene,query:''),
uiState:(),vis:(aggs:!((enabled:!t,id:'1',params:(field:Area),schema:metric,type:max),(enabled:!t,id:'2',p
arams:(field:Country.keyword,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!
f,otherBucketLabel:Other,size:10),schema:segment,type:terms)),params:(addLegend:!t,addTimeMarker:!f,addToo
ltip:!t,categoryAxes:!((id:CategoryAxis-1,labels:(show:!t,truncate:100),position:bottom,scale:(type:linear),
show:!t,style:(),title:(),type:category)),grid:(categoryLines:!f,style:(color:%23eee)),legendPosition:right,
seriesParams:!((data:(id:'1',label:'Max+Area'),drawLi
nesBetweenPoints:!t,mode:stacked,show:true,showCircles:!t,type:histogram,valueAxis:ValueAxis-1)),times:!(),
type:histogram,valueAxes:!((id:ValueAxis-1,labels:(filter:!f,rotate:0,show:!t,truncate:100),name:LeftAxis-1,
position:left,scale:(mode:normal,type:linear),show:!t,style:(),title:(text:'Max+Area'),type:value))),title:
'countrywise_maxarea+',type:histogram))" height="600" width="800"></iframe>

短いURLのスナップショットiframeコード-

<iframe src="http://localhost:5601/goto/f0a6c852daedcb6b4fa74cce8c2ff6c4?embed=true" height="600" width="800"><iframe>

スナップショットおよびショットURLとして。

短いURLで-

http://localhost:5601/goto/f0a6c852daedcb6b4fa74cce8c2ff6c4

短いURLをオフにすると、リンクは次のようになります-

http://localhost:5601/app/kibana#/visualize/edit/87afcb60-165f-11e9-aaf1-3524d1f04792?_g=()&_a=(filters:!(
),linked:!f,query:(language:lucene,query:''),uiState:(),vis:(aggs:!((enabled:!t,id:'1',params:(field:Area),
schema:metric,type:max),(enabled:!t,id:'2',params:(field:Country.keyword,missingBucket:!f,missingBucketLabel:
Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:10),schema:segment,type:terms)),
params:(addLegend:!t,addTimeMarker:!f,addTooltip:!t,categoryAxes:!((id:CategoryAxis-1,labels:(show:!t,trun
cate:100),position:bottom,scale:(type:linear),show:!t,style:(),title:(),type:category)),grid:(categoryLine
s:!f,style:(color:%23eee)),legendPosition:right,seriesParams:!((data:(id:'1',label:'Max%20Area'),drawLines
BetweenPoints:!t,mode:stacked,show:true,showCircles:!t,type:histogram,valueAxis:ValueAxis-1)),times:!(),
type:histogram,valueAxes:!((id:ValueAxis-1,labels:(filter:!f,rotate:0,show:!t,truncate:100),name:LeftAxis-1,
position:left,scale:(mode:normal,type:linear),show:!t,style:(),title:(text:'Max%20Area'),type:value))),title:'countrywise_maxarea%20',type:histogram))

ブラウザで上記のリンクを押すと、上記と同じ視覚化が得られます。 上記のリンクはローカルでホストされているため、ローカル環境外で使用すると機能しません。

CSVレポート

データがあるKibanaでCSVレポートを取得できます。データは、主に[検出]タブにあります。

[検出]タブに移動し、データが必要なインデックスを取得します。 ここでは、_index:countriesdata-26.12.2018_を使用しています。 ここにインデックスから表示されるデータがあります-

CSVレポート

以下に示すように、上記のデータから表形式のデータを作成できます-

CSV表形式データ

[使用可能なフィールド]からフィールドを選択しました。以前に表示されたデータは表形式に変換されます。

以下に示すように、CSVレポートで上記のデータを取得できます-

CSVレポートを表示

共有ボタンには、CSVレポートとパーマリンクのオプションがあります。 CSVレポートをクリックして、同じものをダウンロードできます。

データを保存するために必要なCSVレポートを取得するには注意してください。

CSV保存検索

保存を確認し、共有ボタンとCSVレポートをクリックします。 次のディスプレイが表示されます-

CSVディスプレイ

[CSVを生成]をクリックして、レポートを取得します。 完了すると、管理タブに移動するよう指示されます。

[管理]タブ→[レポート]に移動します

管理タブ

レポート名、作成日時、ステータス、アクションが表示されます。 上記の強調表示されているダウンロードボタンをクリックして、csvレポートを取得できます。

ダウンロードしたCSVファイルは次のとおりです-

ダウンロードされたCSVファイル