1. Logstash コンテナーを作成して起動します
docker run -it \
-p 9600:9600 \
-p 5044:5044 \
--name logstash \
logstash:8.3.3
2. 別ウィンドウを開いてサーバーにログインし
、実行します。
docker cp logstash:/usr/share/logstash/config /home/mfw/elk/logstash/
docker cp logstash:/usr/share/logstash/pipeline /home/mfw/elk/logstash/
3. マウント ディレクトリのアクセス許可を設定して、コンテナの内部と外部のアクセス許可が一致するようにします。また、logstash 内部ユーザー gid: 1000、uid: 1000 が
logstash コンテナを停止します。
chown -R 1000:1000 ~/elk/logstash
4. logstash 実行スクリプトを作成する
mkdir ~/elk/logstash/shell/
vim ~/elk/logstash/shell/logstash.sh
セットアップスクリプトは次のとおりです。
#!/bin/sh
docker run -itd \
--name logstash \
-p 9600:9600 \
-p 5044:5044 \
-v /home/mfw/elk/logstash/config:/usr/share/logstash/config \
-v /home/mfw/elk/logstash/pipeline:/usr/share/logstash/pipeline \
logstash:8.3.3
5. logstash 実行スクリプトの実行権限の付与
chmod +x ~/elk/logstash/shell/logstash.sh
6. elasticsearch サービスの証明書ファイルを logstash 構成ディレクトリにコピーします。
cp -fr /home/mfw/elk/elasticsearch/config/certs /home/mfw/elk/logstash/config/certs
7.logstashの設定ファイルを変更する
vim ~/elk/logstash/config/logstash.yml
ℹ️ Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
+4TMJBgOpjdgH+1MJ0nC
8. logstash が elasticsearch に接続できるかどうかをテストする
#删除logstash容器
docker rm -f logstash
#创建logstash容器并启动(非后台模式)
docker run -it \
--name logstash \
-p 9600:9600 \
-p 5044:5044 \
-v /home/mfw/elk/logstash/config:/usr/share/logstash/config \
-v /home/mfw/elk/logstash/pipeline:/usr/share/logstash/pipeline \
logstash:8.3.3
エラー ログは出力されず、logstash と elasticsearch の接続に問題がないことを示します。
9.以前に作成したlogstashコンテナを削除し、起動スクリプトを実行します。
docker rm -f logstash
~/elk/logstash/shell/logstash.sh
10. ブラウザは http://logstash サーバー ip:9600/ にアクセスし
、サービスが正常に開始されたことを示す次の情報を確認します。