为了账号安全,请及时绑定邮箱和手机立即绑定

『互联网架构』理解ELK入门

ELK是什么?能为我们解决那些问题?目前企业主流的架构应用设计详解!

(一)ELK是什么

  • 出现问题log的重要性

tomcat查询log日志,大家应该都会吧,通过查看catalina.log。当我们需要日志分析的时候你大概会这么做:直接在日志文件中 grep、awk 就可以获得自己想要的信息。如果有5,6台主机用grep来查,每台都要进行grep,目前我们就是这样。在一台机器用grep还能忍,如果是多台的话确实很让人崩溃。有个系统一上线可能日志系统都是几十个G,如果查几天之前的,你说导出,可以导出几个G下载也很慢的,特别慢。log大的话,用grep和awk也非常非常的慢,很可能卡死。vi的方式直接可能把主机搞爆。

1.日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。
2.应用太多,面临数十上百台应用时你该怎么办。
3.随意登录服务器查询log对系统的稳定性及安全性肯定有影响。
4.如果使用人员对Linux不太熟练那面对庞大的日志,定位问题慢。

(二) ELK有哪些优势

ELK又能给我们解决哪些问题呢?

1.日志统一收集,管理,访问,非常优化的统一化管理界面。查找问题方便安全。
2.使用简单,可以大大提高定位问题的效率
3.可以对收集起来的log进行分析
4.能够提供错误报告,监控机制

(三)ELK架构设计

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。

  • LogStash

它可以流放到各自的服务器上收集Log日志,通过内置的ElasticSearch插件解析后输出到ES中

  • ElasticSearch

这是一个基于Lucene的分布式全文搜索框架,可以对logs进行分布式存储,有点像hdfs。此为ELK的核心组件,日志的分析以及存储全部由es完成,因此在后面的课程中我们还会对此进行重点讲解。

  • Kibana

它可以多维度的展示es中的数据。这也解决了用mysql存储带来了难以可视化的问题。他提供了丰富的UI组件,简化了使用难度,数据在es中的展示是比较让人蛋疼的,后面再讲es的时候让大家看看。

  • 目前ELK主要有两种框架:

这些都是在log日志输出规范的前提下。开发的时候规范log打印。千万不要作死的打,把磁盘的IO打爆,最后影响到系统的性能。

1.普通框架

50G以下的log,基本够用。
LogStash + ElasticSearch + Kibana

2.个性化扩展框架(针对日志数据需要二次处理以及多方使用的场景)

FileBeat:轻量级收集日志。速度快,稳定。不占资源。
Redis:缓存
Kafka:消息中间件。可缓存大数据量。

PS:ELK只有集群才有副本。ELK了解了概念和为什么使用ELK。下次咱们一起说说,ELK环境的搭建。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
1.7万
获赞与收藏
1318

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消