经验分享
前言:
随着计算机技术的不断发展, 现实生活中需要处理的数据量越来越大, 越来越复
杂,对实时性的要求也越来越高。 为了适应这种发展, 产生了很多大数据计算框
架,例如: hadoop、spark 等。
尤其在运维监控领域, 不同的计算机系统不断产生大量的指标数据, 对于这些数
据需要及时收集,实时分析,发现异常,为运维部门高效运维提供帮助。 同时由
于数据种类繁多、用于统计的维度也非常多样,这要求使用的统计工具要非常
灵活,学习门槛要低,实施周期要短。
ELK stack 为我们提供了这样一种选择,使每个人都能够容易掌握,使需要专
业技能才能开发的监控、 运维系统不再遥不可及。 大家都可以参与到运维监控系
统的建设中,更好地监控、运维相关系统,真正实现高效、可视化运维。
1.工作中的现实问题
需要对系统运行的各种指标实时进行监控,及时发现各种异常
需要对各类指标进行多维度分析展现(图、表)
需要对各种数据进行长期有效存储用于后期分析(容量、性能、对比等)
需要处理多种数据(结构化、非结构化)
需要对日志文本数据进行全文检索(精确搜索、相似搜索)
需要对大量数据进行处理,通常达到 TB 或 PB 级别
需要根据各个系统不同特点满足各种个性化的需求
需要比较低的开发成本, 学习门槛。每个人都可以按照自己的需求进行开
发,无需专业人员协助。开发周期短。
需要有一定的机器学习功能, 能够从大量的数据中发现规律, 对于不符合
规律的现象进行提示,从而实现提前预警。从一定程度上避免被动处理问题。
推广开来,相似的方法同样适用于对任意有价值数据的分析。 实时总结发现海量
数据处理中的内在规律,为作出正确的决策提供依据。
2. ELKstack 解决方案
2.1 介绍
ELK Stack 是 Elastic 的三个开源产品 –Elasticsearch ,Logstash 和 Kibana
的集合。 Elasticsearch 是基于 Lucene 搜索引擎的 NoSQL 数据库。
Logstash 是一个日志管道工具,可接受来自各种来源的输入,执行不同的转换,
进行一些数据预处理的工作,并将数据导出到各种目标。 Kibana 是一个在 Ela
sticsearch 之上工作的可视化层。
这三种不同的开放
数据/运维/系统/监控/开发/分析/发现/搜索/学习/Elasticsearch/
数据/运维/系统/监控/开发/分析/发现/搜索/学习/Elasticsearch/
-->