Docker ComposeでElastic Stackをローカルに構築

スポンサーリンク

はじめに

Docker Composeを使って、ローカルにElastic StackのうちElasticsearch、Logstash、Kibanaを構築していきたいと思います。

Elastic stackとは

Elastic Stackとは、Elasticsearch、Logstash、Kibana、Beatsで構成されるElasticのプロダクト群です。

下記のページを見ると、ELK StackはElasticsearch、Logstash、Kibanaの集まりのことを指し、そこにBeatsが加わったことでElastic Stackと呼ぶようになったようです。

ELK Stack:Elasticsearch開発元が提供するプロダクト
ELK Stackって?ELKは、広く使われている3つのオープンソースプロジェクトから頭文字をとったもの。E=Elasticsearch(Luceneをベースに開発)、L=Logstash、K=Kibanaです。その後ラインナップにBeatsが加わり、現在はElastic Stackと呼ばれています。

Elastic Stackのプロダクトのそれぞれの用途は下記になります。

プロダクト用途
Elasticsearchデータの格納、検索/分析エンジン
Logstashログを処理する投入パイプライン
Kibana可視化
Beatsデータ送信

処理の順番のイメージは下記のようになります。

Docker Composeで構築

Docker ComposeでElasticsearch、Logstash、Kibanaを構築していきます。

docker-elk

Elastic StackをDocker Composeで構築する場合は、下記のリポジトリを利用するのが便利です。

GitHub - deviantony/docker-elk: The Elastic stack (ELK) powered by Docker and Compose.
The Elastic stack (ELK) powered by Docker and Compose. - GitHub - deviantony/docker-elk: The Elastic stack (ELK) powered by Docker and Compose.

起動

まずは、docker-elkのリポジトリをクローンしてきます。

git clone [email protected]:deviantony/docker-elk.git
cd docker-elk

デフォルトでElasticsearch、Logstash、Kibanaが使えるように設定されているので、そのままDocker Composeで起動します。

docker-compose up -d

Kibanaにログイン

ブラウザからhttp://localhost:5601にアクセスして、Kibanaにログインしてみます。

デフォルトのユーザー情報は、下記の通りです。

  • ユーザー: elastic
  • パスワード: changeme

設定ファイル

それぞれの設定ファイルは下記に格納されているので、色々試すことが可能です。

ElasticSearch

  • elasticsearch/config/elasticsearch.yml

Kibana

  • kibana/config/kibana.yml

Logstash

  • logstash/config/logstash.yml
  • logstash/pipeline/logstash.conf

Macで5000番ポートが使えない場合

Macで起動する場合に、下記のようなエラーが出る場合があります。

ERROR: for docker-elk_logstash_1  Cannot start service logstash: Ports are not available: listen tcp 0.0.0.0:5000: bind: address already in use

ERROR: for logstash  Cannot start service logstash: Ports are not available: listen tcp 0.0.0.0:5000: bind: address already in use

こちらはすでにポート5000番が使われていることにより、Logstashが起動できなくなっています。

下記を参照に、AirPlay Receiverの機能をオフにするか、Logstashの利用するポート番号を変更することで、起動することができます。

Why is Control Center on Monterey … | Apple Developer Forums

参考

タイトルとURLをコピーしました