在前端开发中,日志系统是十分重要的一个环节。它能帮助我们快速定位问题,提高开发效率。在这里,我将为大家介绍使用 Docker 搭建 ELK 日志系统的方法,帮助大家快速搭建自己的日志系统。
什么是 ELK 日志系统
ELK 是由三个开源组件组成的日志系统,包括:
- Elasticsearch:分布式搜索引擎,用于存储和搜索数据。
- Logstash:日志收集、处理和转换工具。
- Kibana:数据可视化工具,用于展示 Elasticsearch 中的数据。
三者搭配使用能够方便快捷地存储、搜索、分析和可视化大量数据。
Docker 安装
Docker 官网提供了各平台的安装版本,选择适合自己操作系统的版本进行下载安装即可。
使用 Docker 安装 ELK
在进行 ELK 安装前,我们需要了解一下 Docker 的基本概念:
- 镜像(Image):Docker 执行的文件系统,可以用来创建容器。
- 容器(Container):容器是镜像的一个运行实例。一个镜像可以运行多个容器。
- 仓库(Repository):用来保存多个镜像的位置。
在安装 ELK 前,我们需要下载 ELK 镜像。使用 docker pull
命令下载 ELK 镜像,具体命令如下:
# 下载 Elasticsearch 镜像 docker pull elasticsearch:7.12.0 # 下载 Logstash 镜像 docker pull logstash:7.12.0 # 下载 Kibana 镜像 docker pull kibana:7.12.0
镜像下载完成后,我们可以通过运行容器来启动 ELK 日志系统。
启动 Elasticsearch 容器
首先,我们需要启动 Elasticsearch 容器。在 Docker 中,可以使用 docker run
命令创建容器。具体命令如下:
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:7.12.0
命令参数说明:
-d
:表示在后台运行。--name elasticsearch
:为容器指定名称。-p 9200:9200 -p 9300:9300
:将容器的 9200 和 9300 端口映射到主机的 9200 和 9300 端口,方便外部访问。elasticsearch:7.12.0
:使用 elasticsearch:7.12.0 镜像创建容器。
容器启动后,可以通过 docker ps
命令查看容器是否正在运行。
启动 Logstash 容器
接下来,启动 Logstash 容器。启动 Logstash 容器需要使用到配置文件,下面是一个简单的配置文件示例:
-- -------------------- ---- ------- ----- - ----- - ---- -- ---- - - ------ - ------------- - ----- -- ------------------------- ----- -- --------------------- - -
上述配置文件中,我们指定了 Logstash 监听的 beat 端口为 5044,将收集到的日志数据存储到 Elasticsearch 的 logs-%{+YYYY.MM.dd}
索引中。这里的 %{+YYYY.MM.dd}
是一个时间格式化标识,表示将日志按照日期进行索引。
保存好配置文件,我们可以使用下面的命令启动 Logstash 容器:
docker run -d --name logstash -p 5044:5044 -v <配置文件路径>:/etc/logstash/conf.d/logstash.conf --link elasticsearch:elasticsearch logstash:7.12.0
命令参数说明:
-d
:表示在后台运行。--name logstash
:为容器指定名称。-p 5044:5044
:将容器的 5044 端口映射到主机的 5044 端口,方便外部访问。-v <配置文件路径>:/etc/logstash/conf.d/logstash.conf
:将本地文件挂载到容器内的 /etc/logstash/conf.d/logstash.conf 文件。--link elasticsearch:elasticsearch
:将该容器连接到 Elasticsearch 容器。
容器启动后,可以通过 docker ps
命令查看容器是否正在运行。
启动 Kibana 容器
最后,启动 Kibana 容器。Kibana 容器是一个基于 Node.js 的 Web 应用,用于展示 Elasticsearch 中的数据。启动命令如下:
docker run -d --name kibana -p 5601:5601 --link elasticsearch:elasticsearch kibana:7.12.0
命令参数说明:
-d
:表示在后台运行。--name kibana
:为容器指定名称。-p 5601:5601
:将容器的 5601 端口映射到主机的 5601 端口,方便外部访问。--link elasticsearch:elasticsearch
:将该容器连接到 Elasticsearch 容器。
容器启动后,可以通过 docker ps
命令查看容器是否正在运行。
访问 Kibana
容器启动后,可以通过浏览器访问 Kibana 页面:http://localhost:5601
。在 Kibana 页面中,选择左侧导航栏的“Discover”选项卡,查看 Elasticsearch 中的数据。
总结
本文介绍了使用 Docker 搭建 ELK 日志系统的方法。通过使用 Docker 来安装 ELK,我们可以方便快捷地搭建自己的日志系统。希望本文能够帮助到大家。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/649794ac48841e9894491892