
代码示例:
要使用Docker安装ELK(Elasticsearch、Logstash、Kibana)单节点,可以按照以下步骤进行:
-
创建Docker网络:
docker network create -d bridge elastic -
拉取Elasticsearch镜像(以8.4.3版本为例):
docker pull elasticsearch:8.4.3 -
运行Elasticsearch容器(第一次运行时不要使用
-d参数,以便查看初始密码和token):docker run -it \ -p 9200:9200 \ -p 9300:9300 \ --name elasticsearch \ --net elastic \ -e ES_JAVA_OPTS="-Xms1g -Xmx1g" \ -e "discovery.type=single-node" \ -e LANG=C.UTF-8 \ -e LC_ALL=C.UTF-8 \ elasticsearch:8.4.3运行后,记录控制台显示的elastic用户的密码和enrollment token。
-
创建Elasticsearch数据和配置的挂载目录:
mkdir -p /data/apps/elk8.4.3/elasticsearch -
将Elasticsearch容器内的配置文件复制到主机:
docker cp elasticsearch:/usr/share/elasticsearch/config /data/apps/elk8.4.3/elasticsearch/ docker cp elasticsearch:/usr/share/elasticsearch/data /data/apps/elk8.4.3/elasticsearch/ docker cp elasticsearch:/usr/share/elasticsearch/plugins /data/apps/elk8.4.3/elasticsearch/ docker cp elasticsearch:/usr/share/elasticsearch/logs /data/apps/elk8.4.3/elasticsearch/ -
删除旧的Elasticsearch容器:
docker rm -f elasticsearch -
使用挂载卷重新运行Elasticsearch容器:
docker run -it \ -d \ -p 9200:9200 \ -p 9300:9300 \ --name elasticsearch \ --net elastic \ -e ES_JAVA_OPTS="-Xms1g -Xmx1g" \ -e "discovery.type=single-node" \ -e LANG=C.UTF-8 \ -e LC_ALL=C.UTF-8 \ -v /data/apps/elk8.4.3/elasticsearch/config:/usr/share/elasticsearch/config \ -v /data/apps/elk8.4.3/elasticsearch/data:/usr/share/elasticsearch/data \ -v /data/apps/elk8.4.3/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /data/apps/elk8.4.3/elasticsearch/logs:/usr/share/elasticsearch/logs \ elasticsearch:8.4.3 -
拉取并运行Kibana容器(以8.4.3版本为例):
docker run -it \ -d \ --restart=always \ --log-driver json-file \ --log-opt max-size=100m \ --log-opt max-file=2 \ --name kibana \ -p 5601:5601 \ --net elastic \ -v /data/apps/elk8.4.3/kibana/config:/usr/share/kibana/config \ -v /data/apps/elk8.4.3/kibana/data:/usr/share/kibana/data \ -v /data/apps/elk8.4.3/kibana/plugins:/usr/share/kibana/plugins \ -v /data/apps/elk8.4.3/kibana/logs:/usr/share/kibana/logs \ kibana:8.4.3 -
访问Kibana:
打开浏览器访问http://<你的服务器IP>:5601,使用步骤3中记录的elastic用户密码进行认证。 -
(可选)配置Filebeat:
- 拉取Filebeat镜像:
docker pull elastic/filebeat:8.4.3 - 运行Filebeat容器:
docker run -it \ -d \ --name filebeat \ --network host \ -e TZ=Asia/Shanghai \ -v /data/apps/elk8.4.3/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml \ -v /data/apps/elk8.4.3/filebeat/data:/usr/share/filebeat/data \ -v /data/apps/elk8.4.3/filebeat/logs:/usr/share/filebeat/logs \ elastic/filebeat:8.4.3 \ filebeat -e -c /usr/share/filebeat/filebeat.yml
- 拉取Filebeat镜像:
请注意,以上步骤中的数据目录和配置目录路径需要根据实际情况进行调整。此外,确保Docker服务正在运行,并且你有足够的权限来执行这些命令。
喜欢本文,请点赞、收藏和关注!
3631

被折叠的 条评论
为什么被折叠?



