You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从AWS Lambda获取路由/路径级单位时间请求数指标

AWS Lambda 路径级请求数监控实现方案

AWS Lambda 原生默认指标确实不提供路由/路径维度的请求数统计,你可以通过以下3种常用方案实现需求:

方案1:业务代码内自定义埋点上报CloudWatch

适合可以修改业务代码、需要实时指标告警的场景:

  • 操作步骤:
    • 在Lambda函数初始化阶段预加载CloudWatch客户端,避免每次请求都初始化带来的性能损耗
    • 路由匹配逻辑执行完成后,提取当前请求的路径作为指标维度,调用CloudWatch的PutMetricData接口上报单次请求计数
    • 自定义指标建议命名为Custom/Lambda/RouteRequestCount,维度配置RoutePath(对应请求路径)、FunctionName(对应Lambda函数名)即可
    • 后续在CloudWatch控制台对该指标做Sum / Period(1)的运算,就能直接得到对应路径的每秒请求数(RPS)
  • 注意事项:如果路由量级过万,建议先对路径做规则聚合后再上报,避免CloudWatch指标维度过多产生额外成本;高并发场景下可以先在内存中批量聚合指标,再异步批量上报,减少CloudWatch接口调用次数。

方案2:结合API Gateway访问日志统计(Lambda由API Gateway触发时适用)

如果你的Lambda是作为API Gateway的后端集成,不需要修改业务代码即可实现:

  • 操作步骤:
    • 开启对应API Gateway的访问日志功能,将日志投递到CloudWatch日志组,日志格式中至少保留@timestamp、$context.path两个字段
    • 使用CloudWatch Logs Insights执行查询统计,示例查询语句如下:
    fields @timestamp, path
    | stats count() as rps by bin(1s), path
    | sort bin(1s) desc, rps desc
    
    语句输出结果就是每秒每个路径对应的请求数,即你需要的路径级RPS。
  • 优势:完全无业务侵入,适合已经上线、不方便修改代码的场景,同时支持历史数据回溯查询。

方案3:Lambda Layer统一埋点(多函数共享统计逻辑时适用)

如果有大量Lambda函数都需要做路径级请求统计,不想逐个修改业务代码,可以把指标上报逻辑封装成Lambda Layer,所有需要统计的函数绑定该Layer即可,Layer会自动拦截请求入口提取路径上报指标。

注意:自定义指标上报、访问日志存储都会产生额外的CloudWatch费用,建议根据实际业务量级配置采样规则,避免不必要的成本开销。

内容的提问来源于stack exchange,提问作者kumarmo2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 01:39:02