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 をインストールする方法

推薦する

Jupyter Notebook で JavaScript を実行する方法

その後、VSC で Jupyter Notebook を使用する方法も追加しました...アナコンダを...

MySQL 5.7.20 Green Edition のインストールの詳細なグラフィックチュートリアル

まず、MySQL とは何かを理解しましょう。 MySQL は、スウェーデンの会社 MySQL AB ...

WindowsにOpenSSHをインストールし、SSHキーを生成してLinuxサーバーにログインします。

SSH の正式名称は Secure SHell です。 SSH を使用すると、送信されるすべてのデ...

Dockerコンテナのログ分析

コンテナログを表示するまず、 docker run -it --rm -d -p 80:80 ngi...

ウェブデザイン実践者必読のキャリアプラン

原文記事、転載の際は著者と出典を明記してください! Web デザインは間違いなくテクノロジーであり、...

MySQL MyISAM デフォルト ストレージ エンジンの実装原則

デフォルトでは、MyISAM テーブルはディスク上に .frm (テーブル構造ファイル)、.MYD ...

サーバーのDockerコンテナへのvscodeリモート接続を設定する方法

目次画像をプルするイメージを実行する(コンテナを生成する)コンテナを起動するコンテナに入るすべてのミ...

Zookeeperスタンドアロン環境とクラスタ環境の構築

1. 単一マシン環境の構築# 1.1 ダウンロードZookeeper の対応するバージョンをダウンロ...

UTF-8 ファイルの Unicode 署名 BOM (バイト オーダー マーク) の問題

最近、UTF8 エンコードの中国語 Zen Cart Web サイトをデバッグしているときに奇妙な現...

キャンバスはスクラッチカード効果を描画します

この記事では、キャンバスでスクラッチカード効果を描画するための具体的なコードを参考までに共有します。...

Vue3 を使用して虫眼鏡効果を実現する方法の例

目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. 準備2. 梱包を開始する...

HTML ページ共通スタイル (推奨)

以下のように表示されます。 XML/HTML コードコンテンツをクリップボードにコピーbody、di...

vue3+ts+EsLint+Prettier 標準コード実装

目次使用EsLintの使用プロフィールを追加するPrettierの使用huskyとlint-stag...

JavaScriptはスタック構造の詳細なプロセスを実装する

目次1. スタック構造を理解する2. スタック構造のカプセル化3. 10進数を2進数に変換する1. ...

Sqoop エクスポート マップ 100% 削減 0% さまざまな理由と解決策でスタック

私はこのようなバグを典型的な「ハムレット」バグと呼んでいます。これは、「エラーメッセージは同じだが、...