Splunk是日志/流式数据领域中作的最好的商业软件实现,它的核心能力只有一个:git
像Google那样搜索企业内部全部产生的日志程序员
这个的威力很是大,如今的企业不缺数据,缺的是有效挖掘数据的能力。而显然大部分企业没有Google的能力去作搜索,因而Splunk提供这样的能力。与之相竞争的开源实现有Logstash。web
Splunk ≈ Logstash Logstash = Redis(传输) + ElasticSearch(搜索) + Kibana(展示) ElasticSearch = Lucene + Search
Splunk官网上有,我就不替他们作广告了,总之,很贵,一万美圆能买1G的流量天天。言归正传,我仍是分析一下这个玩意儿的一些功能特性吧。数据库
首先,Splunk有一个很炫酷的界面session
能够看到,Splunk的主要使用方式就是那个搜索框,在里面输入一种叫作SPL的搜索语言,就能获取到你想要的各类信息了。Splunk能在后台对数据进行过滤、聚合、统计,最后获得各类报表、图像架构
SPL是一种向SQL致(chao)敬(xi)的语言,语法很是的相似,不一样的是,SPL搜索的不是关系数据库,而是输入到Splunk系统中全部的日志数据,如下是几个具体的案例:框架
能够看到,对于一行SPL搜索语句运维
sourcetype = syslog ERROR | top user | fields - precent
Splunk是这么干的,elasticsearch
最后看到,这个搜索干了什么事情呢?它一会儿就把日志中出错最多的前十个用户给统计出来了,这样后续程序员就能跟踪这些错误为何产生,而后着手去解决。工具
| where distance/time > 100
使用where,对日志中两个字段进行相除后比较。
Splunk主要作了3件事
以上几点,就决定了Splunk的市场很是的大,这家公司的概念是流式数据领域的数据仓库,2012在纳斯达克上市,不过这两年被人作空,股票大跌。由于不少云计算厂商都能提供这种服务,例如阿里云1MB/S都是免费的。
###Splunk vs Logstash###
Logstash是个开源的日志搜索工具,也是一体化的开箱即用的产品。基本上,能实现Splunk六成的功力。Web没有那么强,也没有SPL这样简单的语言,ElasticSearch须要经过Json来查询,Kibana的搜索语句能力有限。目前能够说Logstash这个项目还在成熟期。须要后续不少的工做才能作好。
###Splunk vs Kafka ###
这么比较其实不是很公平。
Kafka只解决了日志的统一搜集、传输、序列化存储问题。Splunk作的更多些,还作了数据索引的深加工。
同时,Kafka须要在源头使用schema来定义数据格式,严格,有利于后期的消费程序使用。
Splunk却对源头数据要求没有那么高,对现有系统改动小,由于是个企业软件,须要追求兼容性。
从高可用方面来看,Splunk目前尚未一天搜集几个T的数据的案例,Kafka在这方面的能力绝对没有问题。
Kafka是个比较好的车身框架,但还缺一个强大的发动机和很多内饰;Splunk是一辆功能完善的车子,就是价格很贵,并且没有在150码以上开过的案例。
因此,对于Kafka,可能的整体解决方案有:
Kafka + YARN + Hadoop = Samza(Linkin) Kafka + Strom + MySQL Kafka + ElasticSearch + Kibana
Splunk和Logstash能够说是日志处理领域较为成功的商业和开源产品了
—— 可是,我认为对于云计算厂商来说,还有两个产品能够作分析,那就是2014年开始有的阿里云的简单日志服务SLS,以及亚马逊的Amazon kinesis。
欲知后事如何,且听下回分解 ~~
探索 Splunk ,搜尋處理語言 (SPL) 入門和操做手冊 —— 繁体的技术手册,估计是Splunk找台湾人翻译的吧
ElasticSearch 权威指南 —— 上海的一家互联网公司,作EverMemo和食色的那家,的某位员工翻译的
访谈与书评:《LogStash,使日志管理更简单》 —— 英文原书要9刀,做者穷疯了……仍是看看评论吧
《经过 ElasticSearch 进行可伸缩搜索》
《使用logstash+elasticsearch+kibana快速搭建日志平台》
《LogStash日志分析系统》
《logstash VS splunk》