使用对流层将CloudWatch警报与MetricFilter关联

问题描述 投票:1回答:1

我正在使用Troposphere脚本来配置CloudWatch指标过滤器和警报。在CloudWatch中,可以手动创建一个警报,该警报基于度量过滤器从日志聚合的数据而关闭,但是我想在Troposphere脚本中链接过滤器和警报,以节省人工。

这是我为脚本准备的(注意:为简洁起见,下面定义并引用了一些其他资源):

t.add_resource(logs.MetricFilter(
    "PlanReconciliationPlansStepMetricFilter",
    FilterPattern="INFO generatePlanReconciliationStepKnownToMorningstarInPlans",
    LogGroupName=Ref("logGroupName"),
    MetricTransformations=[logs.MetricTransformation(
        "planReconciliationPlansStepMetricTransformation",
        MetricNamespace=Ref("metricNamespace"),
        MetricName=Join("", [Ref("springProfile"), "-", "plan-reconciliation-plans-step"]),
        MetricValue="1")]
))

alarmPlans = t.add_resource(
    Alarm(
        "PlanReconciliationPlansAlarm",
        AlarmDescription="Alarm if plan reconciliation metric filter is exceeded",
        Namespace="AWS/Logs",
        MetricName=Join("", [Ref("springProfile"), "-", "plan-reconciliation-plans-step"]),
        Statistic="Sum",
        Period="60",
        EvaluationPeriods="1",
        Threshold="0",
        ComparisonOperator="GreaterThanThreshold",
        AlarmActions=[Ref(alarmTopic), ]   
    )
)

这会生成一个定义良好的CloudFormation模板,但是,当我执行更改集并观察创建的指标筛选器时,我发现我想要链接到该筛选器的警报并未自动设置,因此我需要手动创建它:

enter image description here

我的想法是,如果MetricTransformation和Alarm共享相同的MetricName属性,则希望该警报已经链接到度量过滤器,但事实并非如此。查看documentation for metric filters,似乎只有三个属性可以使用(LogGroupName,FilterPattern和MetricTransformations列表)。无法将警报与对流层中的度量过滤器链接起来?

amazon-cloudformation amazon-cloudwatch amazon-cloudwatch-metrics troposphere
1个回答
0
投票

根据评论。

© www.soinside.com 2019 - 2024. All rights reserved.