【Elastic Engineering】Elastic 代理和 Fleet 让您更容易地将系统与 Elastic 集成

作者: Jason SkowronskiPrincipal Product Manager

今天,我们很高兴地宣布三项重大改进,它们将使您的系统和应用程序与 Elastic Stack 的集成变得更加容易。首先,我们推出了 Elastic 代理的正式发布 (GA) 版,这是一个兼具可观测性和安全的单个一体化代理。一体化代理将简化数据上线过程,并减少配置和安装方面的工作。

其次,我们发布了 Fleet 的正式发布版,这是一个全新的 Kibana 应用,可让您大规模地集中管理整个 Elastic 代理队列。Fleet 作为一个控制平面,可让您实时查看代理状态,远程升级代理,在每个主机上执行查询,以及遏制安全威胁。

第三,我们在 Kibana 中推出了全新的集成应用,以及第一组 GA 版的集成。只需单击一下,您就可以将系统和应用程序与 Elastic Stack 集成。这些集成提供了可直接使用的日志解析、仪表板、Machine Learning 作业等。通过 Fleet 在 Elastic 代理上部署集成,您可以在几秒钟内将数据转变为洞见。


大规模采集数据所面临的挑战


在采用监测或安全解决方案时,面临的一项关键挑战就是部署代理和大规模管理代理所需的时间。这不仅会耽搁关键业务目标的如期实现,还会增加您的总体拥有成本。大型公司/组织可能拥有数百个团队和数十万台服务器、笔记本电脑和应用程序。走完评估、定制、运营和安全合规性审批整个流程,然后再跨多个团队和环境进行部署,这可能需要花费数月时间。监测或安全基础架构中出现的任何问题都可能对业务产生巨大的致命影响。

Beats 是我们当前将数据传输到 Elastic Stack 的解决方案,它比 syslog 等通用解决方案简单许多。但是,除了 APM 代理、APM 服务器、Endpoint Security 等,我们目前共有 7 个 Beats。安装这么多二进制文件非常复杂,尤其是在企业环境中,因为其中的每个二进制文件都涉及通过配置管理解决方案、渐进式部署、变更管理和审计要求进行安装。

另一项挑战是为新数据源添加集成的过程。当下,用户必须编辑 YAML 文件并将它们上传到所有服务器。他们经常使用 Ansible 或 Chef 等工具来推送配置。遗憾的是,这让添加新数据源的过程变得非常复杂,往往需要第三方工具,并且需要跨团队与专家进行协调。在处理分布在多个网络和数据中心的数十万个代理时,这个过程会更加复杂。


一个代理,掌控一切


Elastic 代理属于单一的一体化代理,可用于日志、指标、APM 跟踪、合成和保护您的系统。入门非常简单,只需运行一条命令就可安装代理。您不再需要部署多个 Beats,而且可以更快地在您的基础架构中进行部署并长期进行维护。此外,Elastic 代理具有通过单一管理平台进行管理的单一、一体化的配置。因此,无需为 Filebeat、Metricbeat 等编辑多个配置文件。这就让添加集成变得更加容易。您可以通过 Fleet 更新配置,从而快速启用集成,采集数据和定制代理的行为。


集成和配置更加容易


全新的集成应用在 Kibana 中提供了一个基于 Web 的 UI,用于添加和管理常用服务和平台的集成。我们的集成不仅提供了一种添加新数据源的简便方法,而且还附带了很多可以直接使用的资源,比如仪表板、可视化和管道,用于从日志中提取结构化字段。您无需花费大量精力来配置系统,因为它会自动为您完成配置。这让设置变得更加容易,并在几秒钟就可获取见解。 

通过我们新的 GA 版集成,您可以监测系统基础架构,包括服务器、笔记本电脑、容器、虚拟机等。此外,您还可以保护系统免受安全威胁,并分析安全事件。现已发布 70 多个集成,而且我们正在不断努力添加更多的集成。

【Elastic Engineering】Elastic 代理和 Fleet 让您更容易地将系统与 Elastic 集成

我们还提供了一个基于 Web 的 UI,用于为您的系统和应用程序配置集成。Web UI 更简洁并提供指导和验证,无需编辑具有许多不相关设置的长 YAML 文件。已为常见日志和指标位置提供了默认值,因此,您只需单击“保存”即可完成一键式集成部署。

【Elastic Engineering】Elastic 代理和 Fleet 让您更容易地将系统与 Elastic 集成

您可以选择将此 Nginx 集成添加到单个代理,也可以作为策略的一部分添加到一组代理。使用代理策略,您可以对任意数量的代理应用相同的集成,从而更轻松地大规模管理多个代理。这些代理会在下次签入 Fleet 时收到策略更新。

高级用户有时更喜欢 YAML 文件、API 和基础架构即代码 (IaaC)。Fleet 采用 API 优先设计,您在 UI 中能够执行的所有操作都可以使用 API 执行。这样您就可以与其他系统集成。如果您不想使用 Fleet,还可以在独立模式下使用 YAML 文件配置 Elastic 代理。


集中管理 Fleet


Fleet 用作控制平面,让您可以集中管理大量代理。您可以在 Fleet 页面上查看所有代理的状态。在这个页面上,您可以看到哪些代理在线且运行正常,哪些代理运行不正常,以及它们上次签入的时间。您还可以看到代理二进制文件和代理策略的版本。

【Elastic Engineering】Elastic 代理和 Fleet 让您更容易地将系统与 Elastic 集成

您可以使用代理策略定义代理组。当您更改代理策略时,所有代理都会在下次签入时收到更新。您不再需要使用 SSH、Ansible Playbooks 或其他配置方法自行分发更新。

Fleet 的另一个优势是,我们可以更好地保护代理。它会自动为每个代理生成 Elasticsearch API 密钥,并对正在运行的集成提供最小权限。API 密钥可以按代理逐个撤销,无需要在每个主机上存储涉及各种权限的共享凭证。此外,当您使用 Endpoint Security 运行 Elastic 代理时,代理可以保护自己免受主机上发生的威胁。

Fleet Server 是管理与 Elastic 代理通信的基础架构组件。它提供了用于更新代理的控制平面,并指示代理执行一些操作,如跨主机运行 OSQuery 或在网络层隔离主机以遏制安全威胁。它既可以集中部署,也可以部署在专用网络的边缘。

 

数据流让数据管理更加容易


Elastic 代理收集的数据使用新的数据流命名方案进行存储。它将数据存储在比 Beats 更细粒度的索引中。它的优点包括:每个索引的字段数量更少、自动完成速度更快、存储更高效、对数据量来源的可见性更高,并且可以控制生命周期管理策略和索引权限。命名空间允许您以任何方式对数据进行分组,例如按环境或团队名称分组。

【Elastic Engineering】Elastic 代理和 Fleet 让您更容易地将系统与 Elastic 集成

这对 Beats 用户来说有何影响?


Beats 短时间内不会停用,您可以继续将它们与 Elastic 代理一起使用。当您将系统从 Beats 切换到 Elastic 代理时,可以并行运行这两个代理。

虽然 Elastic 代理和 Fleet 更容易使用,但 Beats 在某些情况下仍会更好些, 我们将逐步消除这些问题。 Fleet 尚不支持输出到 Logstash 或 Kafka,它需要超级用户角色来完成,并且还需要 Internet 连接才能从 Elastic Package Registry 下载集成列表。我们还在努力将剩余的几个 Beats 模块转换为集成。请查看我们的比较页面,进一步了解两个代理的区别。


立即试用


请打开 Kibana 并前往主菜单中的集成应用,自己试用一下。您可以从中看到一个集成列表,这个应用会引导您完成添加 Elastic 代理的整个过程。或者,您也可以打开 Fleet 应用,直接添加 Elastic 代理。

Elastic 代理和 Fleet 都是免费且开放的。我们鼓励您与社区协同合作,以便可以在 GitHub 上找到 FleetElastic 代理的代码。我们期待着这段旅程中有社区与我们同行。

我们希望这个版本能够让您更轻松地将自己的系统和应用程序与 Elastic Stack 集成。有了您的反馈,Elastic Stack 才会日臻完善,所以请在我们的论坛中分享您的想法。


上一篇:【高并发】什么是ForkJoin?看这一篇就够了!


下一篇:Monit:开源服务器监控工具