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

推薦する

Linux 型バージョン メモリ ディスク クエリ コマンド紹介

1. まず、Linux システムのバージョン内容について概要を説明します。 1. カーネルバージョン...

nginx でディレクトリ ホワイトリストと IP ホワイトリストを設定する方法

1. ディレクトリホワイトリストを設定する:指定されたリクエストパスに制限を設定しないでください。た...

VirtualBox CentOS7.7.1908 Python3.8 ビルド Scrapy 開発環境 [グラフィックチュートリアル]

目次環境CentOSをインストールするyum 国内ミラーソースを構成するサードパーティの依存関係をイ...

この記事ではJavaScriptのガベージコレクションの仕組みを説明します

目次1. 概要2. メモリ管理3. ガベージコレクション4. GCアルゴリズムの紹介5. 参照カウン...

Ubuntu インストール cuda10.1 ドライバ実装手順

1. cuda10.1をダウンロードします。 NVIDIA 公式ウェブサイト リンク: https:...

Python MySQL データベース テーブルの変更とクエリ

Python は MySQL に接続してデータベース テーブルを変更およびクエリします。 pytho...

IIS7 IIS8 http は自動的に HTTPS にジャンプします (ポート 80 はポート 443 にジャンプします)

IIS7 では、「URL REWRITE2」疑似静的モジュールがインストールされているかどうかを確...

ubuntu16.04 で nginx を完全にアンインストールするための関連コマンド

nginx の概要nginx は、無料のオープンソースの高性能 HTTP サーバーおよびリバース プ...

CSS のみを使用して折りたたまれたヘッダー効果を作成する方法の例コード

折りたたまれたヘッダーは、特別オファーや重要なお知らせなど、ユーザーにとって重要な情報を表示するのに...

入力が正しいにもかかわらず、MySQL 8.0 でアクセスが拒否される問題を解決する

最近、MySQL を学び始めました。インストールはスムーズに進み、インターネット上の既成のチュートリ...

$remote_addr に基づく nginx フロントエンド配布方法の詳細な説明

要件は次のとおりです。ドメイン名の下に複数のサーバーがあります。現在、特定の地域をテストしています。...

MySQL のユーザー権限を照会する方法の概要

MySQLユーザー権限を表示する2つの方法を紹介します1. MySQL grantsコマンドを使用す...

React NativeのScrollViewプルダウンリフレッシュ効果

この記事では、React Native ScrollViewのプルダウンリフレッシュ効果の具体的なコ...

Alpine イメージに Ansible サービスを追加する方法

apk add ansible を使用して、alpine イメージに ansible サービスを追加...

MySql 学習 3 日目: データ テーブル間の接続とクエリの詳細

主キー:キーワード: 主キー機能: null にすることはできず、一意である必要があります。主キーの...