Elasticsearch この記事では、 のデプロイ方法と Kibana 使用 方法について説明します Docker Compose 。これらは ELK スタックの 2 つの主要コンポーネント( Elasticsearch 、Logstash、 Kibana) であり、データを効果的に検索、分析、視覚化するのに役立ちます。以下に、詳細な構成と各コンポーネントの動作を示します。
1. Elasticsearch
a. 基本構成
Elasticsearch 次のパラメータを使用して Docker コンテナ内で実行するように構成されています。
画像: 公式 Elasticsearch 画像バージョン
8.17.2が使用されます。シングルノード モード: 環境変数によって有効化されます
discovery.type=single-node。セキュリティ: X-Pack セキュリティが有効(
xpack.security.enabled=true) になっており、elasticユーザーのパスワードは に設定されていますYVG6PKplG6ugGOw。ネットワーク: Elasticsearch はすべてのネットワーク インターフェース(
network.host=0.0.0.0) をリッスンします。JVM メモリ:
-Xms1g(初期メモリ) と-Xmx1g(最大メモリ) で構成されます 。
b. Ports および Volumes
Ports: ポート
9200(HTTP) と9300(内部通信) はコンテナからホストにマッピングされます。Volumes: Elasticsearch データは
elasticsearch-dataボリュームに保存されます。
c. ヘルスチェック
ヘルスチェックは、ユーザー で API Elasticsearch を呼び出して の状態を 監視するように設定されています 。API が応答しない場合は、コンテナが再起動します。 /_cluster/health elastic
2. Kibana
a. 基本構成
Kibana Elasticsearch 次のパラメータを使用して Docker コンテナに 接続し、実行するように構成されています。
画像: 公式 Kibana 画像バージョン
8.17.2が使用されます。Elasticsearch 接続: アドレス Elasticsearch は に設定されています
http://elasticsearch:9200。認証: Kibana は
kibana_userとパスワードを 使用してYVG6PKplG6ugGOwに接続します Elasticsearch。
b. Ports およびネットワーク
Ports: インターフェースにアクセスするために、 ポート
5601がコンテナからホストにマッピングされます Kibana。ネットワーク: Kibana はに接続されています
elk-network。
c. 依存 Elasticsearch
Kibana は準備完了後にのみ起動し Elasticsearch 、2 つのサービス間の接続が成功することを保証します。
3. ボリュームとネットワーク
a. ボリューム
elasticsearch-data: このボリュームは Elasticsearch データを格納するために使用され、コンテナが削除された場合でもデータの永続性が確保されます。
b. ネットワーク
elk-network: 接続してサービスを提供するために ネットワーク
bridgeが作成されます 。 Elasticsearch Kibana
4. 使い方
a. サービスの開始
Elasticsearch および を 起動するには Kibana 、次のコマンドを実行します。
docker-compose up -d
b. Kibana ユーザーの作成(必要な場合)
専用のユーザーを使用する場合は Kibana 、次のコマンドで作成できます。
docker exec -it elasticsearch /bin/elasticsearch-users useradd kibana_user -p you_password-r kibana_system
パスワードの代わりにを使用するには token 、次のコマンドでパスワードを作成します。
docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-service-tokens create elastic/kibana kibana-token
5. トラブルシューティング
エラーが発生した場合は、次のコマンドを使用してコンテナ ログを確認できます。
docker logs elasticsearch docker logs kibana再起動するには Kibana:
Docker Compose ファイル の全内容
以下はファイルの全内容です docker-compose-els.yml :
version: '3.7'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.17.2
container_name: elasticsearch
environment:
- discovery.type=single-node
- xpack.security.enabled=true
- ELASTIC_PASSWORD=you_password
- network.host=0.0.0.0
- ES_JAVA_OPTS=-Xms1g -Xmx1g
ports:
- '9200:9200'
- '9300:9300'
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
ulimits:
memlock:
soft: -1
hard: -1
networks:
- elk-network
healthcheck:
test: ["CMD-SHELL", "curl -u elastic:YVG6PKplG6ugGOw --silent --fail localhost:9200/_cluster/health || exit 1"]
interval: 10s
retries: 5
start_period: 30s
timeout: 5s
kibana:
image: docker.elastic.co/kibana/kibana:8.17.2
container_name: kibana
ports:
- '5601:5601'
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
- ELASTICSEARCH_USERNAME=kibana_user
- ELASTICSEARCH_PASSWORD=you_password
networks:
- elk-network
depends_on:
elasticsearch:
condition: service_healthy
volumes:
elasticsearch-data:
driver: local
networks:
elk-network:
driver: bridge
結論
この構成を使用すると、データの検索、分析、視覚化のニーズに簡単に対応し て Docker Compose 展開できます 。プロジェクトの特定の要件に合わせてこの構成をカスタマイズおよび拡張してください。 Elasticsearch Kibana

