Docker を使用して ELK 環境を迅速にデプロイする方法の詳細な説明 (最新バージョン 5.5.1)

Docker を使用して ELK 環境を迅速にデプロイする方法の詳細な説明 (最新バージョン 5.5.1)

Linux サーバーに Docker をインストールした後、関連する公式 Docker イメージをプルします。

docker pull docker.elastic.co/elasticsearch/elasticsearch:5.5.1
docker pull docker.elastic.co/kibana/kibana:5.5.1
docker pull docker.elastic.co/logstash/logstash:5.5.1

Elastic Search コンテナを起動します。

docker run -p 9200:9200 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" \
--name my-elastic -d docker.elastic.co/elasticsearch/elasticsearch:5.5.1

Kibana コンテナを起動します。

docker run -p 5601:5601 -e "ELASTICSEARCH_URL=http://localhost:9200" --name my-kibana \
--ネットワークホスト -d docker.elastic.co/kibana/kibana:5.5.1

logstash/logstash.yml を作成し、logstash を監視するように xpack を構成します。

http.ホスト: "0.0.0.0"
パス.config: /usr/share/logstash/pipeline
xpack.monitoring.elasticsearch.url: http://localhost:9200
xpack.monitoring.elasticsearch.ユーザー名: elastic
xpack.monitoring.elasticsearch.password: 変更する

logstash/conf.d/logstash.conf を作成し、logstash の入力と出力を設定します。

入力{
 ファイル {
  パス => "/tmp/access_log"
  start_position => "始まり"
 }
}
出力{
 エラスティックサーチ
  ホスト => ["localhost:9200"]
  ユーザー => "elastic"
  パスワード => "changeme"
 }
}

Logstash コンテナを起動します。

docker run -v /home/ubuntu/logstash/conf.d:/usr/share/logstash/pipeline/:ro -v /tmp:/tmp:ro \
-v /home/ubuntu/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml:ro --name my-logstash \
--ネットワークホスト -d docker.elastic.co/logstash/logstash:5.5.1

テストして、/tmp/access.log に 2 行の情報を追加します。

echo "Hello World!" >> /tmp/access_log
echo "こんにちは ELK!" >> /tmp/access_log

Kibana リンク http://yourhost:5601 を開き、ユーザー名/パスワード elastic/changeme を使用してログインします。 「インデックス パターンの構成」ページで、「作成」ボタンをクリックします。 ELKノードのステータスを表示するには、[モニター]メニューをクリックします。

Kibana Monitor

Kibana の [Discover] メニューをクリックすると、関連するログ情報が表示されます。

Kibana Discover

Elastic Search クラスターを使用してデプロイする

Elasticは、docker-composeを使用してElastic Searchクラスターを起動する方法を公式に提供しています。まず、docker-composeをインストールします。

カール -L https://github.com/docker/compose/releases/download/1.15.0/docker-compose-Linux-x86_64 \
> /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

elasticsearch/docker-compose.yml ファイルを作成します。

バージョン: '2'
サービス:
 エラスティックサーチ1:
  イメージ: docker.elastic.co/elasticsearch/elasticsearch:5.5.1
  コンテナ名: elasticsearch1
  環境:
   - クラスター名=docker-cluster
   - bootstrap.memory_lock=true
   - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  ulimits:
   メモリロック:
    ソフト: -1
    難しい: -1
  メモリ制限: 1g
  ボリューム:
   - esdata1:/usr/share/elasticsearch/データ
  ポート:
   - 9200:9200
  ネットワーク:
   -エスネット
 エラスティックサーチ2:
  イメージ: docker.elastic.co/elasticsearch/elasticsearch:5.5.1
  環境:
   - クラスター名=docker-cluster
   - bootstrap.memory_lock=true
   - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
   - 「discovery.zen.ping.unicast.hosts=elasticsearch1」
  ulimits:
   メモリロック:
    ソフト: -1
    難しい: -1
  メモリ制限: 1g
  ボリューム:
   - esdata2:/usr/share/elasticsearch/データ
  ネットワーク:
   -エスネット

ボリューム:
 esdata1:
  ドライバー: ローカル
 esdata2:
  ドライバー: ローカル

ネットワーク:
 エスネット:

/etc/sysctl.confファイルに1行追加する

vm.max_map_count = 262144

変更を適用するには、次のコマンドを実行します。

sudo sysctl -p

docker-compose.yml が配置されているディレクトリで次のコマンドを実行して、Elastic Search クラスターを起動します。

docker stop my-elastic && docker rm my-elastic
docker-compose を起動 &

Kibana の [モニター] メニューで、Elastic Search クラスターが正常に動作していることを確認できます。

Elastic Cluster

デフォルトのパスワードを変更する

Elastic Docker イメージのデフォルトのアカウント パスワードは elastic/changeme です。デフォルトのパスワードを使用するのは安全ではありません。パスワードを elastic0 に変更するとします。 Docker が配置されているサーバー上でコマンドを実行して、ユーザー elastic のパスワードを変更します。

curl -XPUT -u elastic 'localhost:9200/_xpack/security/user/elastic/_password' -H "コンテンツタイプ: application/json" \
-d '{
 「パスワード」: 「elastic0」
}'

パスワードを設定し、Kibana を再起動します。

docker stop my-kibana && docker rm my-kibana
docker run -p 5601:5601 -e "ELASTICSEARCH_URL=http://localhost:9200" -e "ELASTICSEARCH_PASSWORD=elastic0" \
--name my-kibana --network ホスト -d docker.elastic.co/kibana/kibana:5.5.1

logstash/logstash.yml と logstash/conf.d/logstash.conf のパスワードを変更し、logstash サービスを再起動します。

docker でログスタッシュを再起動します

テストして、/tmp/access.log に 2 行の情報を追加します。

echo "Hello World!" >> /tmp/access_log
echo "こんにちは ELK!" >> /tmp/access_log

Kibana リンク http://yourhost:5601 を開き、ユーザー名/パスワード: elastic/elastic0 を使用してログインします。 「インデックス パターンの構成」ページで、「作成」ボタンをクリックします。 ELK ノードのステータスを表示するには、[モニター] メニューをクリックします。デフォルトのパスワードが正常に変更されました。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker-compose を使用して ELK をデプロイするためのサンプル コード
  • Docker を使用して ELK 環境を迅速にデプロイする方法の詳細な説明 (最新バージョン 5.5.1)

<<:  js は複数の画像を zip にパッケージ化します

>>:  Centos7 に yum 経由で MySQL をインストールする方法

推薦する

MySQL 派生テーブル(Derived Table)の簡単な使用例分析

この記事では、例を使用して、MySQL 派生テーブルの簡単な使用方法を説明します。ご参考までに、詳細...

Linux におけるシステム入出力管理の詳細な説明

システムの入力と出力の管理1. システムの入力と出力を理解するLinuxシステムでは、1は正しい出力...

Node の SMS API で検証コード ログインを実装するためのサンプル コード

1. ノードサーバーのセットアップ + データベース接続ここでの操作は比較的簡単でわかりやすいです。...

テーブルの4辺を上下左右にスクロールするように固定する方法

質問:最近、プロジェクトの統計を行っていたときに、テーブルを上下にスクロールしたときにテーブルの先頭...

Nginx イントラネット スタンドアロン リバース プロキシの実装

目次1 Nginxのインストール2 Nginxの設定3 ホストファイルを変更する4 テストNginx...

JavaScriptはブラウザがIEかどうかを判定します

フロントエンド開発者としては、IEの落とし穴は避けて通れません。他のブラウザはいいのにIEは壊れてい...

Linux でパスワードを入力せずに sudo コマンドを実行する方法

sudo コマンドを使用すると、信頼できるユーザーは別のユーザー (デフォルトでは root ユーザ...

MySQL全文インデックスの原理と欠点

MySQL フルテキスト インデックスは、特定のテーブルの特定の列に表示されるすべての単語のリストを...

Linux での MySQL 5.7.18 バイナリ パッケージのインストール チュートリアル (デフォルトの構成ファイル my_default.cnf なし)

現在、MySQL を学習中です。私は完全な初心者で、Linux についてはあまり知りません。今後の作...

MySQLトリガーの使用と理解

目次1. トリガーとは何ですか? 2. トリガーを作成するトリガーを作成するための構文は次のとおりで...

Vueページジャンプの実装方法

1. this.$router.push() 1. ビュー <テンプレート> <d...

binlog2sql と簡単なバックアップおよびリカバリを使用して mysql8.0.20 を構成するための詳細な手順

目次最初のステップのインストールステップ2: MySQLデータを準備する3 番目のステップは、bin...

Vueバスの簡単な使い方

Vueバスの簡単な使い方シナリオの説明:コンポーネント A にはコンポーネント B と C が含まれ...

Docker の NFS-Ganesha イメージを使用して NFS サーバーを構築する詳細なプロセス

目次1. NFS-Ganeshaの紹介2. NFS-Ganeshaの設定3. NFS-Ganesha...

一目でわかる$nextTickの説明

目次1. 機能説明2. 親コンポーネント3. サブコンポーネント NextTick.vue 4なぜ未...