BLOG | NGINX

使用 Akita 的 NGINX Plus 认证三方模块发现并修复 API 端点问题

NGINX-Part-of-F5-horiz-black-type-RGB
Mark Gritter 缩略图
Mark Gritter
Published May 31, 2023

如果您负责的生产服务有着一定数量的用户,那么您可能懂得客户先于您发现问题所带来的麻烦。Akita 希望避免这种情况的发生,因此构建了全新的经 NGINX 认证的 NGINX Plus 三方模块

本文将对该模块作简要介绍,包括为何从仅关注日志转向更广泛的视角、如何快速定位和解决问题的方法,以及全新 Akita 模块如何帮助 NGINX 用户轻松做到这一点。

 

将目光从日志转向 API 端点

如今,无数开发人员发现自己陷入了窘境——客户实际上已化身为其监控系统。

这并不是说软件团队没有记录错误。举例来说,如果使用 NGINX 作为反向代理,您就会在 NGINX 日志中收到各种信息:时间戳、请求长度和处理时间以及响应状态代码。只要您有时间耐心查找,就能找到需要的信息。

但在充斥着许多不同请求和响应的系统中,您很容易淹没在海量日志信息中!除非在日志之上主动配置仪表盘或其他类型的工具,否则您可能会发现自己不得不费劲地浏览数千乃至数百万的日志行,以尝试确定潜在问题及其根源。但是,设置合适的仪表盘和监控方法可能需要数周、数月甚至数季度的时间,而且往往需要与代码进行同步更新。

Akita 认为将目光从日志转向 API 端点至关重要。这便于软件团队快速概览问题和热点,同时保持实际识别问题所需的细粒度。我们提供的无缝集成的度量解决方案能够解决您所关切的信息过载问题。该解决方案无需更改代码或构建仪表盘便可自动监控延迟指标和错误,而且还能够被动地监测 API 流量并自动对其进行分析,以按端点提供监控和警报。最重要的是,用户在注册后 15 分钟内即可开始使用。

 

Akita 的 NGINX Plus 认证三方模块简介

我们很高兴宣布面向 NGINX 用户的 Akita 模块现已推出。如果您使用 NGINX 作为 Web 应用服务器、反向代理或 API 网关,那么现在便可将 API 流量发送到 Akita 进行分析。请注册免费的 Akita 帐户, 安装 Akita 模块和代理,并微调 NGINX 配置文件。

只需数分钟,您就能导航到 Akita 控制台,查看 API 端点,了解哪些端点运行缓慢以及哪些端点抛出错误。

通过 Akita 的 NGINX Plus 认证三方模块,NGINX 用户可尽享 Akita 作为现有 NGINX 设置的扩展所带来的诸多优势。Akita 将捕获您的 HTTP 请求流量,并测量其延迟和错误,同时通过预构建的仪表盘显示生产环境中的运行情况。

 

Akita 的 NGINX Plus 认证三方模块的工作原理

下面我们来详细了解一下该模块的功能及其作用。首先,NGINX 会分多个“阶段”处理请求,先从网络读取请求,然后进行重写和访问控制检查,最后生成响应和日志条目。Akita 的 NGINX Plus 认证三方模块晚些时间参与到该流程中(pre-content 阶段,在执行请求头重写等功能之后),因此它看到的请求形式最类似于应用所接收到的。Akita 会根据 NGINX 配置中的服务器和位置检查每个传入请求,以确定它是否被标记为监控对象。

:就像其他 NGINX 功能和模块一样,您可以仅针对部分 Web 服务启用 Akita,也可将其默认设置为支持 NGINX 服务的所有对象。

在下一阶段,该模块会记录请求正文,并在完全收到请求后立即将其发送给 Akita 代理。这种行为类似于 ngx_http_mirror 模块,因为相同的数据将并行传送到应用和 Akita 代理。

当 NGINX 或上游服务器准备好响应时,Akita 模块会记录该响应(最多 1MB),同时将其传输回客户端。NGINX 的“内容过滤器”可以在响应正文的每一部分内容可用时对其进行处理,因此响应不会因缓冲而延迟。

在提供服务器响应时间且响应成功后,该响应就会被镜像到 Akita 代理。代理将匹配请求和响应,然后尝试解析请求和响应正文内容。在发送到 Akita 进行分析之前,这些数据由代理在本地进行模糊处理。这意味着 Akita 可以看到 API 流量的结构,但看不到用户发送或接收的具体值。

Akita 的 NGINX Plus 认证三方模块可从应用流量跟踪中自动推断出您的端点,构建一个可浏览、可下载的 API 模型,并自动显示延迟和错误信息。它可让您及时注意每个端点的错误率、特定端点的高延迟,乃至过高的调用次数。

对于每个端点,Akita 的 NGINX Plus 认证三方模块支持您了解:

  • API 调用次数
  • HTTP 响应代码分发
  • 服务器响应所用的时长

有关 Akita 的 NGINX Plus 认证三方模块设置的更多信息,请点击此处

 

开始使用 Akita 的 NGINX Plus 认证三方模块

Akita 目前处于公测阶段。您可以注册申请试用版,只需不到 30 分钟便可获得结果。


"This blog post may reference products that are no longer available and/or no longer supported. For the most current information about available F5 NGINX products and solutions, explore our NGINX product family. NGINX is now part of F5. All previous NGINX.com links will redirect to similar NGINX content on F5.com."