欢迎访问宙启技术站
智能推送

使用docker swarm搭建EFK(elasticsearch、filebeat、kibana)

发布时间:2023-05-17 18:42:28

EFK是一种常见的日志管理解决方案,由三个核心组件组成:Elasticsearch、Filebeat和Kibana。在本文中,我们将介绍如何在Docker Swarm上搭建EFK。

步骤1: 创建Docker Swarm集群

在开始之前,您需要创建一个Docker Swarm集群。这里我们使用Docker Desktop上的单节点集群。

步骤2: 创建网络

创建一个新的overlay网络,使三个容器之间可以相互通信。

$ docker network create --driver overlay elk

步骤3:启动Elasticsearch

创建一个名为elasticsearch的服务,并将其连接到elk网络:

$ docker service create \

--name elasticsearch \

--network elk \

-e "discovery.type=single-node" \

elasticsearch:7.4.2

步骤4:启动Kibana

创建一个kibana服务并将其连接到elk网络。

$ docker service create \

--name kibana \

--network elk \

-e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" \

-p 5601:5601 \

kibana:7.4.2

步骤5:启动Filebeat

创建一个filebeat服务并将其连接到elk网络。

$ docker service create \

--name filebeat \

--network elk \

--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \

--mount type=bind,source=/var/lib/docker/containers,target=/var/lib/docker/containers \

-e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \

docker.elastic.co/beats/filebeat:7.4.2 \

filebeat -e -strict.perms=false 

在这里,我们将docker.sock和容器文件夹挂载到Filebeat容器中。

步骤6:检查EFK

现在,您已经成功地启动了容器,可以通过访问http://localhost:5601/来访问Kibana控制台。

初始登录凭据为:用户名:elastic,密码:changeme。

在控制台中,您可以创建索引模板和搜索面板以查看日志数据。

结论

在Docker Swarm上安装EFK并不困难,步骤清晰简洁。通过这个解决方案,您可以使用轻松管理和展示日志,帮助您更好地管理应用程序。