当前位置: 首页 > 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;继承…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...