文章目录
前言
随着分布式项目的集群部署,日志的存储也分散开来,在日后出现问题进行日志定位时就会出现很困难,服务器很多会做负载均衡,这样最终请求所落在的服务器也随机起来,所以好的方式就是集中收集起来,不需要一台一台服务器去查,方便查看。
一、ELFK是什么?
ELFK是Elasticsearch+Logstash+Filebeats+Kibana。
其中,ES是一个高度可扩展的全文搜索和分析引擎,能够对大容量的数据进行接近实时的存储、搜索和分析操作,通常会跟Kibana部署在一起,由Kibana提供图形化的操作功能。LogStash是一个数据收集引擎,他可以动态的从各种数据源搜集数据,并对数据进行过滤、分析和统一格式等简单操作,并将输出结果存储到指定位置上。但是LogStash服务过重,如果在每个应用上都部署一个logStash,会给应用服务器增加很大的负担。因此,通常会在应用服务器上,部署轻量级的filebeat组件。filebeat可以持续稳定的收集简单数据,比如Log日志,统一发给logstash进行收集后,再经过处理存到ES。
二、搭建步骤
1.搭建的机器环境背景
我是拿了一台Centos7的机器上用docker安装了Elasticsearch+Logstash+Kibana,因为我的一些应用部署的是在windows上,所以就把Filebeats安在了N个windows服务器上,所以这篇中filebeats安装是windows,后续有机会再更新linux环境上。
2.安装docker
略
3.拉取镜像
docker pull elasticsearch:7.16.1
docker pull kibana:7.16.1
docker pull logstash:7.16.1
4.创建自定义网络
docker network --subnet=172.18.0.0/16 create elk_net
查看创建的网络
docker network ls
–subnet 自定义子网掩码,不同的集群使用不同的网络,保证集群是健康和安全的
5.配置启动Elasticsearch
建立下面文件结构并在config下新建elasticsearch.yml
接着启动es
docker run -it --privileged=true