Observability:我们该选 Beats 还是 Elastic Agents 来采集数据?

news2024/11/24 16:12:13

除了 Logstash 之外,Elastic 提供了两种主要的方式来向 Elasticsearch 发送数据:

我们可以选择直接把数据从 Beats 发送至 Elasticsearch。当然我们也可以通过 Logstash 更进一步处理再发送至 Elasticsearch。

另外一种方式是使用 Elastic Agents 来发送数据至 Elasticsearch:

如上图所示,我们可以直接从 Elastic Agent 来把数据发送至 Elasticsearch 中。

你们这两种方法各有什么优缺点呢?

1)Beats 是将操作数据发送到 Elasticsearch 的轻量级数据发送器。 Elastic 为不同类型的数据(例如日志、指标和正常运行时间)提供单独的 Beats。 根据你要收集的数据,你可能需要在单个主机上安装多个发送器。

2)Elastic Agent 是日志、指标、安全数据和威胁预防的单一代理。 Elastic Agent 可以以两种不同的模式部署:

  • Managed by Fleet  — Elastic Agent 策略和生命周期由 Kibana 中的 Fleet 应用集中管理。 Integrations 应用程序还允许你集中添加与其他流行服务和系统的集成。 这是大多数用户的推荐选项。
  • Standalone mode  — 所有策略都作为 YAML 文件手动应用于 Elastic Agent。 这是为更高级的用户准备的。 有关详细信息,请参阅 “安装独立的 Elastic Agents 并采集数据 - Elastic Stack 8.0”。

注意:在独立模式下运行 Elastic Agent 是一个高级用例。 文档不完整,还不成熟。 如果可能,我们建议使用 Fleet 管理的代理而不是独立模式。   

你使用的方法取决于你的用例、你需要哪些功能以及你是否要集中管理你的 Agent。

Beats 和 Elastic Agent 都可以将数据直接发送到 Elasticsearch 或通过 Logstash,你可以在其中进一步处理和增强数据,然后在 Kibana 中将其可视化。

本文总结了在添加新的 Elastic Agents 或用 Elastic Agents 替换当前 Beats 之前需要了解的特性和功能。 从版本 7.14.0 开始,Elastic Agent 正式发布 (GA)。

在 Elastic Agent 和 Beats 之间进行选择

Elastic Agent 是一个单一的二进制文件,旨在提供当今各种 Beats 提供的相同功能。 但是,随着我们努力实现功能对等,一些功能差距正在得到解决。

以下步骤将帮助你确定 Elastic Agent 是否可以支持你的用例:

  1. 确定你需要的集成是否在 Elastic Agent 上受支持和正式发布 (GA)。 要了解集成是否为 GA,请参阅集成快速参考表。
  2. 如果集成可用,请检查支持的输出以查看是否也支持所需的输出。
  3. 查看功能比较以确定是否支持你的部署所需的任何功能。 Elastic Agent 应该支持 Beats 上的大部分可用功能,并且会针对每个版本进行更新。

如果你对所有三个步骤都满意,那么 Elastic Agent 适合你的部署。 但是,如果任何步骤未通过你的评估,你应该继续使用 Beats,并查看未来的更新或在讨论论坛中联系我们

支持的输入

对于由 Fleet 集中管理的 Elastic Agents,数据收集通过集成(integration)进一步简化和定义。 在此模型中,关于输入的决定是由你要从中收集数据的集成驱动的。 各种输入的配置细节的复杂性由 Fleet 集中驱动,特别是由集成驱动。

要了解集成是否为正式发布版 GA,请参阅集成快速参考表。

支持的输出

下表显示了 8.5.3 中 Elastic Agent 支持的输出:

注意:Elastic Defend 有不同的输出矩阵。

Elastic Agent 支持的输出
输出Beats由 Fleet 管理的 Elastic AgentStandalone Elastic Agent
Elasticsearch Service仅适用于运行 Fleet 的同一集群
Elasticsearch

 仅适用于运行 Fleet 的同一集群

Logstash
Kafka正在考虑之中正在考虑之中
Redis
File
Console

目前,Fleet 管理的 Elastic Agent 只能输出到运行 Fleet 的同一个 Elasticsearch 集群。 未来版本正在考虑支持输出到远程 Elasticsearch 集群。

支持的配置

支持的配置
Beats 配置Elastic Agent 支持
Modules由 integration 来支持
Input setting overrides不可配置。 设置为默认值。
General settings许多这些全局设置现在是代理内部的,并且为了正常操作不应修改。
Project pathsElastic Agent 配置这些路径以提供更简单、更精简的配置体验。
External configuration file loading配置通过策略(policy)分发。
Live reloading与配置文件重新加载相关。
Outputs通过 fleet 配置。参见上面定义的支持输出部分
SSL支持
Index lifecycle management尽管代理使用数据流,但默认情况下启用。
Elasticsearch index template loading不再适用
Kibana endpoint新的 Elastic Agent 工作流不需要这个。
Kibana dashboard loading新的 Elastic Agent 工作流不需要这个。
Processors处理器可以在集成级别定义。 目前正在考虑在策略级别配置的全局处理器。
Autodiscover通过动态输入(dynamic inputs)促进 Autodiscover。 Elastic Agent 不支持基于提示的自动发现。
Internal queuesElastic Agent 不会向最终用户公开内部内存队列。 你可以配置输出队列参数来调整你的环境,agent 负责配置内部队列以实现你的调整目的。
Load balance output hosts在 Fleet UI 中,你可以添加 YAML 设置来为每个输出类型配置多个主机,从而实现负载平衡。
Logging支持
HTTP Endpoint支持
Regular expressions支持

能力比较

下表是 Beats 和 Elastic Agent 在 8.5.3 中支持的能力对比: 

能力比较
条目Beats由 Fleet 管理的 Elastic AgentStandalone Elastic Agent描述
适用于所有用例的单一代理Elastic Agent 提供日志、指标等。 你需要为这些用例安装多个 Beats。
从 Web UI 或 API 安装集成Elastic Agent 集成使用方便的 Web UI 或 API 安装,但 Beats 模块使用 CLI 安装。 这将安装 Elasticsearch 资产(例如索引模板和摄取管道)以及 Kibana 资产(例如仪表板)。
从 Web UI 或 API 配置可选可以在 Web UI 或 API 中配置 Fleet-managed Elastic Agent 集成。 独立 Elastic Agent 可以使用 Web UI、API 或 YAML。 Beats 只能通过 YAML 文件进行配置。
中央、远程代理策略管理Elastic Agent 策略可以通过 Fleet 集中管理。你必须自己或使用第三方解决方案管理 Beats 配置。
中央、远程代理二进制升级可以通过 Fleet 远程升级 Elastic Agent。 你必须自己升级 Beats 或使用第三方解决方案。
为单个集成或模块添加 Kibana 和 Elasticsearch 资产Elastic Agent 集成允许你一次为单个集成添加 Kibana 和 Elasticsearch 资产。 Beats 一次为所有模块安装数百个资产。
自动生成的 Elasticsearch API 密钥Fleet 可以为每个 Elastic Agent 自动生成具有有限权限的 API 密钥,这些密钥可以单独撤销。 独立的 Elastic Agent 和 Beats 需要你创建和管理凭据,并且用户通常会跨主机共享它们。
自动生成最小 Elasticsearch 权限Fleet 可以根据正在运行的输入自动为 Elastic Agent 提供最小的输出权限。 使用独立的 Elastic Agent 和 Beats,用户通常会授予过于广泛的权限,因为这样更方便。
数据流支持Beats(从 8.0 版开始默认)和 Elastic Agents 使用数据流,索引生命周期管理和数据流命名方案更容易。
变量和输入条件有限Elastic Agent 提供变量和输入条件以根据本地主机环境动态调整。 用户可以直接在 YAML 中为独立的 Elastic Agent 配置这些,或者使用 Fleet API 为 Fleet-managed Elastic Agent 配置这些。 Integrations 应用程序允许用户输入变量,我们正在考虑使用UI 来编辑条件。 Beats 仅提供静态配置。
允许非超级用户管理资产和代理可选从版本 8.1.0 开始,不再需要超级用户角色即可使用 Fleet 和 Integrations 应用程序以及相应的 API。 这些应用程序对于独立的 Elastic Agent 是可选的。 Beats 提供更细粒度的角色。
气隙网络支持有限Integrations 和 Fleet 应用程序可以部署在 Elastic Package Registry 的气隙环境自我管理部署中。Fleet 管理的Elastic Agents 需要连接到我们的工件存储库以进行代理二进制升级。 但是,可以修改策略以使代理指向本地服务器以获取代理二进制文件。
在主机上使用 root 运行Fleet-managed Elastic Agents 需要 root 权限,特别是对于 Elastic Defend。 独立的 Elastic Agents 和 Beats 则没有。
多个输出单个 Fleet 管理的 Elastic Agent 的策略可以指定多个输出。
独立监控集群Fleet 管理的 Elastic Agent 仅向运行 Fleet 的同一 Elasticsearch 集群提供单个全局输出。 我们正在考虑支持远程监控集群。 独立的 Elastic Agent 和 Beats 可以发送到远程监控集群。
秘钥管理Elastic Agent 将凭据存储在代理策略中。 我们正在考虑添加 keystore 支持。 Beats 允许用户访问本地 keystore 中的凭据。
渐进式或金丝雀部署Fleet 没有逐步部署 Elastic Agent 策略更新的功能,但我们正在考虑改进支持。 借助独立的 Elastic Agent 和 Beats,你可以使用第三方解决方案逐步部署配置文件。
每个主机的多个配置改用输入条件改用输入条件Elastic Agent 使用单个 Elastic Agent 策略进行配置,并使用变量和输入条件根据每个主机进行调整。 Beats 支持每个主机有多个配置文件,使第三方解决方案能够分层或在多个组中部署文件,并对这些文件实现更细粒度的访问控制。
兼容版本控制和基础架构即代码解决方案仅通过 APIFleet 将代理策略存储在 Elasticsearch 中。 它不作为代码解决方案与外部版本控制或基础架构集成,但我们正在考虑改进支持。 但是,独立模式下的 Beats 和 Elastic Agent 使用与这些解决方案兼容的 YAML 文件。

Elastic Agent 监控支持

你在代理策略中配置代理指标的集合。 如果选择了指标收集(默认),所有在策略中注册的 Elastic Agent 都会将指标数据发送到 Elasticsearch(输出是全局配置的)。

下图显示了默认代理策略的代理监控设置:

 

 还有用于代理指标的预构建仪表板,你可以在 Elastic Agent 集成中的 Assets 下访问它们:

 

[Elastic Agent] Agent metrics 仪表板显示代理指标的聚合视图: 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/90885.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Nodejs计算机毕业设计基于的二手车交易平台Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

[附源码]Python计算机毕业设计Django课室预约系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Jmeter简单入门

背景 我们项目中一般测试接口都是用vscode中的REST Client插件(推荐好用)或者的话postman(适合写一些脚本和文件的上传) 但是他们都有一个不太行的功能,那就是多线程并发测试,其他市面上的什么apipost也都是不支持,网…

带你在Ubuntu 18.04上编译Linux内核

【推荐阅读】 一文了解Linux上TCP的几个内核参数调优 一文剖析Linux内核中内存管理 分析linux启动内核源码 一、环境说明 编译环境我选择了Ubuntu 18.04的虚拟机,内核截止2018-10-14最新版为4.18.14,笔者即将编译这个版本。 请确保磁盘空间足够&am…

Phoenix 对 Hbase 中表的映射

目录1)表的关系2)Hbase中创建表 test3)视图映射4)表映射数字类型说明1)表的关系 默认情况下, HBase 中已存在的表,通过 Phoenix 是不可见的。 如果要在 Phoenix 中操作 HBase 中已存在的表&…

java计算机毕业设计基于安卓Android的车位服务管理APP

项目介绍 网络的广泛应用给生活带来了十分的便利。所以把车位服务管理与现在网络相结合,利用java技术建设车位服务管理APP,实现车位服务管理的信息化。则对于进一步提高车位服务管理发展,丰富车位服务管理经验能起到不少的促进作用。 车位服务管理APP能够通过互联网得到广泛的、…

Python 爬虫库 urllib 使用详解!

一、Python urllib库 Python urllib 库用于操作网页 URL,并对网页的内容进行抓取处理。 Python3 的 urllib。 urllib 包 包含以下几个模块: urllib.request - 打开和读取 URL。 urllib.error - 包含 urllib.request 抛出的异常。 urllib.parse - 解析 …

自学了半个月python,感觉没用,怎么办?

本人从零基础开始学习python,已有两年之久,虽然一路上磕磕绊绊,但学习了一段时间之后,日常很多繁琐的工作,在python的助力下确实得到了很好的解决,工作效率也大大提高。 回到问题上来,自学了半…

Windows11如何通过附近共享发送文件,附近共享传输文件到电脑

Windows11如何通过附近共享发送文件?2018年,微软推出了名为Nearear Share(附近共享)的新功能。Near share是一种在PC之间传输文件的新方式,类似Airdrop的功能,只需要开启蓝牙和WiFi就能分享照片/影片/文件给…

[附源码]Python计算机毕业设计Django快转二手品牌包在线交易系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Android OpenGL ES 学习(八) –矩阵变换

OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学习(三) – 绘制平面图形 Android OpenGL ES 学习(四) – 正交投影 Android OpenGL ES 学习(五) – 渐变色 Android OpenGL ES 学习(六) – 使用…

UML图讲解(关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系)

UML图讲解 简介:本文讲解UML图的各种情况下的含义。 简介 百度百科: UML-Unified Modeling Language统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。 UML是在开…

【实时数仓】动态分流的实现源码(反序列化器、配置表、广播流、业务流)

文章目录一 根据MySQL的配置表,动态进行分流1 自定义反序列化器(1)需求分析(2)代码实现2 从配置表中读取数据(1)自定义CDC采集的反序列化器(2)使用FlinkCDC读取配置表数据…

事务的隔离级别

目录 1.1 数据并发问题 1.2 SQL中的四种隔离级别 1.3 MySQL支持的四种隔离级别 1.4 如何设置事务的隔离级别 MySQL是一个 客户端/服务器 架构的软件,对于同一个服务器来说,可以有若干个客户端与之连接,每 个客户端与服务器连接…

简说四种架构的通用思维

一.自顶向下构建架构 ​1.首先定义问题,而定义问题中最重要的是定义客户的问题,特别主要识别出关键问题,关键问题是对客户有体感,能够解决客户痛点,通过一定的数据化来衡量识别出来,关键问题要优先给出解决…

我从“校园小白”到仿真“职场小达人”的CFD学习史

CFD属于CAE技术中比较难的一款软件,主要原因就是流体的特点决定了,因为相比于固体,流体太容易变形了,分子之间的距离比较大。所以,导致了一系列的问题。常常的结果是,忙了半天或者很长,根本得不…

Spring Security自定义认证逻辑实现图片验证码登录

前言 相信大家在网上冲浪都遇到过登录时输入图片验证码的情况,既然我们已经学习了 Spring Security,也上手实现过几个案例,那不妨来研究一下如何实现这一功能。 首先需要明确的是,登录时输入图片验证码,属于认证功能…

【录用案例】计算机电子类SCI,仅1个月15天录用

【期刊简介】IF:1.0-2.0,JCR4区,中科院4区 【检索情况】SCI在检,正刊 【征稿领域】自主传感器网络的高级接口电路及其应用 【参考周期】2-3个月左右 重要时间节点: 2022.12.15 | Accepted 2022.11.22 | 提交返修稿 20…

设计模式之建造者模式

builder desigin pattern 建造者模式的概念、建造者模式的结构、建造者模式的优缺点、建造者模式的使用场景、建造者模式的实现示例、建造者模式的源码分析 1、建造者模式的概念 将一个复杂对象的构建和表示分离,使得同样的创建过程可以得到不同的表示。其主要特点…

一种高复用的组件式安装包制作系统

目录 整体设计 流程描述 文件目录结构设计 产品资源的配置与更新 安装包制作流程 安装包执行流程 整体设计 如下展示了安装包系统的整体结构: 将集群布署可能用到的docker资源,按最小的单元进行整理,以压缩包的形式放于资源库&#xf…