参考网址:https://www.yangxinghui.com/1400.html
ELK介绍
需求背景
业务发展越来越庞大,服务器越来越多
各种访问日志、应用日志、错误日志量越来越多,导致运维人员无法很好的去管理日志
开发人员排查问题,需要到服务器上查日志,不方便
运营人员需要一些数据,需要我们运维到服务器上分析日志
为什么要用到ELK?
一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大也就是日志量多而复杂的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。
大型系统通常都是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时,大部分情况需要根据问题暴露的关键信息,定位到具体的服务器和服务模块,构建一套集中式日志系统,可以提高定位问题的效率。
一个完整的集中式日志系统,需要包含以下几个主要特点:
1)收集-能够采集多种来源的日志数据;
2)传输-能够稳定的把日志数据传输到中央系统;
3)存储-如何存储日志数据;
4)分析-可以支持 UI 分析;
5)警告-能够提供错误报告,监控机制;
而ELK则提供了一整套解决方案,并且都是开源软件,之间互相配合使用,完美衔接,高效的满足了很多场合的应用。是目前主流的一种日志系统。
ELK官网:https://www.elastic.co/cn/
中文指南:https://www.gitbook.com/book/chenryn/elk-stack-guide-cn/details
环境准备(集群节点分配)
主机名称 | IP地址 |
操作系统 |
服务器配置 |
角色 |
master | 172.168.1.157 |
CentOS 7.8 |
8vCPU 16GB |
ES节点1 |
node1 | 172.168.1.158 |
CentOS 7.8 |
8vCPU 16GB |
ES节点2 |
node2 | 172.168.1.159 |
CentOS 7.8 |
8vCPU 16GB |
ES节点3 |
Logstash | 172.168.1.248 |
CentOS 7.8 |
8vCPU 16GB |
Logstash解析日志 |
Filebeat | 172.168.1.248 |
CentOS 7.8 |
8vCPU 16GB |
Filebeat收集日志 |
Kibana | 172.168.1.248 |
CentOS 7.8 |
8vCPU 16GB |
Kibana节点 |
软件版本:
jdk 1.8.0_211
elasticsearch-7.5.1-x86_64.rpm