盡管在之前的文章中,我好些文章講述如何使用 Docker 來安裝 Elastic Stack,在今天的文章中,我想使用 Docker 來安裝所有的需要用到的 Elastic Stack 元件:
- Filebeat
- Logstash
- Elasticsearch
- Kibana
我們使用的架構是:

為了方便大家學習,你可以在 github 下載倉庫:
git clone https://github.com/liu-xiao-guo/elasticstack-lab
整個專案的檔案如下:
$ pwd
/Users/liuxg/data/elasticstack-lab
$ ls -al
total 48
drwxr-xr-x 11 liuxg staff 352 Jan 18 16:53 .
drwxr-xr-x 149 liuxg staff 4768 Jan 18 16:44 ..
-rw-r--r--@ 1 liuxg staff 6148 Jan 18 16:44 .DS_Store
-rw-r--r-- 1 liuxg staff 29 Jan 18 16:39 .env
drwxr-xr-x 14 liuxg staff 448 Jan 18 17:11 .git
-rw-r--r-- 1 liuxg staff 1617 Jan 18 16:52 README.md
-rw-r--r-- 1 liuxg staff 1160 Jan 18 16:59 docker-compose.yml
drwxr-xr-x 3 liuxg staff 96 Jan 18 16:26 filebeat
-rw-r--r-- 1 liuxg staff 232 Jan 18 17:03 filebeat.Dockerfile
drwxr-xr-x 3 liuxg staff 96 Jan 18 17:26 logs
drwxr-xr-x 4 liuxg staff 128 Jan 18 16:45 logstash
$ tree -L 3
.
├── README.md
├── docker-compose.yml
├── filebeat
│ └── filebeat.yml
├── filebeat.Dockerfile
├── logs
│ └── sample.log
└── logstash
├── logstash.conf
└── logstash.yml
在上面:
- docker-compose.yml 是啟動各個 Elastic Stack 容器的
- filebeat.yml 是 Filebeat 的組態檔
- filebeat.Dockerfile 是用來編譯 Filebeat 的鏡像的
- sample.log 是我們需要采集的日志檔案
- logstash.conf 及 logstash.yml 是 Logstash 的組態檔
我們可以參考 README.md 檔案來進行操作,在默認的情況下,我們使用最新的 7.16.2 版本來進行練習,如果你想使用其它的版本,請修改 .env 里的版本,同時需要修改在 filebeat.Dockerfile 里的 Filebeat 的版本以保持一致,
在下載完整個倉庫后,我們可以使用如下的命令來啟動 Elastic Stack:
docker-compose up
當然前提是我們必須啟動 Docker,

啟動過后,我們可以看到如上所示的畫面,
我們在瀏覽器中,打開地址 http://localhost:5601/ 進入到 Kibana,我們在 DevTools 里打入如下的命令:
GET _cat/indices

我們可以看到一個叫做 sample-2022.01.18 的索引,而它里面檔案的內容是:
GET sample-2022.01.18/_search

這個和我們之前的 sample.log 的內容進行比較:
通過這個練習,我們了解如何使用 Docker 來部署 Elastic Stack,并使用 Pipeline:Filebeat => Logstash => Elasticsearch,針對我們實際的使用,我們需要根據自己的情況修改 Logstash 及 Filebeat 的組態檔,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/415130.html
標籤:其他
上一篇:快遞鳥介面國內常用快遞公司編碼表
