1.概述

  在项目业务倍增的情况下,查询效率受到影响,这里我们经过讨论,引进了分布式搜索套件——ElasticSearch,通过分布式搜索来解决当下业务上存在的问题。下面给大家列出今天分析的目录:

  • ElasticSearch 套件介绍
  • ElasticSearch 应用场景和案例
  • 平台架构

  下面开始今天的内容分享。

2.ElasticSearch 套件

2.1LogStash

  LogStash是一个开源的、免费的日志收集工具,属于Elastic家族的一员,负责将收集的日志信息输送到ElasticSearch,为ElasticSearch提供数据源。

2.2ElasticSearch

  ElasticSearch是一个开源的分布式搜索引擎,具备高可靠性,支持非常多的企业级搜索用例。像Solr4一样,是基于Lucene构建的。支持时间索引和全文检索。官网:https://www.elastic.co 它对外提供一系列基于Java和HTTP的API,用于索引、检索、修改大多数配置。

2.3 Kibana

  Kibana也是开源和免费的工具,同样也是Elastic家族的一员,它可以帮助我们汇总、分析和搜索重要数据日志,并且提供友好的Web可视化界面。它可以为LogStash和ElasticSearch提供一个可视化的Web界面。

  下面我们来看看ElasticSearch的应用场景和案例。

3.ElasticSearch 应用场景和案例

  在面对实时海量数据查询,实时搜索,全文搜索,ElasticSearch 都能够很好的去胜任,它是基于 Lucene、RESTful、分布式、面向云计算设计、实时搜索、全文搜索、稳定、高可靠、可扩展、安装和使用方便。下面给大家介绍一些场景的案例。

  • Github

  这个开源的托管平台,对于我们开发者来说,并不陌生,我们基本每天都会去访问Github,而Github使用ElasticSearch来实现搜索,运行在多个集群上。由于代码搜索索引很大,Github专门指定一个集群。Github使用Elasticsearch搜索20TB的数据,包括13亿的文件和1300亿行的代码。

  • Mozilla

  Mozilla公司因Firefox而闻名,它目前使用Elasticsearch将测试的结果以JSON的格式进行存储,开发人员可以非常方便的查找BUG。

  • Sony

  Sony公司使用Elasticsearch作为信息搜索引擎,以提供对外界的查询响应。

  另外,还有很多企业也用到了ElasticSearch去作为一个分布式搜索引擎,这里就不一一列举了。

4.平台架构

  下面,我给大家用一个图来说明日志监控平台的架构,如下图所示:

  通过上图,我们可以清晰的看到日志平台整个流向过程,下面我给大家来解释图中的各个环节的含义。首先,多个独立的Agent,这里就是图左边的三个LogStash节点,他们负责收集不同来源的数据,由一个Indexer负责进行汇总和分析数据,在这个当中有一个中间过程,这里我们使用了Broker,用Redis来实现这部分功能,其作用充当一个缓冲区,之后由ElasticSearch负责存储和搜索数据,最后由前段的Kibana可视化我们收集的数据。

  这里说明几点需要注意的地方:

  • 采用LogStash收集各种日志数据,其类型可以是:系统日志、文件、Redis、MQ等等。
  • Broker作为远程代理和中心代理的缓冲区,使用Redis进行实现,原因有二:其一,可以提高系统的性能;其二,可以提高系统的高可用性,当中心代理提取数据失败时,数据保存在Redis中,可以规避数据丢失的风险。
  • 中心代理使用LogStash,负责从Broker中获取数据,可以执行相关的分析和处理,它提供有Filter功能。
  • ElasticSearch用于存储最终的数据,并对外提供搜索功能,基于Restful。
  • Kibana提供一个简单、丰富的Web View可视化界面,用于可视化ElasticSearch集群中的数据,支持各种查询、统计和展示。

5.总结

  这篇博客只是给大家入个门,让大家通过一个日志监控平台的案例去熟悉ElasticSearch套件的使用,以及它的背景。后面我会专门用于一个ElasticSearch实战系列,来给大家分析这部分内容,包括平台的搭建部署,到平台的实现这一整个流程,这篇文章大家能够有个印象,熟悉各个套件的作用即可。

6.结束语

  这篇博客就和大家分享到这里,如果大家在研究学习的过程当中有什么问题,可以加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!

ElasticSearch实战-日志监控平台的更多相关文章

  1. ELK日志监控平台安装部署简介--Elasticsearch安装部署

    最近由于工作需要,需要搭建一个ELK日志监控平台,本次采用Filebeat(采集数据)+Elasticsearch(建立索引)+Kibana(展示)架构,实现日志搜索展示功能. 一.安装环境描述: 1 ...

  2. 微服务日志监控与查询logstash + kafka + elasticsearch

    使用 logstash + kafka + elasticsearch 实现日志监控 https://blog.csdn.net/github_39939645/article/details/788 ...

  3. ElasticSearch实战-入门

    http://www.cnblogs.com/smartloli/ 1.概述 今天接着<ElasticSearch实战-日志监控平台>一文来给大家分享后续的学习,在<ElasticS ...

  4. ElasticSearch实战

    ElasticSearch实战-入门 1.概述 今天接着<ElasticSearch实战-日志监控平台>一文来给大家分享后续的学习,在<ElasticSearch实战-日志监控平台& ...

  5. Sentry错误日志监控你会用了吗?

    无论作为新手还是老手程序员在程序的开发过程中,代码运行时难免会抛出异常,而且项目在部署到测试.生产环境后,我们便不可能像在开发时那样容易的及时发现处理错误了.一般我们都是在错误发生一段时间后,错误信息 ...

  6. centos7搭建ELK Cluster集群日志分析平台(一):Elasticsearch

    应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平 ...

  7. ELK搭建实时日志分析平台之一ElasticSearch搭建

    文:铁乐与猫 系统:CentOS Linux release 7.3.1611 (Core) 注:我这里为测试和实验方便,ELK整套都装在同一台服务器环境中了,生产环境的话,可以分开搭建在不同的服务器 ...

  8. 基于Flume+Kafka+ Elasticsearch+Storm的海量日志实时分析平台(转)

    0背景介绍 随着机器个数的增加.各种服务.各种组件的扩容.开发人员的递增,日志的运维问题是日渐尖锐.通常,日志都是存储在服务运行的本地机器上,使用脚本来管理,一般非压缩日志保留最近三天,压缩保留最近1 ...

  9. Kubernetes Fluentd+Elasticsearch+Kibana统一日志管理平台搭建的填坑指南

    在初步完成Kubernetes集群架构的建立后,通过搭建一些监控组件,我们已经能够实现 图形化的监控每个node,pod的状态信息和资源情况 通过scale进行replicateSet的扩展和伸缩 通 ...

随机推荐

  1. Linux vim 底下显示行号

    使用 vim /etc/vimrc 然后进入之后再 set ruler" show the cursor position all the time 底下再加上 set nu 保存退出 :w ...

  2. NSOperation基本使用

     NSOperation简单介绍 a. 是OC语言中基于GCD的面向对象的封装 b. 使用起来比GCD更加简单(面向对象) c. 提供了一些用GCD不好实现的功能 d. 苹果推荐使用,使用NSOper ...

  3. Android之UI控件

    本文主要包括以下内容 Spinner的使用 Gallery的使用 Spinner的使用 Spinner的实现过程是 1. 在xml文件中定义Spinner的控件 2. 在activity中获取Spin ...

  4. JS生成某个范围的随机数(四种情况)

    前言: JS没有现成的函数,能够直接生成指定范围的随机数. 但是它有个函数:Math.random()  这个函数可以生成 [0,1) 的一个随机数. 利用它,我们就可以生成指定范围内的随机数. 而涉 ...

  5. 转载——用Mixer API函数调节控制面板的音频设置

    关键词:Mixer函数,控制面板,音频设备调节 如果你用过windows的音频设备,比如播放音乐或者录音,聊天,调节麦克或者声音的大小,以及设置静音,都可以通过控制面板中的音频设置面板来调节,你对于下 ...

  6. 关于服务器响应,浏览器请求的理解以及javaWeb项目的编码问题

    1.服务器(Server)响应,浏览器(Brower)请求: 对于B/S的软件,数据的传递体现在,用户利用浏览器请求,以获得服务器响应.在JavaWeb项目中,大致包含.java文件的数据处理模块,和 ...

  7. Android开发中Bundle用法包裹数据(转)

    Android开发中Bundle用法包裹数据 Bundle的经典用法,包裹数据放入Intent中,目的在于传输数据. SDK 里是这样描述: A mapping from String values ...

  8. HDU 4972 Bisharp and Charizard 想法题

    Bisharp and Charizard Time Limit: 1 Sec  Memory Limit: 256 MB Description Dragon is watching NBA. He ...

  9. hdu 5752 Sqrt Bo

    Sqrt Bo Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total S ...

  10. java 线程的几种状态

    java thread的运行周期中, 有几种状态, 在 java.lang.Thread.State 中有详细定义和说明: NEW 状态是指线程刚创建, 尚未启动 RUNNABLE 状态是线程正在正常 ...