Elasticsearchとは、Elastic社が提供するJSONベースの検索/分析エンジンです。
Kibanaは、elasticsearchに蓄積されたデータを可視化するツールです。
elasticsearchは世界中で多くの有名企業に採用されていますが、現状日本語のドキュメントが少なく、操作に困ることも少なくありません。
そこで、elasticsearchを使ってできることを、少しづつまとめていこうと思います。
今回は、Elasticsearchの紹介をしたのち、最速でその環境を構築していきたいと思います。
Elastic Stackとは
Elastic Stackとは、Elastic社が開発している、Elasticsearchを使ううえで欠かせないプロダクトの総称です。そのプロダクトは以下の通りです。
- Elasticsearch:JSONベースの検索/分析エンジン
- Kibana:データの検索および可視化用のUI
- Logstash:データを収集するためのパイプライン
- Beats:アプリやシステムのログ等データを収集する
Elasticsearch
ElasticsearchはJSONベースの検索/分析エンジンで、データベースとしての役割を持ちます。
Elasticsearchでは、各種データをJSON形式で格納し、それらデータが相互に関連付けられています。この、関連付けられたドキュメントの集合はインデックスと呼ばれます。
こうした設計によって高速な検索が可能になったという点がElasticsearchの売りです。
Kibana
Kibanaでは、Elasticsearchのデータを可視化したり、管理をすることができます。
Elasticsearchに投入されたデータをリアルタイムに表示させることもできます。
Logstash
Logstashは、各種データをElasticsearchに投入するためのツールです。Logstashの魅力は、様々なファイル形式のデータに対応しているという点です。
データを投入する前に、加工処理を行うこともできます。
また、Elasticsarchからデータを出力させることもできます。
Beats
Beatsは、Elasticsearchに取り込むデータを収集するためのツールです。
Logstashとの違いは、取り込み対象のデータが限られている(その代わり特化している)という点です。
Beatsは、取り込み対象のデータごとにプロダクトが分かれています。
- Filebeat:ログファイル
- Metricbeat:メトリック
- Packetbeat:ネットワークパケット
- Winlogbeat:Windowsイベントログ
- Auditbeat:監査データ
- Heartbeat:稼働状況の監視
- Functionbeat:サーバーレスシッパー
以上がElastic Stackの全体像です。
その他、提供されているサービスは多数ありますが、1つ1つ説明していると追いつかないので割愛させていただきます^^;
ここからは、ElasticsearchとKibanaの環境を構築していきたいと思います。
Elasticseaech環境を構築する
今回は、Elastic社が無料で提供しているサービスの範囲内で、環境構築をしていきます。
Elasticsearchを構築する
まずは、Elasticの公式サイトへ行き、zipファイルをダウンロードします。
https://www.elastic.co/jp/downloads/elasticsearch
ダウンロードが完了したら、Cドライブの直下にファイルを解凍します。
今回は、7.10.2というバージョンです。
configフォルダ内のelasticsearch.ymlを編集していきます。テキストエディタ等でファイルを開きます。
Networkという項目を編集します。network.hostの値を”0.0.0.0“に変更します。これで、localhost以外からもアクセスできるようになります。
さらに、”discovery.type: single-node” を追記します。
この時左端の”#”は消すようにしてください。”#”はコメントアウトの記号です。
ここまで設定したら保存して、binフォルダの中のelasticsearch.batで起動します。
初めて起動するとき、以下のような警告が出てきますが、「詳細情報」をクリックし、実行します。
すると、コマンド画面が出てきて、elasticsearchが起動します。
こんな画面になれば、起動が完了しています^^
起動していることを確認する
では、elasticsearchが起動していることをブラウザで確認してみましょう。
確認するには、”http://localhost:9200/”というURLを実行します。
こんな画面になればOKです^^
これで、Elasticsearchの構築は完了です!
Kibanaを構築する
続いて、Kibana環境を構築していきましょう。
Elasticsearchと同様、公式サイトからzipファイルをダウンロードします。
https://www.elastic.co/jp/downloads/kibana
これまた同様、zipファイルをCドライブ直下に解凍します。
Kibanaのバージョンも7.10.2です。
configフォルダ内のkibana.ymlを編集していきます。
画面最下行の“elasticsearch.hosts”のコメントを外します。
今回はlocalhostのままにしていますが、localhostの代わりにIPアドレスやマシン名でも指定できます(個人的にはマシン名がおすすめ)。
さらに、kibana.ymlの最下行を下図のように編集します。この設定で、Kibanaの画面が日本語になります。
i18n.locale: “ja-JP”
これで編集は完了です。では、binフォルダ内のkibana.batを起動します。
先ほど同様警告的なものが出ますが、実行します。以下のような画面になればOKです。
これでKibanaが起動しました^^ それでは、Kibana画面を見てみましょう。
Kibana画面を見る
Kibanaは、ブラウザで動作します。
“http://localhost:5601/”に行けば、Kibana画面を見ることができます。
表示されました!
これでKibana環境の構築は完了です。Elasticsearchに入ったデータは、この画面から確認することができます。
まとめ
Elastic Stackの環境、こんなにも簡単に構築できてしまうんです。
今回構築した環境をベースに、プラグイン等を用いてセキュリティ等のカスタマイズをすることができます。
現時点では、Elasticsearchにデータを投入できないので、次回はLogstash環境を構築して、データを投入していきたいと思います!
ではでは👋