ELK的日志解决方案

ELK简介

img

ELK 已经成为目前最流行的集中式日志解决方案,它主要是由Beats 、Logstash 、Elasticsearch 、Kibana 等组件组成,来共同完成实时日志的收集,存储,展示等一站式的解决方案。本文将会介绍ELK常见的架构以及相关问题解决。

Filebeat :Filebeat是一款轻量级,占用服务资源非常少的数据收集引擎,它是ELK家族的新成员,可以代替Logstash作为在应用服务器端的日志收集引擎,支持将收集到的数据输出到Kafka,Redis等队列。

Elasticsearch: Elasticsearch 是一个分布式、实时的搜索和分析引擎,它可以用于存储、搜索和分析大规模的日志数据。在 ELK 中,Elasticsearch 负责存储日志数据,并提供高效的全文搜索和复杂的数据分析功能。通过 Elasticsearch,用户可以轻松地对大量日志数据进行快速查询和分析。

Logstash: Logstash 是一个用于日志收集、转换和传输的工具。它可以从各种来源(如文件、日志文件、消息队列等)收集日志数据,经过过滤、解析和转换后,再将数据发送到 Elasticsearch 或其他存储目标中。Logstash 提供了丰富的插件和配置选项,可以灵活地应对不同类型的日志数据处理需求。

Kibana: Kibana 是一个用于数据可视化和分析的工具,它与 Elasticsearch 集成,可以帮助用户创建丰富的图表、仪表板和报表,以直观地展示日志数据的情况和趋势。通过 Kibana,用户可以方便地进行数据探索、监控和分析,从而更好地理解日志数据并做出相应的业务决策。

在整个方案中,各组件的作用如下:
img

  • 应用服务
    生产日志,通过Logger产生日志并输出。
  • Logstash
    收集日志,通过http接收应用服务产生的日志。
  • Elasticsearch
    为日志提供全文检索功能。
  • kibana
    为Elasticsearch提供图形化界面。

ELK常见部署架构

1. Logstash作为日志收集器

这种架构是比较原始的部署架构,在各应用服务器端分别部署一个Logstash组件,作为日志收集器,然后将Logstash收集到的数据过滤、分析、格式化处理后发送至Elasticsearch存储,最后使用Kibana进行可视化展示。

这种架构不足的是:Logstash比较耗服务器资源,所以会增加应用服务器端的负载压力。

img

2. Filebeat作为日志收集器

该架构与第一种架构唯一不同的是:应用端日志收集器换成了Filebeat,Filebeat轻量,占用服务器资源少,所以使用Filebeat作为应用服务器端的日志收集器,一般Filebeat会配合Logstash一起使用,这种部署方式也是目前最常用的架构。

img

3 引入缓存队列的部署架构

该架构在第二种架构的基础上引入了Kafka消息队列(还可以是其他消息队列),将Filebeat收集到的数据发送至Kafka,然后在通过Logstasth读取Kafka中的数据,这种架构主要是解决大数据量下的日志收集方案,使用缓存队列主要是解决数据安全与均衡Logstash与Elasticsearch负载压力。

img

以上三种架构的总结

第一种部署架构由于资源占用问题,现已很少使用,目前使用最多的是第二种部署架构,至于第三种部署架构个人觉得没有必要引入消息队列,除非有其他需求,因为在数据量较大的情况下,Filebeat 使用压力敏感协议向 Logstash 或 Elasticsearch 发送数据。

如果 Logstash 正在繁忙地处理数据,它会告知 Filebeat 减慢读取速度。拥塞解决后,Filebeat 将恢复初始速度并继续发送数据。

参考链接:ELK分布式日志解决方案

ELK分布式日志采集

  • 23
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值