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

如何统计Serverless部署的AWS Lambda中各POST接口的调用次数?

解决Lambda多接口调用次数统计的方案
  • 代码嵌入自定义CloudWatch指标
    在每个接口的处理逻辑开头,直接调用CloudWatch的PutMetricData接口上报调用次数。示例代码如下:

    const AWS = require('aws-sdk');
    const cloudwatch = new AWS.CloudWatch();
    
    app.post('/a', async(req, res) => {
      // 上报/a接口调用次数
      await cloudwatch.putMetricData({
        Namespace: 'LambdaAPIMetrics',
        MetricData: [
          {
            MetricName: 'CallCount',
            Dimensions: [{ Name: 'Endpoint', Value: '/a' }],
            Value: 1,
            Unit: 'Count'
          }
        ]
      }).promise();
    
      // 原有业务逻辑代码
    });
    

    记得给Lambda执行角色加上cloudwatch:PutMetricData权限,之后就能在CloudWatch控制台的自定义命名空间下,按Endpoint维度查看每个接口的调用次数。

  • API Gateway访问日志+CloudWatch Insights分析
    开启API Gateway的访问日志,把日志输出到CloudWatch Logs。日志里会记录每个请求的路径,接着用CloudWatch Insights写查询语句统计:

    fields @requestPath
    | stats count(*) as CallCount by @requestPath
    | sort CallCount desc
    

    这种方式不用改Lambda代码,只要配置API Gateway日志就能实现,适合不想动业务代码的场景。

  • X-Ray追踪统计
    开启Lambda和API Gateway的X-Ray追踪功能,在X-Ray控制台的服务地图里能直接看到各接口的调用次数、响应耗时等数据。也可以通过X-Ray的查询功能,按请求路径聚合统计调用次数。需要给相关服务配置X-Ray的权限,采样率可以根据需求调整。

  • Serverless Framework插件辅助
    如果是用Serverless Framework部署的,可以用第三方插件(比如serverless-plugin-cloudwatch-metrics)自动为每个接口生成调用次数指标,不用手动写上报代码,简化配置流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 08:55:15