Observability:在 Elastic Stack 8.12 中使用 Elastic Agent 性能预设
作者:来自 Elastic Nima Rezainia, Bill Easton

8.12 中 Elastic Agent 性能有了重大改进
最新版本 8.12 标志着 Elastic Agent 和 Beats 调整方面的重大转变。 在此更新中,Elastic® 引入了 Performance Presets,旨在简化用户的调整过程并增强默认设置以提高性能。
默认设置增强功能
如今,Elastic Agent 使用的默认调整参数自 Beats 诞生以来就已经存在,并且经过精心挑选,以确保数据尽快进入 Elasticsearch® 进行分析。 从历史上看,调整 Elastic Agent 和 Beats 的性能需要深厚的知识,而对它们进行基准测试以获得最佳组合则需要更多的专业知识。
借助 8.12,我们让绝大多数客户不再需要调整 Elastic Agent 和 Beats。 我们为 Elastic Agent 和 Beats 引入了新的默认设置,可将吞吐量提高高达 50%,将内存使用量减少 10%,将 Elasticsearch 的并发连接减少高达 80%,并减少 Beats/Elasticsearch 中的磁盘 I/O 代理请求最多增加 50%。
性能预设简介
如果新的默认设置不能满足你的需求,或者你可能需要更多吞吐量或想要扩展到更大的代理(agents)部署,下一步不是调整 YAML 文件中的参数; 相反,新的性能预设采用了我们值得信赖的客户、现场团队和性能测试台的最佳实践,让你可以选择最适合您需求的预设,从而有效地提供量身定制的配置来满足你不同的性能要求。 让我们探索四种预设和新的自定义选项,并了解哪一种最适合你的需求:
1. 平衡 - balanced
从 8.12 开始,Balanced 预设是默认预设,它优化 Elastic Agent 以实现合理的吞吐量和资源利用率水平,使其成为各种 Elastic Agent 使用案例的首选。
对于那些熟悉 Beats 中可用的各种设置的人来说,以下是 8.12 中默认值发生的具体更改。 这些新的默认设置将每秒事件吞吐量 (EPS) 提高了 25%。
请注意:这些设置可能会在未来版本中发生变化,因为我们会继续调整这些设置以获得最佳性能。
| Configuration | Current Default | Balanced |
| bulk_max_size | 50 | 1600 |
| workers | 1 | 1 |
| queue.mem.events | 4096 | 3200 |
| flush.min_events | 2048 | 1600 |
| flush.timeout | 1 | 10 |
| compression | 1 | 1 |
| idle_timeout | 6 | 3 |
2. 吞吐量优化 - Optimized for Throughput
Optimized for Throughput 预设侧重于实现 4 倍以上的数据摄取率,使其成为需要代理处理大量事件的场景的理想选择。 它采用了 Balanced 预设的最佳部分,但更自由地消耗 CPU 和内存,并在与 Elasticsearch 的多个附加连接之间复用事件。
3. 规模优化 - Optimized for Scale
如果你要将 Elastic Agent 部署到数万个系统,则 Optimized for Scale 预设可对 Elastic Agent 进行微调,以便从数万或数十万个设备收集较少量的主机数据(例如日志或指标)。 它采用了 Balanced 预设的最佳部分,但以数据摄取的短暂延迟为代价,与默认值相比,Elasticsearch 的开放连接总数减少了 30 倍。 如果你在 Elasticsearch 之前使用反向代理或负载均衡器,这会产生很大的差异。 此设置的 EPS 性能与平衡设置非常相似。
4. 延迟优化 - Optimized for Latency
Optimized for Latency 预设可缩短数据摄取和处理之间的时间,使其适合低吞吐量但需要低延迟的实时分析和应用程序。 此预设与 8.12 之前的 Elastic Agent 默认设置密切相关,是测试新预设时遇到的任何问题的完美后备方案。
在你的 Elastic 环境中,请务必注意,这些预设仅影响版本 8.12+ 上的代理。 旧版本的 Agent 将继续使用其现有设置。
5. 定制 - custom
虽然预设旨在简化 Elastic Agent 的调整过程,但 Custom 选项允许用户对性能进行更精细的控制。 你仍然可以参考 Elastic 提供的旧指南,该指南在 Agent 上仍然相关,因为 queue.mem.events 现在也是可配置的。此处提供的旧指南提供了有关调整 Elastic Beats 性能的实际示例和见解,包括批量大小、工作人员数量等。
为了提供进一步的指导,我们的公共文档中的表格显示了对 EPS 吞吐量性能的影响,作为平衡预设性能的函数,对于这些调整参数的各种排列,适合需要更精细控制的用户。 选择自定义预设时可以设置这些参数。
如何配置
将通过将 preset 键添加到 agent policy 中的 Elasticsearch output 来选择 preset。 最初,预设键的有效值为:balanced, throughput, scale, latency 及 custom。一个示例配置是:
outputs:default:type: elasticsearchhosts: [127.0.0.1:9200]api_key: "example-key"# Must be one of "balanced", "throughput", "scale", "latency", "custom" # Unknown preset values move the output to the failed state with an appropriate error.preset: "throughput"bulk_max_size: 1024worker: 8
更多阅读请参考 https://github.com/elastic/elastic-agent/issues/3797
总之,Elastic 的新性能预设提供了一种便捷的方法来根据不同的性能需求微调 Elastic Agent。 无论你需要平衡的性能、高吞吐量、可扩展性还是低延迟,这些预设都能提供优化的配置来满足你的需求。 祝微调愉快!
Elastic 8.12 中还有哪些新功能? 查看 8.12 公告帖子了解更多>>
原文:Using Elastic Agent Performance Presets in 8.12 | Elastic Blog
相关文章:
Observability:在 Elastic Stack 8.12 中使用 Elastic Agent 性能预设
作者:来自 Elastic Nima Rezainia, Bill Easton 8.12 中 Elastic Agent 性能有了重大改进 最新版本 8.12 标志着 Elastic Agent 和 Beats 调整方面的重大转变。 在此更新中,Elastic 引入了 Performance Presets,旨在简化用户的调整过程并增强…...
空间数据分析和空间统计工具库PySAL入门
空间数据分析是指利用地理信息系统(GIS)技术和空间统计学等方法,对空间数据进行处理、分析和可视化,以揭示数据之间的空间关系和趋势性,为决策者提供有效的空间决策支持。空间数据分析已经被广泛运用在城市规划、交通管理、环境保护、农业种植…...
LabVIEW电液伺服控制系统
介绍了如何利用ARM微处理器和LabVIEW软件开发一个高效、精准的电液伺服控制系统。通过结合这两种技术,我们能够提高系统的数字化程度、集成化水平,以及控制精度,从而应对传统电液伺服控制器面临的问题。 该电液伺服控制系统由多个关键部分组…...
Dubbo_入门
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 Dubbo_入门 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、什么是分布式系统二、什么…...
Ubuntu22.04更换软件源
本文以Ubuntu22.04更换科大源为例演示更改软件源的方法,其他版本的Ubuntu系统或更换其他软件源,如清华源,阿里源等,方法类似。 前言 中国科学技术大学开源软件镜像由中国科学技术大学网络信息中心提供支持。 mirrors.ustc.edu.…...
解密Android某信聊天记录
前置条件 frida, frida-tools, adb 获取密码 h.js console.log(script loaded successfully);function xx() {function strf(str, replacements) {return str.replace(/\$\{\w\}/g, function(placeholderWithDelimiters) {var placeholderWithoutDelimiters placeholderWi…...
海外云手机对于亚马逊卖家的作用
近年来,海外云手机作为一种新型模式迅速崭露头角,成为专业的出海SaaS平台软件。海外云手机在云端运行和存储数据,通过网页端操作,将手机芯片放置在机房,通过网络连接到服务器,为用户提供便捷的上网功能。因…...
交换机的发展历史
交换机发展历史是什么,详细介绍每代交换机的性能特点,特色功能 交换机的发展历史可以大致分为以下几个阶段,每个阶段的设备性能特点和特色功能有所差异: 1. 第一代以太网交换机(1980年代末至1990年代初) …...
用katalon解决接口/自动化测试拦路虎--参数化
不管是做接口测试还是做自动化测试,参数化肯定是一个绕不过去的坎。 因为我们要考虑到多个接口都使用相同参数的问题。所以,本文将讲述一下katalon是如何进行参数化的。 全局变量 右侧菜单栏中打开profile,点击default,打开之后…...
CSRF靶场练习
简述:CSRF漏洞实际很少;条件限制很多;局限性很大;实验仅供参考,熟悉csrf概念和攻击原理即可 Pikachu靶场 CSRF GET 登录用户vince的账户可以看到用户的相关信息; 点击修改个人信息,发现数据包…...
pgsql的查询语句有没有走索引
使用EXPLAIN ANALYZE命令: EXPLAIN ANALYZE [ ( option [, ...] ) ]statement示例: EXPLAIN ANALYZE SELECT * FROM employees WHERE age > 30;在执行计划中,如果看到索引扫描(Index Scan)或位图堆扫描࿰…...
jenkins部署(docker)
docker部署,避免安装tomcat 1.拉镜像 docker pull jenkins/jenkins2.宿主机创建文件夹 mkdir -p /lzp/jenkins_home chmod 777 /lzp/jenkins_home/3.启动容器 docker run -d -p 49001:8080 -p 49000:50000 --privilegedtrue -v /lzp/jenkins_home:/var/jenkins_…...
Python实现时间序列分析AR定阶自回归模型(ar_select_order算法)项目实战
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 时间序列分析中,AR定阶自回归模型(AR order selection)是指确定自回…...
Springboot自定义线程池实现多线程任务
1. 在启动类添加EnableAsync注解 2.自定义线程池 package com.bt.springboot.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTask…...
linux离线升级openssh方法
检查openssh版本: 升级前openssh 版本为7.4 openssl 版本为1.0.2k Openssh9.6 所需openssl >1.1.1 因此openssl也需要升级。 为了防止升级失败,无法使用SSH登录,首先安装telnet 预防。查看是否安装了telnet 客户端及服务 未安装tel…...
(五)MySQL的备份及恢复
1、MySQL日志管理 在数据库保存数据时,有时候不可避免会出现数据丢失或者被破坏,这样情况下,我们必须保证数据的安全性和完整性,就需要使用日志来查看或者恢复数据了 数据库中数据丢失或被破坏可能原因: 误删除数据…...
VitePress-04-文档中的表情符号的使用
说明 vitepress 的文档中是支持使用表情符号的,像 😂 等常用的表情都是支持的。 本文就来介绍它的使用方式。 使用语法 语法 : :表情名称: 例如 : :joy: 😂 使用案例代码 # 体会【表情】的基本使用 > hello world …...
Redis客户端之Redisson(二)Redisson组件
Redisson的几个常用客户端 一、RedissonClient 1、创建 通过Config对象配置RedissonClient所需要的参数,然后获取RedissonClient对象即可。 Config config new Config(); config.useSingleServer().setAddress("redis://127.0.0.1:6379"); RedissonC…...
用Visual Studio Code创建JavaScript运行环境【2024版】
用Visual Studio Code创建JavaScript运行环境 JavaScript 的历史 JavaScript 最初被称为 LiveScript,由 Netscape(Netscape Communications Corporation,网景通信公司)公司的布兰登艾奇(Brendan Eich)在 …...
spring-web搭建
先说说这篇文章看完你能学习到什么吧 1:spring-web是什么原理以及组成,2:spring-web的搭建(以普通tomcat服务器做基础),3:敲黑板 1:spring-web是什么原理以及组成 spring-web是sp…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...
