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 是否可以支持您的用例

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

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

支持的输入编辑

对于由 Fleet 集中管理的 Elastic Agent,数据收集进一步简化,并由集成定义。在此模型中,输入的决策由您要从中收集数据的集成驱动。各种输入的配置详细信息的复杂性由 Fleet 集中驱动,特别是由集成驱动。

要了解集成是否为 GA,请参阅 集成快速参考表

支持的输出编辑

下表显示了 Elastic Agent 在 8.14.2 中支持的输出

Elastic Defend 和 APM Server 具有不同的输出矩阵。

输出 Beats Fleet 管理的 Elastic Agent 独立 Elastic Agent

Elasticsearch 服务

yes

yes

yes

Elasticsearch

yes

yes

yes

Logstash

yes

yes

yes

Kafka

yes

yes

yes

远程 Elasticsearch

yes

yes

yes

Redis

yes

no

no

文件

yes

no

no

控制台

yes

no

no

支持的配置编辑

Beats 配置 Elastic Agent 支持

模块

通过集成支持。

输入设置覆盖

不可配置。设置为默认值。

常规设置

许多这些全局设置现在是代理内部的,为了正常操作,不应修改。

项目路径

Elastic Agent 配置这些路径以提供更简单、更简化的配置体验。

外部配置文件加载

配置通过策略分发。

实时重新加载

与配置文件重新加载相关。

输出

通过 Fleet 配置。请参阅 支持的输出

SSL

支持

索引生命周期管理

默认情况下启用,尽管 Agent 使用 数据流

Elasticsearch 索引模板加载

不再适用

Kibana 端点

新的 Elastic Agent 工作流程不需要此功能。

Kibana 仪表板加载

新的 Elastic Agent 工作流程不需要此功能。

处理器

处理器可以在集成级别定义。目前正在考虑在策略级别配置的全局处理器。

自动发现

自动发现通过 动态输入 实现。Elastic Agent 不支持基于提示的自动发现。

内部队列

Fleet 管理的 Elastic Agent 和独立 Elastic Agent 都支持最终用户配置内部内存队列。两者都不支持最终用户配置内部磁盘队列。

负载均衡输出主机

在 Fleet UI 中,您可以添加 YAML 设置以配置每个输出类型的多个主机,从而实现负载均衡。

日志记录

支持

HTTP 端点

支持

正则表达式

支持

功能比较编辑

下表显示了 Beats 和 Elastic Agent 在 8.14.2 中支持的功能比较

项目 Beats Fleet 管理的 Elastic Agent 独立 Elastic Agent 描述

适用于所有用例的单一代理

no

yes

yes

Elastic Agent 提供日志、指标等。您需要安装多个 Beats 才能实现这些用例。

从 Web UI 或 API 安装集成

no

yes

yes

Elastic Agent 集成使用方便的 Web UI 或 API 安装,但 Beats 模块使用 CLI 安装。这将安装 Elasticsearch 资源,例如索引模板和摄取管道,以及 Kibana 资源,例如仪表板。

从 Web UI 或 API 配置

no

yes

yes (可选)

Fleet 管理的 Elastic Agent 集成可以在 Web UI 或 API 中配置。独立 Elastic Agent 可以使用 Web UI、API 或 YAML。Beats 只能通过 YAML 文件配置。

集中、远程代理策略管理

no

yes

no

Elastic Agent 策略可以通过 Fleet 集中管理。您必须自己或使用第三方解决方案管理 Beats 配置。

集中、远程代理二进制升级

no

yes

no

Elastic Agent 可以通过 Fleet 远程升级。您必须自己或使用第三方解决方案升级 Beats。

为单个集成或模块添加 Kibana 和 Elasticsearch 资源

no

yes

yes

Elastic Agent 集成允许您一次添加一个集成的 Kibana 和 Elasticsearch 资源。Beats 一次性安装所有模块的数百个资源。

自动生成的 Elasticsearch API 密钥

no

yes

no

Fleet 可以自动为每个 Elastic Agent 生成具有有限权限的 API 密钥,这些密钥可以单独撤销。独立 Elastic Agent 和 Beats 要求您创建和管理凭据,用户通常在主机之间共享凭据。

自动生成最小的 Elasticsearch 权限

no

yes

no

Fleet 可以根据运行的输入自动为 Elastic Agent 提供最小的输出权限。使用独立 Elastic Agent 和 Beats,用户通常会提供过于广泛的权限,因为这样做更方便。

数据流支持

yes

yes

yes

Beats(从 8.0 版本开始默认)和 Elastic Agent 都使用 数据流,并提供更轻松的索引生命周期管理和 数据流命名方案

变量和输入条件

no

yes (有限)

yes

Elastic Agent 提供 变量和输入条件,以根据本地主机环境动态调整。用户可以直接在 YAML 中为独立 Elastic Agent 配置这些条件,或使用 Fleet API 为 Fleet 管理的 Elastic Agent 配置这些条件。Integrations 应用程序允许用户输入变量,我们正在考虑 一个 UI 来编辑条件。Beats 仅提供静态配置。

允许非超级用户管理资源和代理

yes

yes

yes (可选)

从 8.1.0 版本开始,不再需要超级用户角色才能使用 Fleet 和 Integrations 应用程序以及相应的 API。这些应用程序对于独立 Elastic Agent 是可选的。Beats 提供 更细粒度 的角色。

断开网络支持

yes

yes (有限制)

yes

Integrations 和 Fleet 应用程序可以在断开网络的环境中部署 自管理部署 Elastic Package Registry。Fleet 管理的 Elastic Agent 需要连接到我们的工件存储库才能进行代理二进制升级。但是,可以修改策略以使代理指向本地服务器以获取代理二进制文件。

在主机上以非 root 用户身份运行

yes

no

no

Fleet 管理的 Elastic Agent 需要 root 权限,特别是对于 Elastic Defend。独立 Elastic Agent 也需要 root 权限。Beats 仅在配置为捕获需要该级别权限的数据时才需要 root 权限。

多个输出

yes

yes

yes

单个 Fleet 管理的 Elastic Agent 的策略可以指定多个输出。

单独的监控集群

yes

yes

yes

Fleet 管理的 Elastic Agent、独立 Elastic Agent 和 Beats 可以发送到远程监控集群。

秘密管理

yes

no

no

Elastic Agent 将凭据存储在代理策略中。我们正在考虑添加 密钥库支持。Beats 允许用户访问本地 密钥库 中的凭据。

渐进式或金丝雀部署

yes

no

yes

Fleet 没有提供渐进式部署 Elastic Agent 策略更新的功能,但我们正在考虑 改进支持。使用独立的 Elastic Agent 和 Beats,您可以使用第三方解决方案渐进式地部署配置文件。

每个主机上的多个配置

yes

no(使用输入条件代替)

no(使用输入条件代替)

Elastic Agent 使用单个 Elastic Agent 策略进行配置,并使用 变量和输入条件 在每个主机上进行调整。Beats 支持每个主机上的多个配置文件,使第三方解决方案能够分层或以多个组的形式部署文件,并允许对这些文件进行更细粒度的访问控制。

与版本控制和基础设施即代码解决方案兼容

yes

no(仅通过 API)

yes

Fleet 将代理策略存储在 Elasticsearch 中。它不与外部版本控制或基础设施即代码解决方案集成,但我们正在考虑 改进支持。但是,独立模式下的 Beats 和 Elastic Agent 使用与这些解决方案兼容的 YAML 文件。

将数据暂存到本地磁盘

yes

no

no

此功能目前正在 考虑开发

Elastic Agent 监控支持edit

您可以在代理策略中配置代理指标的收集。如果选择了指标收集(默认值),则所有注册到策略的 Elastic Agent 都将向 Elasticsearch 发送指标数据(输出在全局范围内配置)。

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

Screen capture of agent monitoring settings in the default agent policy

您还可以访问 Elastic Agent 集成中的 资产 下的预构建代理指标仪表板

Screen capture of Elastic Agent monitoring assets

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

Screen capture showing Elastic Agent metrics

有关更多信息,请参阅 监控 Elastic Agent