在NGINX Sprint 2022上,我们承诺以现代化方式管理NGINX开源项目并与社区互动。作为这项承诺的一部分,我们宣布即将发布NGINX Agent。这是一款配套软件,以守护进程形式管理各个NGINX部署,并提供可观测性和配置API。今天,我们兑现了这一承诺,正式推出采用Apache 2许可证的NGINX Agent。
F5 NGINX致力于构建一个覆盖应用部署和管理各个环节的生态系统。NGINX Agent在实现这一愿景的过程中发挥着关键作用,为开发和平台运维团队提供精细化控制和更多功能,用于配置、监控和管理NGINX实例。
NGINX Agent 有什么作用?
NGINX Agent是一种轻量级守护进程,可与NGINX Open Source或NGINX Plus实例一同部署。值得注意的是,NGINX Agent支持多项NGINX Open Source未提供的功能:
- NGINX实例的报告与监控
NGINX Agent提供一组扩展指标,让您能够更全面地了解NGINX Open Source和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 Open Source
我们希望帮助社区以更灵活的方式,将NGINX Open Source应用于更多用例。将NGINX Agent开源有助于弥补NGINX Open Source目前的一些功能缺口,也为我们扩展NGINX Open Source并更快地向社区提供功能开辟了全新途径。NGINX Agent可与NGINX Open Source实例一同安装,以便通过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实例的代理。它将继续发挥这一作用;同时,自2.17.0版本起将其开源,也让它走上了独立发展之路,以便为更广泛的NGINX开源社区提供帮助。鉴于这一背景,我们预计NGINX Agent仍需在许多方面不断完善,因此诚邀您访问GitHub上的NGINX Agent代码库,开始了解如何参与贡献、提出建议和报告问题。
相关博客文章
NGINX Plus R26 正式发布
NGINX Plus R26通过缓存JSON Web密钥集加快JWT验证,并强化TLS握手,从而提升安全性。NGINX JavaScript的新功能包括增强对异步函数的支持,以及实现WebCrypto API。
使用NGINX App Protect DoS保护gRPC应用,抵御严重的DoS攻击
gRPC具备开发人员设计和部署现代应用所需的速度与灵活性,但其开放性也使其极易受到第7层DoS攻击。NGINX App Protect DoS可保护gRPC应用免受此类破坏性攻击。
Ingress Controller 选型指南(第 2 部分):风险与面向未来的规划
了解选择错误的Ingress控制器可能带来的风险,以及如何从关键方面着手,让您的选择更好地适应未来需求。
NGINX Plus R19 正式发布
NGINX Plus R19扩展了监控功能,不仅提供更多指标,还新增了指标分析方式;增加试运行模式,用于测试限速效果;增强键值存储,以支持IP地址范围;并使限速更加动态。
NGINX现已正式加入F5
NGINX现已正式成为F5的一部分。Gus Robertson现任F5 NGINX业务部门负责人。他阐述了两家公司在人才、文化和愿景方面融合的价值,以及双方将如何携手增强NGINX的开源产品和商业产品。
