当前位置: 首页 > news >正文

ElasticSearch实战-日志监控平台

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.结束语

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

联系方式: 
邮箱:smartloli.org@gmail.com 
Twitter: https://twitter.com/smartloli 
QQ群(Hadoop - 交流社区1): 424769183 
温馨提示:请大家加群的时候写上加群理由(姓名+公司/学校),方便管理员审核,谢谢! 

热爱生活,享受编程,与君共勉!



本文转自哥不是小萝莉博客园博客,原文链接:http://www.cnblogs.com/smartloli/,如需转载请自行联系原作者

相关文章:

  • WP7 开发(十四) ApplicationBar
  • Linux下搭建svn服务器
  • nodejs的一些局限
  • 操作无法完成。键入的打印机名不正确,或者指定的打印机没有连接到服务器上...
  • 红黑树源码及错误解析
  • 修复垂直滑动RecyclerView嵌套水平滑动RecyclerView水平滑动不灵敏问题
  • 无线网络覆盖 郑州大学第三届acm比赛试题 n 199
  • 回数
  • 生成备案号例如80-027-1-001 规则为:企业编号-所在区号-产品类别-序号
  • 颠覆你的认知,带你领略史上最为齐全的微软黑科技之旅
  • 时代杂志评年度十大科技产品 iPad 2居首
  • 成功恢复FAT32误格式化后所有碎片文件(已覆盖的除外)
  • maya羽毛制作插件
  • 如何使用sendEmail发送邮件
  • TightVNC 企业内部部署
  • [NodeJS] 关于Buffer
  • 《Java编程思想》读书笔记-对象导论
  • 【附node操作实例】redis简明入门系列—字符串类型
  • Android单元测试 - 几个重要问题
  • Angular 响应式表单之下拉框
  • C++11: atomic 头文件
  • crontab执行失败的多种原因
  • golang中接口赋值与方法集
  • Java面向对象及其三大特征
  • node入门
  • Odoo domain写法及运用
  • PermissionScope Swift4 兼容问题
  • Spring核心 Bean的高级装配
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • vue-cli在webpack的配置文件探究
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • win10下安装mysql5.7
  • 第十八天-企业应用架构模式-基本模式
  • 前端_面试
  • 一道面试题引发的“血案”
  • 用Canvas画一棵二叉树
  • 在electron中实现跨域请求,无需更改服务器端设置
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 回归生活:清理微信公众号
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #HarmonyOS:Web组件的使用
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (0)Nginx 功能特性
  • (6)添加vue-cookie
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (接口自动化)Python3操作MySQL数据库
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)setTimeout 和 setInterval 的区别
  • (转载)利用webkit抓取动态网页和链接
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .Net Web项目创建比较不错的参考文章
  • .net6Api后台+uniapp导出Excel