Beats 和 Elastic Agent 功能
编辑Beats 和 Elastic Agent 功能编辑
Elastic 提供两种主要方式将数据发送到 Elasticsearch
- Beats 是轻量级数据发送器,将操作数据发送到 Elasticsearch。Elastic 为不同类型的数据提供独立的 Beats,例如日志、指标和正常运行时间。根据您要收集的数据,您可能需要在单个主机上安装多个发送器。
-
Elastic Agent 是一个用于日志、指标、安全数据和威胁防御的单一代理。Elastic Agent 可以部署在两种不同的模式下
- 由 Fleet 管理 — Elastic Agent 策略和生命周期由 Kibana 中的 Fleet 应用程序集中管理。Integrations 应用程序还允许您集中添加与其他流行服务和系统的集成。对于大多数用户来说,这是推荐的选择。
- 独立模式 — 所有策略都以 YAML 文件的形式手动应用于 Elastic Agent。这适用于更高级的用户。有关更多信息,请参阅 安装独立 Elastic Agent。
您使用的方法取决于您的用例、您需要的功能以及您是否希望集中管理您的代理。
Beats 和 Elastic Agent 都可以将数据直接发送到 Elasticsearch 或通过 Logstash,您可以在其中进一步处理和增强数据,然后在 Kibana 中可视化。
本文总结了您在添加新的 Elastic Agent 或将当前 Beats 替换为 Elastic Agent 之前需要了解的功能和功能。从 7.14.0 版本开始,Elastic Agent 正式发布 (GA)。
在 Elastic Agent 和 Beats 之间选择编辑
Elastic Agent 是一个单一二进制文件,旨在提供与当前各种 Beats 相同的功能。但是,随着我们努力实现功能一致性,一些功能差距正在得到解决。
以下步骤将帮助您确定 Elastic Agent 是否可以支持您的用例
如果您对所有三个步骤都满意,那么 Elastic Agent 适合您的部署。但是,如果任何步骤未能通过您的评估,您应该继续使用 Beats,并查看未来的更新或在 讨论论坛 中联系我们。
支持的输入编辑
对于由 Fleet 集中管理的 Elastic Agent,数据收集进一步简化,并由集成定义。在此模型中,输入的决策由您要从中收集数据的集成驱动。各种输入的配置详细信息的复杂性由 Fleet 集中驱动,特别是由集成驱动。
要了解集成是否为 GA,请参阅 集成快速参考表。
支持的输出编辑
下表显示了 Elastic Agent 在 8.14.2 中支持的输出
Elastic Defend 和 APM Server 具有不同的输出矩阵。
输出 | Beats | Fleet 管理的 Elastic Agent | 独立 Elastic Agent |
---|---|---|---|
Elasticsearch 服务 |
|||
Elasticsearch |
|||
Logstash |
|||
Kafka |
|||
远程 Elasticsearch |
|||
Redis |
|||
文件 |
|||
控制台 |
支持的配置编辑
Beats 配置 | Elastic Agent 支持 |
---|---|
通过集成支持。 |
|
不可配置。设置为默认值。 |
|
许多这些全局设置现在是代理内部的,为了正常操作,不应修改。 |
|
Elastic Agent 配置这些路径以提供更简单、更简化的配置体验。 |
|
配置通过策略分发。 |
|
与配置文件重新加载相关。 |
|
通过 Fleet 配置。请参阅 支持的输出。 |
|
支持 |
|
默认情况下启用,尽管 Agent 使用 数据流。 |
|
不再适用 |
|
新的 Elastic Agent 工作流程不需要此功能。 |
|
新的 Elastic Agent 工作流程不需要此功能。 |
|
处理器可以在集成级别定义。目前正在考虑在策略级别配置的全局处理器。 |
|
自动发现通过 动态输入 实现。Elastic Agent 不支持基于提示的自动发现。 |
|
Fleet 管理的 Elastic Agent 和独立 Elastic Agent 都支持最终用户配置内部内存队列。两者都不支持最终用户配置内部磁盘队列。 |
|
在 Fleet UI 中,您可以添加 YAML 设置以配置每个输出类型的多个主机,从而实现负载均衡。 |
|
支持 |
|
支持 |
|
支持 |
功能比较编辑
下表显示了 Beats 和 Elastic Agent 在 8.14.2 中支持的功能比较
项目 | Beats | Fleet 管理的 Elastic Agent | 独立 Elastic Agent | 描述 |
---|---|---|---|---|
适用于所有用例的单一代理 |
Elastic Agent 提供日志、指标等。您需要安装多个 Beats 才能实现这些用例。 |
|||
从 Web UI 或 API 安装集成 |
Elastic Agent 集成使用方便的 Web UI 或 API 安装,但 Beats 模块使用 CLI 安装。这将安装 Elasticsearch 资源,例如索引模板和摄取管道,以及 Kibana 资源,例如仪表板。 |
|||
从 Web UI 或 API 配置 |
(可选) |
Fleet 管理的 Elastic Agent 集成可以在 Web UI 或 API 中配置。独立 Elastic Agent 可以使用 Web UI、API 或 YAML。Beats 只能通过 YAML 文件配置。 |
||
集中、远程代理策略管理 |
Elastic Agent 策略可以通过 Fleet 集中管理。您必须自己或使用第三方解决方案管理 Beats 配置。 |
|||
集中、远程代理二进制升级 |
Elastic Agent 可以通过 Fleet 远程升级。您必须自己或使用第三方解决方案升级 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 Agent 都使用 数据流,并提供更轻松的索引生命周期管理和 数据流命名方案。 |
|||
变量和输入条件 |
(有限) |
Elastic Agent 提供 变量和输入条件,以根据本地主机环境动态调整。用户可以直接在 YAML 中为独立 Elastic Agent 配置这些条件,或使用 Fleet API 为 Fleet 管理的 Elastic Agent 配置这些条件。Integrations 应用程序允许用户输入变量,我们正在考虑 一个 UI 来编辑条件。Beats 仅提供静态配置。 |
||
允许非超级用户管理资源和代理 |
(可选) |
从 8.1.0 版本开始,不再需要超级用户角色才能使用 Fleet 和 Integrations 应用程序以及相应的 API。这些应用程序对于独立 Elastic Agent 是可选的。Beats 提供 更细粒度 的角色。 |
||
断开网络支持 |
(有限制) |
Integrations 和 Fleet 应用程序可以在断开网络的环境中部署 自管理部署 Elastic Package Registry。Fleet 管理的 Elastic Agent 需要连接到我们的工件存储库才能进行代理二进制升级。但是,可以修改策略以使代理指向本地服务器以获取代理二进制文件。 |
||
在主机上以非 root 用户身份运行 |
Fleet 管理的 Elastic Agent 需要 root 权限,特别是对于 Elastic Defend。独立 Elastic Agent 也需要 root 权限。Beats 仅在配置为捕获需要该级别权限的数据时才需要 root 权限。 |
|||
多个输出 |
单个 Fleet 管理的 Elastic Agent 的策略可以指定多个输出。 |
|||
单独的监控集群 |
Fleet 管理的 Elastic Agent、独立 Elastic Agent 和 Beats 可以发送到远程监控集群。 |
|||
秘密管理 |
Elastic Agent 将凭据存储在代理策略中。我们正在考虑添加 密钥库支持。Beats 允许用户访问本地 密钥库 中的凭据。 |
|||
渐进式或金丝雀部署 |
Fleet 没有提供渐进式部署 Elastic Agent 策略更新的功能,但我们正在考虑 改进支持。使用独立的 Elastic Agent 和 Beats,您可以使用第三方解决方案渐进式地部署配置文件。 |
|||
每个主机上的多个配置 |
(使用输入条件代替) |
(使用输入条件代替) |
Elastic Agent 使用单个 Elastic Agent 策略进行配置,并使用 变量和输入条件 在每个主机上进行调整。Beats 支持每个主机上的多个配置文件,使第三方解决方案能够分层或以多个组的形式部署文件,并允许对这些文件进行更细粒度的访问控制。 |
|
与版本控制和基础设施即代码解决方案兼容 |
(仅通过 API) |
Fleet 将代理策略存储在 Elasticsearch 中。它不与外部版本控制或基础设施即代码解决方案集成,但我们正在考虑 改进支持。但是,独立模式下的 Beats 和 Elastic Agent 使用与这些解决方案兼容的 YAML 文件。 |
||
将数据暂存到本地磁盘 |
此功能目前正在 考虑开发。 |
Elastic Agent 监控支持edit
您可以在代理策略中配置代理指标的收集。如果选择了指标收集(默认值),则所有注册到策略的 Elastic Agent 都将向 Elasticsearch 发送指标数据(输出在全局范围内配置)。
下图显示了默认代理策略的 代理监控 设置
您还可以访问 Elastic Agent 集成中的 资产 下的预构建代理指标仪表板
[Elastic Agent] 代理指标 仪表板显示了代理指标的聚合视图
有关更多信息,请参阅 监控 Elastic Agent。