架构设计(日志系统)


架构设计(日志系统)

            

                        

                               

日志系统

              

日志系统组件

logback:日志框架,可将日志输出到控制台、文件、数据库、logstash等目的地
filebeat:日志文件采集组件,一个filebeat处理一个数据源,相比logstash更轻量级,消耗资源更少
kafka:对采集的日志数据缓冲处理,防止logstash负载过高
logstash:可直接采集日志,也可接受filebeat数据源,对日志进行分析过滤
elasticsearch:日志数据通常使用elasticsearch存储
kibana:可视化展示日志数据

                 

logstash采集日志数据(同步或者异步传输)

                

            

filebeat同步采集传输日志:filebeat直传logstash

                

             

filebeat异步采集传输日志:使用kafka异步传输到logstash

                

             

                      

                               

容量分析

           

采集200台服务器日志,每天的日志总量2TB,每条日志大小约为1kb,
日志处理后进行监控和报警,监控报警延时不能超过5分钟,
每台服务器的日志峰值吞吐量10000/s,所有服务器瞬时峰值之和为1000000/s

# 每台机器平均每秒处理的日志量
2TB/200/1kb/(24*60*60)=115/s
115/s小于10000/s,单台服务器可以满足要求

# 网络负载
单台kafka的处理峰值:100000/s
需要kafka机器数:1000000/100000=10
网络负载:100000*1kb=100mb,千兆网卡可以满足需求

# 延时处理
假设每条日志的处理时间为20ms,
1000000*20ms/1000/5分钟=66.7,需要66个cpu处理峰值的吞吐量延时才不会超过5分钟
假设每条服务器4个cpu、8g内存,需要的机器数:66/4=16,
需要16台机器部署logstash对日志进行解析处理

一般需要对系统做5到10倍的冗余处理,防止系统超载,使用docker部署可动态拓展机器

           

                        

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值