Elastic Stack是一套完整的从数据采集,解析,分析,丰富,到搜索,检索,数据程序等一套完整的软件栈。在具体的实践中,我们应该如何搭建我们的系统呢?

下图描述了常用的Elastic Stack的部署架构:

该图描述了三种可能的体系结构:

  • 将操作指标直接发送到Elasticsearch:如上图所示,您将在要从其发送操作指标/日志的边缘服务器上安装各种类型的Beats,例如Metricbeat,Filebeat,Packetbeat等。 如果不需要进一步处理,那么可以将生成的事件直接传送到Elasticsearch集群。 一旦数据出现在Elasticsearch中,就可以使用Kibana对其进行可视化/分析。 在这种体系结构中,事件流将是Beats→Elasticsearch→Kibana。当然如果您需要做进一步的处理,您也可以通过ingest node的pipleline帮助实现。
  • 将操作指标发送到Logstash:Beats捕获并安装在边缘服务器上的操作指标/日志将发送到Logstash进行进一步处理,例如解析日志或丰富日志事件。 然后,已解析/丰富的事件被推送到Elasticsearch。 为了提高处理能力,您可以扩展Logstash实例,例如,通过配置一组Beats将数据发送到Logstash实例1,并配置另一组Beats将数据发送到Logstash实例2,依此类推。 在这种架构中,事件流将是Beats→Logstash→Elasticsearch→Kibana。
  • 将操作指标发送到弹性队列:如果生成的事件发生率很高,并且Logstash停机时Logstash无法应付负载或防止数据/事件丢失,则可以使用诸如以下的弹性队列 Apache Kafka,以便将事件排队。 然后,Logstash可以以自己的速度处理它们,从而避免丢失Beats捕获的操作指标/日志。 在这种体系结构中,事件流将是Beats→Kafka→Logstash→Elasticsearch→Kibana。

提示:从Logstash 5.x开始,您可以使用Logstash的持久队列设置,也可以将其用作队列。 但是,它不像Kafka一样提供高度的弹性。

也有一些应用场景是这样部署的:

同样的,在这里,我们可以通过radis或Kafaka来提供一个弹性队列来缓冲高发生率事件。

在实际的使用中,如果我们不把Elasticsearch当做唯一的数据库来存储的话,那么,我们可以采用如下的方案:

在这种架构中,您有两个数据存储,必须找到一种使它们保持同步的方法。 根据您的主要数据存储区和数据布局方式,您可以部署Elasticsearch插件以使两个实体保持同步。

如下的是另外一中有外部数据,物联网等的一种架构:

或者一个更加全面的架构图:

在Elastic的官方文档中,有更多关于部署架构的描述。详细文档:https://www.elastic.co/assets/blt2614227bb99b9878/architecture-best-practices.pdf

Elastic:Elastic部署架构介绍的更多相关文章

  1. LNMP架构介绍与部署

    一.LNMP架构介绍 LNMP:Linux系统下Nginx+MySQL+PHP这种网站服务器架构.Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器.My ...

  2. MemSQL分布式架构介绍(一)

    最近在了解MemSQL架构,看了些官方文档,在这里做个记录,原文在这里:http://docs.memsql.com/latest/concepts/distributed_architecture/ ...

  3. IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构(转载)

    IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构 系列文章链接: IIS负载均衡-Application Request Route详解第一篇: ...

  4. 大型网站技术架构介绍--squid

    一.大型网站技术架构介绍 1.pv高  ip高 并发量 2.大型网站架构重点    1. 高性能:响应时间,TPS,系统性能计数器.缓存,消息队列等.     高可用性High Availabilit ...

  5. Azure环境中Nginx高可用性和部署架构设计

    前几篇文章介绍了Nginx的应用.动态路由.配置.在实际生产环境部署时,我们需要同时考虑Nginx的高可用性和部署架构. Nginx自身不支持集群以保证自身的高可用性,商业版本的Nginx+推荐: T ...

  6. 微服务架构介绍和RPC框架对比

    微服务架构介绍和RPC框架对比 1.微服务架构 1.1 特征 自动化部署,端点智能化,语言和数据的去中心化控制. 1.2架构 一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中 ...

  7. Mysql双主互备+keeplived高可用架构介绍

    一.Mysql双主互备+keeplived高可用架构介绍 Mysql主从复制架构可以在很大程度保证Mysql的高可用,在一主多从的架构中还可以利用读写分离将读操作分配到从库中,减轻主库压力.但是在这种 ...

  8. Nginx技术研究系列7-Azure环境中Nginx高可用性和部署架构设计

    前几篇文章介绍了Nginx的应用.动态路由.配置.在实际生产环境部署时,我们需要同时考虑Nginx的高可用性和部署架构. Nginx自身不支持集群以保证自身的高可用性,商业版本的Nginx+推荐: T ...

  9. 远程服务调用RPC框架介绍,微服务架构介绍和RPC框架对比,dubbo、SpringClound对比

    远程服务调用RPC框架介绍,微服务架构介绍和RPC框架对比,dubbo.SpringClound对比 远程服务调用RPC框架介绍,RPC简单的来说就是像调用本地服务一样调用远程服务. 分布式RPC需要 ...

随机推荐

  1. 【docker专栏5】详解docker镜像管理命令

    一.国内Docker镜像仓库 由于大家都知道的原因,从国外的docker 仓库中pull镜像的下载速度实际上是很慢的.国内的一些一线厂商以及docker官方都在国内免费提供了一些docker镜像仓库, ...

  2. 常用Linux音译

    su:Swith user 切换用户,切换到root用户 cat: Concatenate 串联 uname: Unix name 系统名称 df: Disk free 空余硬盘 du: Disk u ...

  3. 自己写雪花算法IdWorker

    package com.aiyusheng.shopping.util; import java.lang.management.ManagementFactory; import java.net. ...

  4. 关于webapi调用wcf并发假死的分析

    原来IDFA(IOS推广获取到用户IOS手机的唯一标识,如果不刷机的话跟安卓的IMEI一样)在公司正常的页面是公用用一个网站和数据库的. 起初怀疑并发数太多,把数据库连接池的数量从一百设置到三百,确实 ...

  5. 2022-07-15/16 第一小组 田龙月 管理系统javaSE

    JavaSE小项目(基础语法:二分查找:冒泡排序)--还是存在bug:删除一个数组内一组数据后面只有一组后面数据能向前移位 (YY:使用"方法"应该会好很多,代码架构会清晰一点)未 ...

  6. 基于EasyExcel的大数据量导入并去重

    源码:https://gitee.com/antia11/excel-data-import-demo 背景:客户需要每周会将上传一个 Excel 数据文件,数据量单次为 20W 以上,作为其他模块和 ...

  7. CF1381B Unmerge(位运算的作用)

    题目大意: 给定长度为 \(2n\) 的排列 \(p\) .确定是否存在两个数组 \(a\) 和 \(b\) ,每个数组的长度都为 \(n\) ,并且没有相等的元素,使得 \(p = \operato ...

  8. nginx+redis+tomcat session绑定

    需求: 公司后端两台tomcat做负载,前端nginx接收用户请求:为了使无论用户请求到后端哪台设备其session都能保持一致,需要做session绑定:所需软件: tomcat8.redis.ng ...

  9. gitlab+jenkins学习笔记

    一.部署gitlab gitlab部署我采用的是docker的方式,这种方式的优势是方便:之前部署过非docker的gitlab,需要配置安装许多东西,太麻烦,还是docker部署方便,从官网pull ...

  10. 使用try_catch_finally处理流中的异常和JDK7流中的异常处理

    在jdk1.7之前使用try_catch_finally处理流中的异常 格式: try{ 可能会出现异常的代码 }catch(异常类变量 变量名){ 异常的处理逻辑 }finally{ 一定会执行的代 ...