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…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...