一、什么是ELK
ELK是Elasticsearch + Logstash + Kibana 这种架构的简写。这是一种日志分平台析的架构。
二、ELK常见的几种架构
1 Elasticsearch + Logstash + Kibana
这是一种最简单的架构。这种架构,通过logstash收集日志,Elasticsearch分析日志,然后在Kibana(web界面)中展示。
2 Elasticsearch + Logstash + filebeat + Kibana
与上一种架构相比,这种架构增加了一个filebeat模块。filebeat是一个轻量的日志收集代理,用来部署在客户端,优势是消耗非常少的资源(较logstash), 所以生产中,往往会采取这种架构方式。当logstash出现故障, 会造成日志的丢失。
3 Elasticsearch + Logstash + filebeat + redis(也可以是其他中间件,比如kafka) + Kibana
这种架构是上面那个架构的完善版,通过增加中间件,来避免数据的丢失。当Logstash出现故障,日志还是存在中间件中,当Logstash再次启动,则会读取中间件中积压的日志。比较推荐这种方式。
说明: logstash节点和elasticsearch节点可以根据日志量伸缩数量, filebeat部署在每台需要收集日志的服务器上。
下面介绍一下第二种方式Elasticsearch + Logstash + filebeat + Kibana
1、搭建ELK-ElasticSearch7.5
JDK1.8!!!
新建用户 useradd es
修改用户可创建文件数目
vi /etc/security/limits.conf
# 然后添加如下内容
es soft nproc 50000
es hard nproc 50000
es soft nofile 65535
es hard nofile 65535
修改最大内存限制
vi /etc/sysctl.conf
# 添加下面的配置
vm.max_map_count=655360
# 保存好后执行命令
sysctl -p
下载安装包并解压
# 进入安装目录
cd /opt
# 下载该文件
wget 'https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.1-linux-x86_64.tar.gz'
# 解压该文件
tar -zxf elasticsearch-7.5.1-linux-x86_64.tar.gz
# 给文件夹改变权限
chown -R es:es elasticsea