5分でできるElastic stack(Elasticsearch, Logstash, Kibana)環境構築


Elasticsearch, Logstash, Kibanaはしばしばセットで使われ、ELK stackなどと呼ばれたりします。
簡単に環境構築できますので、Elastic Stack Advent Calendar1Elastic Stack Advent Calendar2 で気になる記事は手を動かしてみてはいかがでしょうか?

環境構築

git clone https://github.com/deviantony/docker-elk.git
cd docker-elk
docker-compose up

== 完 ==

では二日目の記事をお楽しみに…
という気持ちになりましたが動作確認をしておきます。

動作確認

Logstash

デフォルトではport 5000でtcpで入力でき、Elasticsearchに出力しています。

nc(netcat)でテキストを流し込んでみます。

echo "東京特許許可局許可局長" | nc localhost 5000

Elasticsearch

Elasticsearchの確認も…と思いましたが、KibanaはElasticsearchのビューアーですからスキップ。

Kibana

http://localhost:5601 からアクセスできます。

アカウントは以下のようになっています。

  • user: elastic
  • password: changeme

Logstash が流し込んだデータは logstash〜 に入っていますので、
Index Patternsに logstash* を入れて登録します。

LGTM!

Elasticsearchに直接アクセスしたい

デフォルトだ認証が掛かっていて扱いづらいです。
以下で無効にできます(本番で有効にすべきでしょう!)。

diff --git a/elasticsearch/config/elasticsearch.yml b/elasticsearch/config/elasticsearch.yml
index 39bfd40..11b0242 100644
--- a/elasticsearch/config/elasticsearch.yml
+++ b/elasticsearch/config/elasticsearch.yml
@@ -13,6 +13,6 @@ discovery.type: single-node
 ## X-Pack settings
 ## see https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-xpack.html
 #
-xpack.license.self_generated.type: trial
-xpack.security.enabled: true
+xpack.license.self_generated.type: basic
+xpack.security.enabled: false

設定変更後はdockerの再起動が必要です。

日本語を扱いたい

diff --git a/elasticsearch/Dockerfile b/elasticsearch/Dockerfile
index 24278f8..fdc13d6 100644
--- a/elasticsearch/Dockerfile
+++ b/elasticsearch/Dockerfile
@@ -5,3 +5,4 @@ FROM docker.elastic.co/elasticsearch/elasticsearch:${ELK_VERSION}

 # Add your elasticsearch plugins setup here
 # Example: RUN elasticsearch-plugin install analysis-icu
+RUN elasticsearch-plugin install analysis-kuromoji

kuromoji pluginをインストールします。
設定変更後はdockerの再起動が必要です。

まとめ

docker-composeでサクッと環境構築できました!
これでより楽しく Elastic stack Advent Calendar を楽しんでいきましょう!