代码之家  ›  专栏  ›  技术社区  ›  MCMatan

监控Lambda延迟,包括ApiGateway

  •  0
  • MCMatan  · 技术社区  · 4 年前

    考虑API网关上的以下CloudWatch警报:

    LatencyAlarmP90:
        Type: AWS::CloudWatch::Alarm
        Condition: Production
        Properties:
          AlarmDescription: latency P90 is lower then 1.5 sec
          AlarmName: FooApiP90LatencyAlarm
          ComparisonOperator: GreaterThanOrEqualToThreshold
          ExtendedStatistic: "p90"
          Period: 300
          MetricName: "Latency"
          DatapointsToAlarm: 5
          EvaluationPeriods: 5
          Threshold: 1500
          Namespace: AWS/ApiGateway
          Dimensions:
            - Name: ApiName
              Value: !Sub "bar"
          AlarmActions:
            - Fn::ImportValue: !Sub "foo"
          OKActions:
            - Fn::ImportValue: !Sub foo"
    

    如果触发此警报,我无法知道是哪个特定路由触发了它(多个lambda位于同一API网关上)。

    我在考虑监视每个Lambda。

    如果我监视特定的Lambda延迟,它是否包括API网关延迟?(冷启动)还是仅运行时间?

    如果没有,是否有方法监控特定路由/Lambda,包括API网关延迟?

    1 回复  |  直到 4 年前
        1
  •  1
  •   Ermiya Eskandary    4 年前

    如果我监视特定的Lambda延迟,它是否包括API网关延迟?

    这个 Duration 性能指标不包括任何API网关延迟和;是否只有Lambda函数运行时间按四舍五入到最接近的毫秒 docs .


    每条路线是,每条兰姆达号。

    对于还包括API网关开销的指标,请使用 Latency

    不支持每Lambda函数 dimension 分配到度量并按筛选,但您可以通过使用各种其他维度(包括路线)来筛选,以实现最终结果。

    如果同一Lambda函数负责多个路由,则不可避免地需要更多警报。

    您必须通过以下方式过滤警报:

    • 方法
    • 蜂鸟;阶段
    • 阶段
    • 蜂鸟
    • Api名称