如何引用由 ECS/Fargate 的容器见解创建的 CloudWatch 指标

我创建了一个 ECS 集群,如下所示:


    this.cluster = new ecs.Cluster(this, 'Cluster', {

        containerInsights: true,

        vpc: ec2.Vpc.fromLookup(this, props.stage + 'Vpc', {isDefault: false})

    });

我想像这样基于我的 cluser 创建一个 CW 警报:


    const CPUHigh = new cw.Alarm(this, "CPUHigh", {

        metric: this.cluster.metric("CPUUtilized"),

        threshold: 50,

        evaluationPeriods: 3,

        period: cdk.Duration.seconds(60),

        comparisonOperator: cw.ComparisonOperator.GREATER_THAN_THRESHOLD

    })

但即使该指标与 Container Insights 创建的指标相匹配,它似乎也不能以这种方式引用。


有谁知道它应该被引用的方式?


慕斯709654
浏览 100回答 1
1回答

largeQ

CDK 仅支持某些指标基线,不包括容器洞察力,但这不是问题,您可以很容易地创建自己的指标对象。对于容器洞察,它看起来像这样:new cloudwatch.Metric({  metricName: 'NetworkTxBytes',  namespace: 'ECS/ContainerInsights',  dimensionsMap: {    ServiceName: props.ecsService.serviceName,    ClusterName: props.ecsCluster.clusterName,  },  statistic: 'avg',  period: cdk.Duration.minutes(5),}),此处重要的是命名空间、dimensionsMap 和 metricName。您可以从指标控制台和最后一个选项卡“源”中获取有关命名空间和维度的信息。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript