我如何监控 Lambda 运行时,包括每个函数的 API 网关开销?
How can I monitor Lambda runtime including API Gateway overhead per function?
考虑 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 网关延迟? (冷启动)还是只有 运行 次?
如果没有,有没有办法监控特定的 route/Lambda,包括 API 网关延迟?
If I monitor a specific Lambda latency, does it include API Gateway latency?
没有
Duration
性能指标不包括任何 API 网关延迟,并且只是 Lambda 函数 运行 时间根据 docs 四舍五入到最接近的毫秒。
If not, is there a way to monitor a specific route/Lambda including API Gateway latency?
每个路由是,每个 Lambda 否。
对于还包括 API 网关开销的指标,请使用 API GW 的 Latency
指标。
不支持每个 Lambda 函数 dimension 分配给指标并据此进行过滤,但您可以通过使用各种其他维度(包括路由)来过滤它来获得最终结果。
如果同一个 Lambda 函数负责多个路由,您将不可避免地需要更多警报。
您必须通过以下方式过滤警报:
- 方法
- Api身份和阶段
- 阶段
- Api编号
- Api 姓名
考虑 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 网关延迟? (冷启动)还是只有 运行 次?
如果没有,有没有办法监控特定的 route/Lambda,包括 API 网关延迟?
If I monitor a specific Lambda latency, does it include API Gateway latency?
没有
Duration
性能指标不包括任何 API 网关延迟,并且只是 Lambda 函数 运行 时间根据 docs 四舍五入到最接近的毫秒。
If not, is there a way to monitor a specific route/Lambda including API Gateway latency?
每个路由是,每个 Lambda 否。
对于还包括 API 网关开销的指标,请使用 API GW 的 Latency
指标。
不支持每个 Lambda 函数 dimension 分配给指标并据此进行过滤,但您可以通过使用各种其他维度(包括路由)来过滤它来获得最终结果。
如果同一个 Lambda 函数负责多个路由,您将不可避免地需要更多警报。
您必须通过以下方式过滤警报:
- 方法
- Api身份和阶段
- 阶段
- Api编号
- Api 姓名