从IT到DT,数据成了最新最重要的生产资料,正在驱动着企业进行数字化转型。
日志数据的分析和利用越来越受到企业重视, 前阵子国产厂商“ 日志易 ” 送了本《日志管理和分析》给我, 才发现几年间日志分析这个细分领域有了很多变化。
今天跟大家做个心得分享, 有些是旧事重提,有些是新鲜感悟。
职业生涯里,总有一些事,一段时光,很特殊。
2015年春节,公司花重金搞了一次春晚红包的互联网营销,意义深远 。
那时很多传统企业对互联网玩法还不熟悉,但公司却愿意大手笔 投入真金白银来进行创新实践 ,可遇不可求。
春晚红包项目,我们在公有云上部署了100多套Nginx和近1000个Tomcat实例,是我运维过的最大的单一集群。
机会难得,所以在项目结束后,我很好奇想看看日志里有哪些有价值的信息。
为此,我特意去后台看了Nginx的Access日志,结果惊奇的发现原来Samsung有那么多款手机,OPPO和VIVO的手机的市场占有率竟如此之高。
这就是我第一次,互联网应用日志分析。
虽然用的是命令行和awk脚本,以及离线的初级方式,但是得益于 SaltStack工具 的加持,也算起步较高了。
Splunk,日志分析领域的开创者,也是大数据价值的楷模。
随着虚拟化的大规模普及,运维效率和业务响应时效逐渐成了工作中的瓶颈和痛点,让配置管理和日志分析工具对于运维人员变得不可或缺。
没有 Splunk 之前,日志主要用于 应用调试 、故障分析和合规审计等场景,IT人员更习惯用awk、tail和grep等命令进行日常运维,对于重复性工作会编写Shell脚本。
每次看到应用日志中大量的Java堆栈信息,我就头大,在我的意识里特别希望日志精简有效,但开发人员却恨不得把程序运行的所有信息都输出到应用日志中,除了消耗存储,降低性能,毫无用处。
不过,随着对日志分析的理解,我对观点做了修正,依然认为日志应该精简有效,但是对于一些特定的业务事件,应用程序应该主动 输出 日志。
得益于 Splunk 这样的日志分析平台,既实现了日志的集中管理和访问,又实现了 统计 分析和动态图形展示,在提高运维效率的同时,也提升了业务运营的水平。
2014年,Splunk带我入行,今天我对日志分析的很多认知都是Splunk 扫盲的 。
之后的几年,我特别热衷于开源,当时互联网在IT运维领域的经验甩传统行业几条街, 我知道那是趋势。
事实也的确如此, 在什么山头唱什么歌, 我们春晚红包项目的成功,开源软件功不可没。
在那之后,感觉公司从上到下形成了一种共识,就是开源“靠谱”,我们的应用开发技术栈变成了Nginx、Tomcat、Redis和MySQL, 开启了开源对商业的技术替代, 开源优先成了IT转型的战略。
后来IT有了个不成文的绩效指标,就是开源软件使用率,开源成了IT降本增效的利器。
随之而来的问题是大量开源软件项目被引入,但开源版本迭代太快,商业都没搞好的基线在开源软件那更是一塌糊涂,开源软件的治理、安全和标准化问题,都逐渐显露出来。
就是在上述背景下,日志分析领域出现了ELK。
ELK是三个开源软件首字母的组合,三个臭皮匠顶个是诸葛亮,让我第一次看到了开源ELK群殴Splunk的一幕。
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 条评论