使用 cloudformation 基于 lambda 持续时间指标创建 cloudwatch 警报
Posted
技术标签:
【中文标题】使用 cloudformation 基于 lambda 持续时间指标创建 cloudwatch 警报【英文标题】:Creating cloudwatch alarm based on lambda duration metric using cloudformation 【发布时间】:2022-01-01 15:24:01 【问题描述】:我能够使用 GUI 根据持续时间指标创建 cw 警报(如果 lambda 运行超过一分钟,则发出警报)。但我想知道如何使用 cloudformation 做到这一点。到目前为止,我有这个 -
Resources:
testAlarm:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmName: test-alarm
AlarmDescription: "I'm taking too long!"
ComparisonOperator: GreaterThanThreshold
EvaluationPeriods: 1
DatapointsToAlarm: 1
MetricName: Duration
Namespace: aws/lambda
Period: 60
Statistic: Maximum
Threshold: 0
Dimensions:
- Name: 'FunctionName'
Value: 'hello world'
TreatMissingData: notBreaching
我无法关联 lambda 函数的持续时间指标。我尝试使用上面的尺寸来做到这一点,但可以理解的是它不起作用。任何帮助将不胜感激!
编辑 - 不起作用,因为警报没有打开,阈值为 0,所以如果我对time.sleep
执行的持续时间>0,则警报应该处于活动状态。但是没有变化,图表也没有描述测试运行的持续时间。我使用 Web 控制台创建的警报就是这样做的。
【问题讨论】:
“不起作用”并不具体。为什么如果失败?有任何错误信息吗?请详细说明您认为失败的原因,并解释所需的输出。 不起作用,因为警报没有打开。阈值为 0,因此如果我对time.sleep
所做的持续时间>0,则警报应该处于活动状态。但是没有变化,图表也没有描述测试运行的持续时间。我使用 Web 控制台创建的警报就是这样做的。
您能否提供手动创建的警报的屏幕截图以及CFN创建的警报的详细信息?
Web console CFN 谢谢!!我注意到了不同之处,aws/lambda 的情况不同,应该是 AWS/Lambda。我认为应该有额外的步骤来链接 lambda 指标。
没问题。很高兴它成功了。如果你不介意我会提供答案。我们将不胜感激。
【参考方案1】:
根据 cmets,问题在于它应该是:
Namespace: AWS/Lambda
然后
Namespace: aws/lambda
【讨论】:
以上是关于使用 cloudformation 基于 lambda 持续时间指标创建 cloudwatch 警报的主要内容,如果未能解决你的问题,请参考以下文章
通过 cloudformation 使用 aws `cdk synth` 输出
关于idea中使用lamb表达式报错:ambda expressions are not supported at this language level