在 NGINX Sprint 2022 大会上,我们承诺实现 NGINX 开源版项目管理和社区互动方式的现代化。为此,我们宣布后续将推出 NGINX Agent — 该守护进程会作为伴侣软件来管理各个 NGINX 部署,提供可观测性和配置 API。今天,我们非常自豪能够在 Apache 2 许可下推出 NGINX Agent,成功兑现了这一承诺。
F5 NGINX 致力于构建一个涵盖应用部署和管理方方面面的生态系统。NGINX Agent 通过为开发和平台运维团队提供细粒度控制以及用于配置、监控和管理 NGINX 实例的附加功能,在这一愿景中扮演了重要角色。
NGINX Agent 有何作用?
NGINX Agent 是一个轻量级守护进程,可与您的 NGINX 开源版或 NGINX Plus 实例一同部署。值得注意的是,NGINX Agent 具备一些 NGINX 开源版没有的功能:
- NGINX 实例报告和监控
NGINX Agent 提供了对 NGINX 开源版和 NGINX Plus 实例的更高可见性,支持您使用一组扩展的指标来检测、调查并纠正基础架构问题。除了操作系统指标以外,NGINX Agent 也会自动从 NGINX 访问和错误日志中收集指标;对于 NGINX Plus 实例,它还可以从 RESTful NGINX Plus API 中收集指标。NGINX Agent 还能够报告 NGINX 实例上发生的关键事件。NGINX 实例的性能、健康状态和使用情况的详细图表能够以 Prometheus 格式导出,以便使用 Grafana 等第三方工具查看。 - 远程 NGINX 配置管理
NGINX Agent 提供 HTTP (REST) 和 HTTP/2 (gRPC) 接口,用于将 NGINX 配置远程应用到 NGINX 实例。您也可以通过 API 远程管理实例配置。NGINX 配置的自动化和远程部署能够大幅减少运维开销并节省时间,特别是在管理大量实例时。 - 管理平面集成
随着业务不断扩展,基础架构部署和管理变得愈加复杂。我们很高兴 NGINX 社区坦诚分享他们所面临的扩展和交付挑战,NGINX Agent 路线图旨在解决这些问题。NGINX Agent 支持您开发高级机制来控制并管理您环境中的 NGINX — 您既可以使用自己的管理解决方案(对接 NGINX 实例),也可利用 NGINX Management Suite 的企业级数据平面管理功能。
NGINX Agent 的工作原理?
NGINX Agent 与 NGINX 实例并列运行,可暴露 REST 和 gRPC 接口,以便从控制平面和管理平面与实例进行远程交互,支持您构建复杂的监控和自动化功能。
我们为何要开源 NGINX Agent?
我们在开源 NGINX Agent 方面有以下几个目标。
完善 NGINX 开源版
我们希望支持社区在更多用例中更灵活地使用 NGINX 开源版。开源 NGINX Agent 有助于填补 NGINX 开源版中的一些现有功能空白,并支持我们以全新方式扩展 NGINX 开源版和更快地将新特性推向社区。它可与 NGINX 开源版一同安装,以便您使用 REST 或 gRPC 接口管理 NGINX 配置,或者支持您使用 NGINX 事件和指标实现复杂的可视化效果。
保持透明
我们很自豪能够为我们的社区带来行业领先的开源软件,支持您构建高度可扩展的弹性基础架构以助推您的业务发展。开源社区对 NGINX 软件的信任是我们成功的核心支柱之一。我们对 NGINX Agent 的设计理念是,对于它在 NGINX 基础架构中如何访问数据以及访问哪些数据,保持完全开放透明。我们坚信,对社区保持完全透明并推出令您满意的特性能够有力推动我们实现开源愿景。
确保 NGINX 对开发人员友好
为了信守我们在 Sprint 大会上做出的另一承诺 — 优化开发人员体验,NGINX Agent 提供了出色的控制特性和功能,可让 NGINX 对更多采用者更具吸引力,加速 NGINX 产品的“价值实现”。NGINX Agent 提供了细粒度控制,因此开发人员可就在其环境中管理、部署和配置 NGINX 做出明智的决策。我们的目标是支持开发人员能够根据需求在控制平面和管理平面上轻松集成 NGINX 的产品套件或引入他们自己的产品。
开始使用 NGINX Agent
NGINX Agent 最初是 NGINX Management Suite 中的 Instance Manager 模块使用的代理,用于查找您环境中的所有 NGINX 实例。它仍将在 Instance Manager 中提供这一功能,但通过在版本 2.17.0 中将其开源,独立出来的 NGINX Agent 现在可为更广泛的 NGINX 开源社区所用。
我们预计 NGINX Agent 将在很多方面有所发展,因此诚邀您访问 GitHub 上的 NGINX Agent 代码库,立即开始试用并了解如何建言献策和报告问题。