良好的监控测量是系统的关键 - 排查ELK系统瓶颈

在分布式和微服务架构中,精确的监控系统至关重要。本文通过一个ELK(Elasticsearch+Logstash+Kibana)系统遇到的日志延迟问题,详细描述了如何通过监控和测量来定位问题,最终发现由于磁盘未做RAID导致的IO瓶颈,并通过增加RAID解决了性能问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

随着分布式以及微服务架构的兴起,整个系统的架构复杂度大幅上升。为了保证系统的稳定运行以及排查出现的问题,一个精确完善的监控测量系统越来越重要。

最近在拜读《高性能MySQL》,读完了第三章“服务器性能剖析”。书中反复强调了精确测量在问题排查、分析系统中的重要性,联想到工作上的一些经历,不能同意更多了。没有精确的测量,排查分析问题就像盲人摸象,只能看到系统的某一个片面。通过这个片面来分析,往往会得出错误的结论。

另外比较重要的一点是排查分析问题一定要有逻辑性,至上而下还是至下而上都是可以的,但是不能东打一枪西打一枪。一定要明确知道我目前收集的数据是为了验证什么猜想的。

下面我以工作中的实际例子讲一下上述结论的重要性。


问题

ELK(ElasticSearch + Logstash + Kibana) 是非常常见的日志处理分析技术栈,在我们日常业务中发挥了巨大的作用。但是17年下半年我们遇到了问题,因为业务飞速发展,接入的日志量大量增加,ELK系统出现了比较严重的日志延迟的情况,日志一般要等待几个小时才能在ELK里面查询到。如果生产环境出现问题,我们是需要查询实时日志来排查问题,ELK如此巨大的延迟我们是不能接受的。

当时因为之前负责ELK的同事离开了,我就自告奋勇地来解决这个问题。


排查整个链路

先讲一下我们ELK具体的架构。

Filebeats =>  Kafka  =>  Logstash1 => Kafka => Logstash2 => ElasticSearch

业务机上的Filebeats收集日志,传给Kafka的队列。第一组Logstash作为消费者订阅Kafka的topic,清洗日志的脏数据,同时给日志打上一些标签,再传给Kafka。第二组Logstash负责将清洗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值