0

我需要在 CloudFormation 中添加一个触发回滚的警报。我已经决定添加一个可以手动分配的自定义指标。我在这里查看文档。这看起来可以工作,但我需要将它添加到模板中。这可能吗?我最初认为的值将是 0 次失败,如下所示

aws cloudwatch put-metric-data --metric-name Failures --namespace MyNamespace --value 0

当我想触发回滚时,我会将其设置为 1

aws cloudwatch put-metric-data --metric-name Failures --namespace MyNamespace --value 1

namespace但是我需要将其放在模板中,以便在定义警报时可以访问正确/动态的值。

4

2 回答 2

1

您可以使用 cloudformation 简单模板添加指标

资源“AWS::Logs::MetricFilter”指定一个指标过滤器,描述 CloudWatch Logs 如何从日志中提取信息并将其转换为 Amazon CloudWatch 指标。如果您有多个与日志组关联的指标过滤器,则所有过滤器都将应用于该组中的日志流。

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html

样本

404MetricFilter: 
  Type: AWS::Logs::MetricFilter
  Properties: 
    LogGroupName: 
      Ref: "myLogGroup"
    FilterPattern: "[ip, identity, user_id, timestamp, request, status_code = 404, size]"
    MetricTransformations: 
      - 
        MetricValue: "1"
        MetricNamespace: "WebServer/404s"
        MetricName: "404Count"
于 2021-08-11T03:10:21.980 回答
1

除非您想通过cloudformation 自定义资源执行此操作

您也可以使用它在 AWS CloudFormation 模板中运行 bash 命令

有了上面,你可以运行你的命令,比如

Resources:
  CommandRunner:
    Type: AWSUtility::CloudFormation::CommandRunner
    Properties:
      Command: 'aws cloudwatch put-metric-data --metric-name Failures --namespace MyNamespace --value 1'
于 2021-01-19T19:24:52.410 回答