ELK在实际业务中的用法
-
在传统的应用场景中,对于这些上报的异常日志信息。通常适用Linux命令去分析定位问题,如果日志数据量小,也许不会觉得有什么不适。假若面对的是海量的异常日志信息,这时还用Linux命令去逐一查看、定位,这将是灾难性的。需要花费大量的时间、精力去查阅这些异常日志,而且效率也不高。 因此,构建一个应用实时日志分析平台就显得很有必要。通过对这些异常日志进行集中管理,其中包括采集、存储、展示等这些操作,用户可以在这样一个平台上按照自己的想法来实现对应的需求。
自定义需求:用户可以通过浏览器界面访问Kibana来制定不同的筛选规则,查询存储在ElasticSearch集群中的异常日志数据。返回的结果在浏览器界面通过表格或者JSON对象的形式进行展示,一目了然。
命令接口:对于周期较长的历史数据,如果不需要可以进行删除。在Kibana中提供了操作ElasticSearch的接口,通过执行删除命令来清理ElasticSearch中无效的数据。
结果导出与共享:在Kibana系统中,分析完异常日志后可以将这些结果直接导出或者共享。Kibana的浏览器界面支持一键式结果导出与数据分享,不需要额外的去编写代码来实现。
架构与剖析:搭建实时日志分析平台涉及到的组件有ElasticSearch、LogStash、Kibana、Kafka,它们各自负责的功能如下:
ElasticSearch:负责分布式存储日志数据,给Kibana提供可视化的数据源;
LogStash:负责消费Kafka消息队列中的原始数据,并将消费的数据上报到ElasticSearch进行存储;
Kibana:负责可视化ElasticSearch中存储的数据,并提供查询、聚合、图表、导出等功能;
Kafka:负责集中管理日志信息,并做数据分流。例如,Flume、LogStash、Spark Streaming等。
架构:将日志服务器托管的压缩日志统计收集到Kafka消息队列,有Kafka实现数据分流。通过LogStash工具消费Kafka中存储的消息数据,并将消费后的数据写入到ElasticSearch进行存储,最后通过Kibana工具来查询、分析ElasticSearch中存储的数据,整个体系架构如图10-17所示。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏