Elastic (ELK) Stack简介及整体架构部署

简介

Elastic (ELK) Stack 是 Elastic 公司的产品软件。是目前流行的集中式日志解决方案。

主要包含了ELKBeatsApm Elastic Agent等产品。

  • ELK文档地址,三个开源软件的缩写,分别为ElasticsearchLogstashKibana。是一个可视化日志分析平台。

  • Apm文档工具,资源监控型工具,应用程序内收集深入全面的性能指标和错误。其允许您实时监测数以千计的应用程序的性能

  • Beats文档地址, 这是一个轻量级日志采集器,其实 Beats 家族有几个成员,早期的 ELK 架构中使用 Logstash 收集、解析日志,但是 Logstash 对内存、cpu、io 等资源消耗比较高。相比 Logstash,Beats 所占系统的 CPU 和内存几乎可以忽略不计。

    • Packetbeat:网络数据(收集网络流量数据)
    • Metricbeat:指标(收集系统、进程和文件系统级别的CPU和内存使用情况等数据)
    • Filebeat:日志文件(收集文件数据)
    • Winlogbeat:windows事件日志(收集Windows事件日志数据)
    • Auditbeat:审计数据(收集审计日志)
    • Heartbeat:运行时间监控(收集系统运行时的数据)
  • Elastic Agent文档地址,Elastic 代理

产品 备注
elasticsearch 开源分布式搜索引擎,提供搜集、分析、存储数据三大功能
logstash 数据收集处理引擎。支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后发给 Elasticsearch 存储
kibana ElasticSearch 和 Logstash的Web可视化工具
apm server apm 服务端
beats Filebeat、Packetbea、Winlogbeat、Metricbeat、Heartbeat、Auditbeat、Functionbeat 等产品。主要是轻量化方式收集、解析和传输数据
elastic-agent 用于日志、指标、安全数据和威胁防御多项功能,发送日志给elasticsearch
elasticsearch-hade 用于查询elasticsearch日志的Web 可视化工具

部署架构

ELK架构图

Elasticsearch + Logstash + Kibana

这是一种最简单的架构。这种架构,通过logstash收集日志,Elasticsearch分析日志,然后在Kibana(web界面)中展示。这种架构虽然是官网介绍里的方式,但是往往在生产中很少使用。

Elasticsearch + Logstash + filebeat + Kibana

与上一种架构相比,这种架构增加了一个filebeat模块。filebeat是一个轻量的日志收集代理,用来部署在客户端,优势是消耗非常少的资源(较logstash), 所以生产中,往往会采取这种架构方式,但是这种架构有一个缺点,当logstash出现故障, 会造成日志的丢失。

Elasticsearch + Logstash + filebeat + redis/RabbitMQ + Kibana

这种架构是上面那个架构的完善版,通过增加中间件,来避免数据的丢失。当Logstash出现故障,日志还是存在中间件中,当Logstash再次启动,则会读取中间件中积压的日志。

Elasticsearch + Ingest manager + Elastic Agent + Fleet + Kibana

posted @ 2022-11-06 21:42  雨水的命运  阅读(578)  评论(0编辑  收藏  举报