了解什么是ELK
ELK是一套针对日志数据做解决方案的框架,分别代表了三款产品:
- E: ElasticSearch(ES),负责日志的存储和检索;(ElasticSearch是一个基于Lucene、分布式、通过Restful方式进行交互的近事实搜索平台框架。)
- L:Logstash,负责日志的收集,过滤和格式化; (Logstash是ELK的中央数据流引擎,用于从不同目标(文件、数据存储、MQ)收集的不同格式数据,经过过滤支持输出到不同目的的【文件/MQ/redis/elasticsearch/kafka等】)
- K:Kibana,负责日志的展示统计和数据可视化;(Kibana可以将elasticSearch数据有好的展示出来,提供实时分析的功能)
kibana
官网路径:https://www.elastic.co/downloads/kibana
ELK不仅仅用于日志分析,还可以支持任何数据分析和收集的场景。
流程图
应用场景:
- 应用出现故障,需要通过日志排查故障信息。当应用已部署了多个环境时,这时排查的难度和耗时就是一个巨大的损耗。而ELK就可以对多个环境的日志进行收集,过滤,存储,检错,可视化。届时你只需要查看kibana上的日志信息,就可以找出故障所在。
- 针对应用在生产环境上的表现需要数据支撑,如访客数,功能调用量,出错率等等。此类数据的收集,当然可以通过使用别的产品或编写一套程序进行输出,是有其一定的效果。但能像ELK这样对应用无入侵,且功能强大的开源软件。那是少之又少了。
参考文档:狂神说Java课件