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

始于日志,不止于日志,Elastic Stack全面介绍

1、Elastic Stack是什么?

说Elastic Stack之前,先说一下ELK Stack。这个词相信很多人都是耳熟能详的,作为一个著名的日志系统解决方案,应用非常广泛。

“ELK”是三个开源项目的首字母缩写词:Elasticsearch、Logstash 和 Kibana。 其中Elasticsearch 是一个开源、分布式、RESTful、基于 JSON 的搜索和分析引擎;Logstash 是一个服务器端数据处理管道,它同时从多个来源摄取数据,对其进行转换,然后将其发送到 Elasticsearch存储;Kibana 则允许用户在 Elasticsearch 中使用图表和图形来可视化数据。

其中Logstash除了可以收集多个来源的数据,还具备丰富的插件,可以用于数据分析过滤,但是占用资源比较多,使用起来比较重。由于有用户提出只需要跟踪某一个文件这种单一的轻量级场景,所以2015 年Elastic又开发出了各种轻量级单一用途的数据收集器,这就是Beats,其中非常著名的例如FileBeat。Beats出现以后,通常做法是使用Beats收集数据上传到Kafka等消息队列,然后Logstash订阅消息队列的数据,经过分析过滤以后上传到Elasticsearch。

当Beats加入ELK这个组合以后,再叫ELK显然就不合适了,那么不能叫做"EBLK"或者叫做"ELKB"吧,不然以后再加一个组件进来又得再改名字了。所以官方想了Elastic Stack这个新名字,具备“弹性”倒是非常贴切,所以以后不要再说ELK啦,就叫Elastic Stack。

2、Elastic Stack应用场景远不止于日志

Elastic Stack是公认的日志监测领域的领导者,以提供日志解决方案而闻名,但是实际上其应用场景却远远不止于日志,在基础架构监测、APM、客户旅程监测、企业内部搜索、地理位置信息应用、SIEM、终端安全、商业分析等方面都有比较完善的解决方案。下面举几个应用场景案例进行说明:

2.1、使用Elastic Stack构建APM

应用性能监测(APM)是现代微服务架构下非常重要的部分,掌握应用的性能数据、调用链路、依赖关系,能够方便、快速地对应用地运行系统进行掌握,出现故障能够快速分析定位。

Elastic Stack支持包括 OpenTelemetry、W3C 跟踪上下文和 Jaeger 在内的开放标准,通过采集由 OpenTelemetry agent收集的应用程序遥测数据,能够快速收集各类应用程序的性能数据,支持各类语言,通过Kibana、APM Server集成构建用户可观测的用户界面,就能非常方便实现APM的能力。

OpenTelemetry(也称为 OTel)是一个开源可观测能力框架,由一系列工具、API 和 SDK 组成,使 IT 团队能够检测、生成、收集和导出远程监测数据以进行分析和了解软件性能和行为,它是云原生地可观测遥测数据收集的一个标准;Jaeger 也是一个著名的分布式链路追踪框架。Elastic Stack对于这些框架的集成支持,使得构建APM是一件比较轻松的事情。

收集到的数据通过Kibana集成的APM能力能够以图形化的形式展示出来,例如调用链路跟踪、应用程序依赖关系等。

另外,Elastic Stack还具备Machine Learning 以及延迟和错误相关性的自动异常检测的能力,能够更加智能地协助问题排查。

2.2、使用Elastic Stack构建基础架构监测

Elastic Stack提供了Elastic Agent支持从各种地方收集需要进行监控的数据,这些数据可以是日志、指示、操作轨迹等,为了方便进行各类Elastic Agent的管理,Elastic Stack还提供了Fleet,可以统一对Agent进行配置、管理。

Elastic Agent 和 Fleet 为常用服务和平台提供了多种开箱即用的组件,包括一些常用的仪表板、可视化工具,免除大量的人工操作成本。

Kibana中有大量可以集成的现成应用,这些集成的组件超过200个,只需要简单安装即可完成集成接入,非常方便。

2.3、使用Elastic Stack构建用户体检监测

系统表现出的性能与实际的用户体验之间是可能存在较大的差距的,用户实际体验会受到浏览器类型、网络、区域、操作系统类型等多个因素的影响,如果不能有效掌握用户的体验受阻情况,就无法针对性的进行优化。

通过收集用户体验埋点信息,用户受挫信息等,基于URL、地理位置信息、浏览器类别等进行相关的数据统计分析,使用Elasticsearch存储所有的类型数据,使用Kibana相关集成对数据进行分析展示,了解不同地域、分层的用户的体验情况。

以上只是一些例子,实际上Elastic Stack在可观测性方面已经有了非常全面的解决方案,并且被广泛采用,在2022 年度 Gartner® APM 与可观测性 Magic Quadrant™评选中被评为visionary(“有远见者”)。

3、为什么选择Elastic Stack?

Elastic Stack之所以能够被广泛地采用,一是这个套件中各组件的功能强大,二是经过Elastic的整合,各套件完美搭配。

以可观测性系统构建为例,主要涉及三大步骤:数据采集、数据存储、数据分析和展示。

3.1、Logstash和Beats构建了最强大灵活的数据采集能力

Logstash 能够动态地采集、转换和传输数据,支持非结构化的数据,强大的Grok表达式可以轻松从非结构化数据中解析出所需要的数据,支持各种数据源,拥有近200种插件,数据过滤和转换能力十分强大,并且具备可信的交付管道,通过持久化队列保障事件至少被发送一次。

Beats则集合了多种单一用途数据采集器,包括Filebeat、Metricbeat、Heartbeat等等,轻松地从虚拟机、Docker或kubernetes容器平台收集数据,所有的Beats基于libbeat,这意味着开发者能根据自己的需要灵活地构建新地Beats。

3.2、Elasticsearch构建了强大的存储和搜索能力

Elasticsearch 是一个分布式、免费和开放的搜索和分析引擎,它几乎适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据,搜索速度快、分布式扩展性强、功能强大。

**搜索速度很快。**因为 Elasticsearch 建立在 Lucene 之上,所以它擅长全文搜索。Elasticsearch 也是一个近乎实时的搜索平台,这意味着从文档被索引到变得可搜索的延迟非常短——通常是一秒。因此,Elasticsearch 非常适合对时间敏感的用例,例如安全分析和基础设施监控。

**Elasticsearch 是自然分布的。**存储在 Elasticsearch 中的文档分布在称为shard的不同容器中,这些容器被复制以在硬件故障时提供数据的冗余副本。Elasticsearch 的分布式特性使其能够扩展到数百(甚至数千)台服务器并处理 PB 级的数据。

**Elasticsearch 具有广泛的功能。**除了速度、可扩展性和弹性之外,Elasticsearch 还具有许多强大的内置功能,可以更加高效地存储和搜索数据,例如数据汇总和索引生命周期管理。

3.3、Kibana构建强大的展示能力

Kibana 则提供了强大的数据可视化和管理工具,提供常用的直方图、折线图、饼图和地图等。它还包括了高级应用程序,例如允许用户根据数据创建自定义动态信息图表的Canvas,以及用于可视化地理空间数据的 Elastic Maps。

目前为止,在UI展示功能和灵活性方面,除了Grafana,Kibana可以说是首屈一指。

4、Elastic Stack的服务提供方式

Elasticsearch相关的服务可以通过 Elasticsearch Service(可在 Amazon Web Services (AWS)、Google Cloud 和阿里云上使用)部署为托管的托管服务。

对于希望从单个控制台配置、管理和监控其部署但不想使用公共云平台的用户,Elastic 还提供 Elastic Cloud Enterprise,可以以私有云的形式进行部署。

对于自主掌控能力较强,有相关维护团队的企业来说,可以自行下载Elasticsearch、Kibana等组件自行进行部署和维护,高级非免费功能通过付费购买方式使用。

相关文章:

始于日志,不止于日志,Elastic Stack全面介绍

1、Elastic Stack是什么? 说Elastic Stack之前,先说一下ELK Stack。这个词相信很多人都是耳熟能详的,作为一个著名的日志系统解决方案,应用非常广泛。 “ELK”是三个开源项目的首字母缩写词:Elasticsearch、Logstash…...

FDX-B|EMID格式低频RFID 读卡模块LD6900技术选型与说明

FDX-B|EMID格式低频RFID 读卡模块LD6900是华翔天诚推出一款基于 RFID 无线射频识别技术的低频(LF)读卡模块,工作频率支持 134.2KHZ、125KHZ,符合 ISO 11784/5 国际标准,支持对 FDX-B、EMID 两种协议格式电子标签的读取…...

《SQL基础》11. 索引

SQL - 索引索引概述结构B-TreeBTreeHash思考分类语法SQL性能分析SQL执行频率慢查询日志profile详情explain执行计划索引失效情况范围查询索引列运算字符串不加引号模糊查询or连接条件数据分布影响使用规则最左前缀法则SQL提示覆盖索引前缀索引设计原则索引 概述 索引&#xf…...

【前端】进阶Mac OS软件商城页面_缤纷多彩的创意UI

非常漂亮的仿Mac OS界面&#xff0c;更改下参数就可以变成你需要的界面。 还可以一键更换背景主题 灵感来源于米科瓦伊加文齐奥夫斯基 附上css、html、js源码 下面是html文件 <!DOCTYPE html> <html lang"en" > <head><meta charset"…...

格创东智与金羽新能合作|先进工业互联网助力固态电池智能化运营

2022年12月&#xff0c;浙江金羽新能源科技有限公司&#xff08;以下简称金羽新能&#xff09;与格创东智签订战略合作框架协议&#xff0c;并在湖州安吉举行金羽新能固态电池MES项目启动会。 固态电池是一种使用固体电极和固体电解质的电池。相较传统锂电池&#xff08;液态电…...

软件测试面试刷题app包含了各种难题

软件测试的生命周期&#xff1a; V模型&#xff1a;与软件开发阶段呼应 软件开发&#xff1a;需求分析-->概要设计-->详细设计-->编码阶段软件测试&#xff1a;单元测试-->集成测试-->系统测试-->验收测试从基本流程的角度讲&#xff1a; 需求阶段&#xff…...

19、ClickHouse企业中常见的20种用法

文章目录19、ClickHouse企业中常见的20种用法-- 1、表结构添加字段-- 2、删除语句-- 3、更新语法-- 4、查询表字段结构-- 5、展示字段加密处理 身份证号&#xff08;字母加数字&#xff09;加密-- 6、展示字段加密处理 手机号&#xff08;纯数字&#xff09;加密-- 7、计数 去重…...

怎么样用香港主机搭建游戏网站

香港是全球主要的互联网骨干节点&#xff0c;拥有质量较高的网络基础设施&#xff0c;在网络速度和稳定性方面表现良好。因此&#xff0c;使用香港主机搭建游戏网站可以使用户在游戏中的体验流畅且基本不会延迟情况。本文将向用户解释如何使用香港主机搭建游戏网站。在搭建游戏…...

重磅!GitLab 提出五大预测,洞见 2023 年 DevSecOps 发展趋势

本文来源&#xff1a;about.gitlab.com 作者&#xff1a;Sandra Gittlen 译者&#xff1a;极狐(GitLab) 市场部内容团队 2023 年&#xff0c;企业会将更多的时间和资源投入到持续的安全左移上&#xff0c;完成从 DevOps 到 DevSecOps 的演变。 GitLab CMSO Ashley Kramer 表示…...

内核模块(传参和依赖)

目录 一、模块传参 二、模块依赖 三、内核空间和用户空间 四、执行流 五、模块编程与应用编程的比较 六、内核接口头文件查询 七、小作业 一、模块传参 module_param(name,type,perm);//将指定的全局变量设置成模块参数 name:全局变量名 type&#xff1a; 使用符号 …...

基础篇:03-SpringCloud工程部署启动

目录 1.工程搭建部署 方案一&#xff1a;完整工程导入 方案二&#xff1a;从零开始搭建 1.工程与module创建 2.数据库导入 3.项目启动 3.1 启动并访问user-service 3.2 启动并访问order-service 4.服务远程调用 时序图说明 服务远程调用实现 注入RestTemplate Res…...

二、产品经理——【需求收集】【需求管理】

0. 学习目标 能够理解并描述需求能够收集并管理需求 1. 如何定义需求 1.1. 需求的定义 原始需求&#xff1a;没有经过任何分析&#xff0c;或者没有经过任何额外解读的需求信息 避免日后纠纷&#xff0c;尽量记录一下原始需求&#xff01;先记录下来&#xff0c;后面再进行分…...

蓝桥杯stm32 USART 串口接收数据

文章代码使用 HAL 库。 文章目录 前言一、创建 CubeMX 工程:二、 中断接收数据 函数:三、串口接收回调函数实验效果四、接收固定长度的数据。五、串口接收 不定长数据。总结前言 上篇文章是 串口的发送数据,这篇文章接着上次的 讲 串口的接受数据。 一、创建 CubeMX 工程:…...

CellularAutomata元胞向量机-9-生命游戏MATLAB代码分享

主程序&#xff1a;%%Conways life with GUI clf % 清除图形clc, clear% %build the GUI %define the plot button plotbuttonuicontrol(style,pushbutton,... string,Run, ... fontsize,12, ... position,[100,400,50,20], ... callback, run1;); %define the stop button era…...

基于Java+Swing+mysql图书管理系统

基于JavaSwingmysql图书管理系统一、系统介绍二、功能展示1.用户登陆、注册2.类别管理--管理员3.图书管理--管理员4.用户管理--管理员5.图书借还情况查看--管理员7.用户主页8.办理还书--用户9.办理还书三、数据库四、其它系统五、获取源码一、系统介绍 该系统实现了 用户: 图书…...

高通IPQ支持串口转RS485

IPQ60xx支持串口转RS485 1. IPQ6018支持串口转RS4851.1 功能需求1.2 原理1.3 实现方法1.4 如何使用RS485?1.5 修改底层串口驱动来进行控制收发状态,上层应用可以直接当成串口来进行操作1. IPQ6018支持串口转RS485 1.1 功能需求 IPQ60xx/IPQ501x/IPQ80xx项目中使用RS485, 需…...

力扣-组合两个表

大家好&#xff0c;我是空空star&#xff0c;本篇带你了解一道简单的力扣sql练习题。 文章目录前言一、题目&#xff1a;175. 组合两个表二、解题1.left join提交SQL运行结果2.right join提交SQL运行结果总结前言 一、题目&#xff1a;175. 组合两个表 表: Person ----------…...

Linux权限概念

目录 Linux权限的概念 什么是权限 如何去操作权限 设置文件所属角色 设置文件属性 umask 粘滞位 Linux权限的概念 首先我们要了解到&#xff0c;在linux下有两种用户&#xff1a;超级用户(root)和普通用户。超级用户的命令提示符是“#”&#xff0c;普通用户的命令提示…...

备战金三银四,这些无数测试前辈们踩过的坑,在面试中,一定要注意这些

你觉得软件测试师这个职位怎么样&#xff1f;大多数人可能会给出答案:“测试&#xff1f;啊&#xff0c;没有技术含量。无非是看需求、业务手册、设计文档&#xff0c;然后点击功能是否实现。问题是测试中的部署和安装是否存在兼容性问题。” 是的&#xff0c;不可否认&#x…...

注解(加与不加的区别)

起因&#xff1a; 在看到这个文章时&#xff0c;对于注解的作用半知半解&#xff0c;由此&#xff0c;写了个例子&#xff0c;验证注解作用 以Override举例 新建一个父类&#xff0c;取名为textone(类名首字母应该大写) 写一个方法&#xff1a; 再新建一个类&#xff0c;继承…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...