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

2022.05.21
2024.03.24
監視
Docker ComposeElastic StackElasticsearchKibanaLogstash

はじめに

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、Kibana、Beats、Logstash

ELK Stack = Elasticsearch、Kibana、Beats、Logstash

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.

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

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

起動

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

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

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

1docker-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で起動する場合に、下記のようなエラーが出る場合があります。

1ERROR: 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
2
3ERROR: 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

Why is Control Center on Monterey … | Apple Developer Forums

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee