Elastic:运用 Docker 安装 Elastic Stack 并采集日志文件

Posted Elastic 中国社区官方博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elastic:运用 Docker 安装 Elastic Stack 并采集日志文件相关的知识,希望对你有一定的参考价值。

尽管在之前的文章中,我好些文章讲述如何使用 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 的配置文件。

以上是关于Elastic:运用 Docker 安装 Elastic Stack 并采集日志文件的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch:使用 Docker compose 来一键部署 Elastic Stack 8.x

ELK 软件安装

Elastic:Fluentd 在 Elastic Stack 中的运用

Elastic:Fluentd 在 Elastic Stack 中的运用

ELK-elasticsearch

Elastic:使用 Docker 安装 Elastic Stack 8.0 并开始使用