smile_knight
作者smile_knight·2021-08-23 09:01
IT顾问·泰康保险

## ELK | SIEM&AIOps?你俩别忽悠了(上)

字数 2373阅读 973评论 0赞 1
  • 作者简介:世界500强,泰康保险IT@付杰

从IT到DT,数据成了最新最重要的生产资料,正在驱动着企业进行数字化转型。

日志数据的分析和利用越来越受到企业重视, 前阵子国产厂商“ 日志易 ” 送了本《日志管理和分析》给我, 才发现几年间日志分析这个细分领域有了很多变化。

今天跟大家做个心得分享, 有些是旧事重提,有些是新鲜感悟。

我的第一次日志分析

职业生涯里,总有一些事,一段时光,很特殊。

2015年春节,公司花重金搞了一次春晚红包的互联网营销,意义深远 。

那时很多传统企业对互联网玩法还不熟悉,但公司却愿意大手笔 投入真金白银来进行创新实践 ,可遇不可求。

春晚红包项目,我们在公有云上部署了100多套Nginx和近1000个Tomcat实例,是我运维过的最大的单一集群。

机会难得,所以在项目结束后,我很好奇想看看日志里有哪些有价值的信息。

为此,我特意去后台看了Nginx的Access日志,结果惊奇的发现原来Samsung有那么多款手机,OPPO和VIVO的手机的市场占有率竟如此之高。

这就是我第一次,互联网应用日志分析。

虽然用的是命令行和awk脚本,以及离线的初级方式,但是得益于 SaltStack工具 的加持,也算起步较高了。

初识Splunk

Splunk,日志分析领域的开创者,也是大数据价值的楷模。

随着虚拟化的大规模普及,运维效率和业务响应时效逐渐成了工作中的瓶颈和痛点,让配置管理和日志分析工具对于运维人员变得不可或缺。

没有 Splunk 之前,日志主要用于 应用调试 、故障分析和合规审计等场景,IT人员更习惯用awk、tail和grep等命令进行日常运维,对于重复性工作会编写Shell脚本。

每次看到应用日志中大量的Java堆栈信息,我就头大,在我的意识里特别希望日志精简有效,但开发人员却恨不得把程序运行的所有信息都输出到应用日志中,除了消耗存储,降低性能,毫无用处。

不过,随着对日志分析的理解,我对观点做了修正,依然认为日志应该精简有效,但是对于一些特定的业务事件,应用程序应该主动 输出 日志。

得益于 Splunk 这样的日志分析平台,既实现了日志的集中管理和访问,又实现了 统计 分析和动态图形展示,在提高运维效率的同时,也提升了业务运营的水平。

2014年,Splunk带我入行,今天我对日志分析的很多认知都是Splunk 扫盲的 。

开源盛行的那些年

之后的几年,我特别热衷于开源,当时互联网在IT运维领域的经验甩传统行业几条街, 我知道那是趋势。

事实也的确如此, 在什么山头唱什么歌, 我们春晚红包项目的成功,开源软件功不可没。

在那之后,感觉公司从上到下形成了一种共识,就是开源“靠谱”,我们的应用开发技术栈变成了Nginx、Tomcat、Redis和MySQL, 开启了开源对商业的技术替代, 开源优先成了IT转型的战略。

后来IT有了个不成文的绩效指标,就是开源软件使用率,开源成了IT降本增效的利器。

随之而来的问题是大量开源软件项目被引入,但开源版本迭代太快,商业都没搞好的基线在开源软件那更是一塌糊涂,开源软件的治理、安全和标准化问题,都逐渐显露出来。

ELK闪亮登场

就是在上述背景下,日志分析领域出现了ELK。

ELK是三个开源软件首字母的组合,三个臭皮匠顶个是诸葛亮,让我第一次看到了开源ELK群殴Splunk的一幕。

  • E lasticsearch: 分布式内容搜索引擎,通过倒排索引和JSON串,实现非结构化数据的半结构化存储和高效检索。
  • L ogstash: 数据采集的Agent,捕获日志变化并发送到ES存储。
  • K ibana: 基于ES日志分析和展现,负责 ELK的 管理配置。

    整体的日志分析框架是,在被监控的端点安装Logstash,对系统和应用日志进行监控,将日志变化实时在线存入Elasticsearch,并按日志类型分类索引,最后在Kibana中定义Dashboard进行日志数据的统计分析和动态图形展示。

如果从大数据“采、存、析、用”的角度看,Logstash负责采集,Elasticsearch负责存储,Kibana负责分析和使用。

我认为 日志管理最重要的点是前端的数据采集,其中标准化的指标数据和系统日志相对简单,难点在于业务日志的标准化和清洗,Elasticsearch技术相对稳健,主要是配合前端日志建模和存储,这两个点玩得是技术,而最后在 Kibana 上搞得就是艺术了。

有句话是这么说的,监控做的好不好,关键在于监控大屏画的好不好。

开源的“免费”午餐

Splunk,按每天的日志处理流量收费,日志量越大,费用越高。

系统日志还好,数据量小,但企业应用日志则不同,都是开发 人员大量 造出来的,按照日志流量的收费模式,企业很快就会发现 Splunk 不可持续,除了软件License贵,另外就是面向运维的日志分析很难展现业务价值。

开源软件对于企业最大的价值是什么?首先是免费,于是用ELK替代Splunk就成了很多企业的选择。

确切的说,开源更像是一种商业模式。

这也可以归结为互联网思维,免费引流,付费转化。开源软件大都可以免费使用,只是在关键技术和管理功能上需要商业付费,ELK就这样,背后也 有商业公司,而且还上市了。

在日志分析领域, ELK 相比Splunk ,大部分基础功能是完全能胜任的。

对于使用者来说,开源是一种相对合法的“盗版”,这让用户形成了一种思维, 商业软件要花钱,开源免费,而且功能又差不多,干嘛 要付费,所以ELK在国内的ToB商业化非常难做。

总之,开源对商业的替代,对于用户是有技术门槛的,看上去省了软件采购的显性成本,但是在集成和研发上的隐性成本 并不低,但感觉用 开源还是笔划算的买卖。

下篇再接着聊聊国产化和新趋势,顺便看看SIEM和AIOps是怎么忽悠的。

- 未完待续 -

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关问题

X社区推广