【问题标题】:AWS cloudwatch alarm can't access data from EMR cluster metrices when formed by cloudformation template当由 cloudformation 模板形成时,AWS cloudwatch 警报无法访问来自 EMR 集群指标的数据
【发布时间】:2020-09-08 23:45:04
【问题描述】:
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Metadata": {
        "AWS::CloudFormation::Designer": {
            "0146279a-ddf6-40fa-bf45-612cebe20c3f": {
                "size": {
                    "width": 60,
                    "height": 60
                },
                "position": {
                    "x": 290,
                    "y": 80
                },
                "z": 0,
                "embeds": []
            },
            "f53318cc-f7a9-4e0b-9d22-7de325b7409d": {
                "size": {
                    "width": 60,
                    "height": 60
                },
                "position": {
                    "x": 430,
                    "y": 80
                },
                "z": 0
            }
        }
    },
    "Resources": {
        "EMRC1YFGX": {
            "Type": "AWS::EMR::Cluster",
            "Properties": {
                "ReleaseLabel": "emr-5.30.0",
                "Instances": {
                    "MasterInstanceGroup": {
                        "InstanceCount": 1,
                        "InstanceType": "m5.xlarge"
                    },
                    "CoreInstanceGroup": {
                        "InstanceCount": 1,
                        "InstanceType": "m5.xlarge"
                    }
                },
                "Name": "Tupac",
                "JobFlowRole": "arn:aws:iam::261537044157:instance-profile/EMR_EC2_DefaultRole",
                "ServiceRole": "arn:aws:iam::261537044157:role/shubhamam"
            },
            "Metadata": {
                "AWS::CloudFormation::Designer": {
                    "id": "0146279a-ddf6-40fa-bf45-612cebe20c3f"
                }
            }
        },
        "CWA2VB7L": {
            "Type": "AWS::CloudWatch::Alarm",
            "Properties": {
                "AlarmName": "alarm101",
                "AlarmActions": ["arn:aws:sns:us-east-1:2615370449570:emr_idle_notification"],
                "ComparisonOperator": "GreaterThanOrEqualToThreshold",
                "Dimensions": [
                    {
                        "Name": "JobflowId",
                        "Value": {"Ref": "EMRC1YFGX"}
                    }
                ],
                "EvaluationPeriods": 1,
                "MetricName": "IsIdle",
                "Namespace": "AWS/ElasticMapReduce",
                "Period": 300,
                "Statistic": "Minimum",
                "Threshold": 1,
            },
            "Metadata": {
                "AWS::CloudFormation::Designer": {
                    "id": "f53318cc-f7a9-4e0b-9d22-7de325b7409d"
                }
            }
        }
    }
}

我正在使用上述 cloudformation 模板来创建我的 EMR 集群和 Cloudwatch 警报。如果我从控制台创建一个正常的警报,则它可以正常工作,但是在 cloudformation 创建时它不起作用。 警报已创建,但无法从 EMR 指标中获取任何数据。它说没有数据,它仍然处于数据不足状态。

【问题讨论】:

  • shubhamam 是什么角色?
  • 这是我为 EMR 角色创建的角色,与 EMR_default 角色相同
  • 任何错误信息?
  • 请定义您所说的“它不起作用”是什么意思。发生什么了?请编辑您的问题以提供更多详细信息。
  • 将 JobflowId 更改为 JobFlowId 后,警报工作正常。

标签: amazon-web-services amazon-cloudformation amazon-emr amazon-cloudwatch


【解决方案1】:

明显的问题是使用JobflowId 而不是JobFlowId

这是因为维度名称区分大小写

我在 CloudWatch 中找不到有关维度名称区分大小写的文档,因此我自己对此进行了测试,创建了两个警报。

一个警报基于正确拼写的维度名称AmazonEC2(计费指标)。第二个警报基于拼写错误的拼写名称:AmazonEc2。两个警报之间的其他一切都相同。

我发现名称不正确的警报在 INSUFFICIENT 状态下被堆栈。这与 OP 报告的状态相同。

报警截图(费用已涂黑):

【讨论】:

    猜你喜欢
    • 2019-12-03
    • 1970-01-01
    • 2019-05-04
    • 2019-11-09
    • 1970-01-01
    • 2018-12-27
    • 2019-05-19
    • 2020-12-28
    • 2020-01-09
    相关资源
    最近更新 更多