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…...
别再手算公式了!用MathCAD Prime 5.0搞定工程计算,附保姆级安装与破解避坑指南
MathCAD Prime 5.0工程计算革命:从公式恐惧到高效验证的全流程实战 记得三年前我刚接手第一个桥梁应力分析项目时,整整两周都泡在Excel公式和手写计算稿里。某个深夜,当我发现第17次计算结果的单位换算出现致命错误时,崩溃得差点把…...
终极指南:使用SMUDebugTool深度掌控AMD Ryzen系统底层参数
终极指南:使用SMUDebugTool深度掌控AMD Ryzen系统底层参数 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…...
如何告别城通网盘龟速下载:三步获取高速直连的终极方案
如何告别城通网盘龟速下载:三步获取高速直连的终极方案 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘那令人抓狂的下载速度而苦恼吗?每次点击下载按钮后&#x…...
告别AssetBundle!用Unity Addressables实现资源热更,我踩过的坑都帮你填平了
从AssetBundle到Addressables:Unity资源热更的现代化迁移指南第一次接触Unity Addressables时,我正被AssetBundle的各种问题折磨得焦头烂额。那是一个周五的深夜,项目即将上线,却因为AssetBundle的依赖关系混乱导致热更新失败。在…...
UE5 PhysicsControl物理动画入门:手把手教你用蓝图控制骨骼网格体(附完整配置流程)
UE5 PhysicsControl物理动画实战:从零构建骨骼动态模拟系统第一次在Unreal Engine 5的内容示例中看到角色布料自然飘动、头发随奔跑起伏的物理效果时,那种震撼感至今难忘。作为技术美术师,我们常需要在角色动画中追求这种"次世代质感&qu…...
HFSS的Solution type及其激励端口设置规则
本文围绕Ansys HFSS 电磁仿真展开,依次探讨辐射边界特性、软件求解类型、PCB 板载天线求解选型、两类端口原理差异、端口信号地判定与集总端口参考面设置、求解与端口适配规则六大板块内容,完整梳理如下:一、HFSS 辐射边界条件相关讨论基本定…...
Neural Complete架构解析:LSTMBase类与TextEncoderDecoder工作流程
Neural Complete架构解析:LSTMBase类与TextEncoderDecoder工作流程 【免费下载链接】neural_complete A neural network trained to help writing neural network code using autocomplete 项目地址: https://gitcode.com/gh_mirrors/ne/neural_complete Neu…...
LeetCode 912:排序数组 | 排序算法全面解析
LeetCode 912:排序数组 | 排序算法全面解析 引言 排序数组(Sort an Array)是 LeetCode 第 912 题,难度为 Medium。题目要求将给定数组排序并返回。虽然这是一个看似简单的问题,但题目对时间和空间复杂度有要求…...
3个关键维度重新定义工作价值:科学量化你的职业选择
3个关键维度重新定义工作价值:科学量化你的职业选择 【免费下载链接】worth-calculator Calculating the actual value of your job beyond just salary 项目地址: https://gitcode.com/gh_mirrors/wo/worth-calculator 你是否曾在深夜加班时思考,…...
Netcat (nc) 全面使用指南
Netcat 被誉为网络工具中的"瑞士军刀",是一个功能强大的网络调试和诊断工具。它可以在 TCP/UDP 协议下进行连接、监听、端口扫描、文件传输和代理转发等操作。 一、安装与基本语法 1.1 安装方法 操作系统安装命令Ubuntu/Debiansudo apt install netcat…...
