由于trace.log文件中的日志内容比较多,为了便于查找关于我们项目部分的日志,需要对日志文件进行分析。
Logstash是一个开源的,可以对分布式环境中的日志进行收集分析的工具。 Kibana也是一个开源和免费的工具,他可以帮助汇总,分析和搜索重要日志数据并提供友好的web界面,它可以为Logstash和ElasticSearch提供日志分析的web界面.
它的工作流程是: logstash agent监控并过滤日志,将过滤后的日志内容发给redis(这里的redis只处理队列不做存储),logstash index将日志收集起来交给全文搜索服务ElasticSearch,然后可以用ElasticSearch进行自定义搜索,再通过Kibana来结合自定义搜索进行页面展示。
从图中可以看到,左边的流程可以看做是Filter流程,然后右边的是ElasticSearch,自定义搜索。
下面是一个页面展示的例子,使用Contribution关键字查询过去6个小时的日志记录,结果返回了28条记录。
另外,ElasticSearch提供了Rest API,通过FireBug可以看到web页面上调用的各种Rest API。
Logstash的配置可以通过手动也可以通过chef快速配置,具体可以参照官网
http://www.logstash.net/
下面是Kibana的一个demo:
http://demo.kibana.org/index.html#/dashboard