elk日志分析搭建使用记录
Posted 煜铭2011
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elk日志分析搭建使用记录相关的知识,希望对你有一定的参考价值。
0x00 介绍
1.elk背景介绍
Elasticsearch 是一个非常强大的搜索引擎。它目前被广泛地使用于各个 IT 公司。Elasticsearch 是由 Elastic 公司创建。它的代码位于 GitHub - elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine。目前,Elasticsearch 是一个免费及开放(free and open)的项目。
同时,Elastic 公司也拥有 Logstash 及 Kibana 开源项目。这个三个项目组合在一起,就形成了 ELK 软件栈,他们三个共同形成了一个强大的生态圈。
简单地说,Logstash 负责数据的采集,处理丰富数据,数据转换等。
Kibana 负责数据展示,分析,管理,监督及应用。
Elasticsearch 处于最核心的位置,它可以帮我们对数据进行快速地搜索及分析。
2.elk用途介绍
一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。
elk平台是一套完整的日志集中处理解决方案,将 elasticSearch、logstash 和 kiabana 三个开源工具配合使用, 完成更强大的用户对大量日志的查询、排序、统计需求。
elasticSearch: 一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。简单来说,这就是一个引擎,没有界面。
kiabana:一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。简单来说,这就是引擎的可视化界面。
Logstash:免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。简单来说,这就是日志采集工具。
Beats:一个免费且开放的平台,集合了多种单一用途数据采集器。它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据。简单来说,相对于logstash更轻便的日志采集工具。
Elastic Agent: 基于Beats的一种形式,是一个单一、统一的代理,用于日志、指标、APM 跟踪、合成和保护你的系统。简单来说,因为Beats在不同场景,有不同的形式的安装软件,这是集成不同场景的单一安装形式的日志采集工具。
Fleet: 提供了一个基于 Web 的 UI 来添加和管理代理及集成,从而提供一个安全且简单的设置,可大规模集中管理。在运行时跨数千个代理部署代理升级和策略,并通过跟踪代理状态、配置、开销、流程、版本等获取所有代理的实时更新。简答来说,就是管理Elastic Agent的管理平台
简单来说,logstash被elastic agent 来替代了。大量agent的管理是由fleet提供。
0x01 部署架构
旧的架构:
形式1:
形式2:
新的架构:
备注:可能会引入nginx、Redis、kafka等组件进行架构的优化,但本质如上。
0x02 安装部署
0x03 配置使用
0x04 问题解决
0x05 参考文档
以上是关于elk日志分析搭建使用记录的主要内容,如果未能解决你的问题,请参考以下文章