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. FZU 2140 Forever 0.5 (几何构造)

    Forever 0.5 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit  ...

  2. Light OJ 1199 - Partitioning Game (博弈sg函数)

    D - Partitioning Game Time Limit:4000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu ...

  3. IDE整理

    1.eclipse 下载地址:http://www.eclipse.org/downloads/     2.myeclipse 下载地址:http://www.myeclipseide.com/mo ...

  4. Update startup files更新安装文件

    The service request did not complete because access to the service configuration manager was not gra ...

  5. NSOperation基本使用

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

  6. angularjs教程

    http://www.runoob.com/angularjs/angularjs-routing.htmlA

  7. MVC中session创建并获取问题

    有两个ActionResult分别为A和B,如下 public ActionResult A() { Session["test"]="123"; return ...

  8. Linux防火墙规则的查看、添加、删除和修改

    这里只列出比较常用的参数,详细的请查看man iptables 1.查看 iptables -nvL –line-number -L查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表 ...

  9. ***PHP中empty()和isset()的区别

    对于初学php的人来说,empty()和和isset()用法的区别是很难搞清楚的,他们的用法的差别不仔细去琢磨的话确实很难弄清楚. 先说一下他们的共同点: 都可以判定一个变量是否为空: 都返回bool ...

  10. 百万用户时尚分享网站feed系统扩展实践

    Fashiolista是一个在线的时尚交流网站,用户可以在上面建立自己的档案,和他人分享自己的以及在浏览网页时看到的时尚物品.目前,Fashiolista的用户来自于全球100多个国家,用户达百万级, ...