Kibana-introduction-to-elk-stack

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

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でインデックスを使用して、円グラフ、棒グラフ、折れ線グラフなどの形式でデータを視覚化する方法を理解します。