如何利用 Apache APISX 提升 Nginx 的可观测性

本文探讨了如何增强Nginx的可观测性,通过Nginx的监控方式及其局限性,引出Apache APISIX的优势,如动态配置、主动健康检查和插件扩展机制。Apache APISIX不仅可以替代Nginx,还提供了更好的可观测性解决方案,支持Tracing、Metrics和Logging。通过集成Apache SkyWalking,可以进一步提升可观测性,利用SkyWalking Satellite和ALS方案收集并分析数据。
摘要由CSDN通过智能技术生成

"可观测性"是一种度量手段,方便掌握基础设施、系统平台或者应用程序的运行状况。常见的手段是收集 metrics、logging 和 tracing 及 events 数据,可以帮助开发/运维人员检测、调查、预警和纠正系统问题。

本文将从 Nginx 可观测性、Apache APISIX 与 Nginx 的关系、Apache APISIX 可观测性,以及结合 Apache SkyWalking 进一步提升可观测性这些方面分享关于可观测性的方案与实践。

  1. Nginx 的可观测性 

1.1 Nginx 常见监控方式

Nginx 在一定程度上能够做到可观测,以下罗列出 Nginx 的常见监控方式:

  1. ngx_http_stub_status_module。 

  1. VTS module + [exporter] + prometheus + grafana。(如果 Nginx 版本比较低,需要引入 exporter ) 

  1. Nginx Amplify SaaS。 

1.1.1 ngx_http_stub_status_module

ngx_http_stub_status_module 主要收集实例级别的统计信息。

1.1.2 VTS module

VTS module 有三个比较明显的缺点。

一、安装复杂

虽然 VTS module 能够采集指标,采集的指标类型也比较多,但是它的安装比较复杂。如果想要采用 VTS module,需要重新编译 Nginx,在编译 Nginx 之前加入 VTS moudle,完成编译后重新安装 Nginx 才可以正常使用 VTS。

二、扩展能力弱

VTS 扩展能力分为两部分,一是在编译之前给 VTS 增加扩展;二是在编译之后增加扩展 —— 修改 nginx.conf 配置文件。通过修改 nginx.conf 文件来增加扩展会使 Nginx reload,生产环境直接 reload 或多或少会对业务产生一些影响。

三、 社区更新缓慢

VTS module 最新的一次更新是在 2018 年,已经停摆 3 年了。

1.1.3 Nginx Amplify SaaS

Nginx Amplify 是一个 SaaS 服务,Nginx Amplify 在远端提供服务,在 Nginx 服务之外安装 Agent。

在 Nginx 之外安装采集模块,那么在采集指标上就会有限制,只能拿到 Nginx 暴露出来的信息,没有暴露的内部信息是拿不到的。

另外,这是一个 SaaS 服务,需要通过公网将采集到的数据传到服务端,这会带来一些安全隐患,同时把一些企业用户阻挡在外面。或许 Nginx Amplify 的目标群体是 Nginx plus 这样的企业用户,不是开源用户。

Nginx Amplify SaaS 社区也不活跃,已经停摆 2 年。

1.2 Nginx 自身 Events 缺陷

Nginx 在 Events 收集上自身有缺陷,这里列举出两个问题:

一、Nginx 基于 nginx.conf 进行配置,修改后通过 reload nginx.conf 文件使配置生效。除 reload 事件外,没有其他 Events 可用,我们无法得知每次修改文件的变化,如:起初只配置一个路由,修改文件增加十个路由,只有 reload 事件无法得知增加的十个路由是哪十个路由。

二、Nginx 开源产品缺少主动健康检查。Nginx 是一个反向代理,真正的后端服务可能会出现重启、升级或者异常的情况,如果没有主动的健康检查,依靠被动检查,只能在流量出现异常的时候,才知道服务出了问题,这会丢掉很多 Events,导致上游 Events 事件信息不完整。

1.3 Nginx 可观测性总结

Nginx 的开源版本没有提供非常好用的监控。虽然 Nginx 提供了一些监控工具,但这些工具的安装和配置非常复杂,几乎没有扩展性。可能这些工具的设计并不是为了可观测性,只是为了能看到指标或统计数据,方便定位问题。现在有各种可观测性设置类的产品,但是很难集成到 Nginx 上。

另外,Nginx 社区停滞不前,导致 Ng

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值