首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何引用AWS CDK中生成的`elasticsearch.CfnDomain`域名?

问如何引用AWS CDK中生成的`elasticsearch.CfnDomain`域名?
EN

Stack Overflow用户
提问于 2021-01-13 17:52:42
回答 1查看 265关注 0票数 2

我在AWS CDK中创建了一个CfnDomain,并尝试获取生成的域名来创建警报。

代码语言:javascript
复制
const es = new elasticsearch.CfnDomain(this, id, esProps);

new cloudwatch.CfnAlarm(this, "test", {
  ...
  dimensions: [
    {
      name: "DomainName",
      value: es.domainName,
    },
  ],
});

但看起来domainName属性实际上是我传入的参数(我传递了none,所以它将被自动生成),所以它实际上是undefined,不能使用。

有没有办法指定它,让它等待创建elasticsearch集群,这样我就可以获取生成的域名,或者有没有其他方法可以对集群的指标进行告警?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-13 21:51:49

您可以使用CfnDomain.ref作为维度的域值。创建红色集群状态的告警示例:

代码语言:javascript
复制
const domain: CfnDomain = ...;
const elasticDimension = {
    "DomainName": domain.ref,
};

const metricRed = new Metric({
    namespace: "AWS/ES",
    metricName: "ClusterStatus.red",
    statistic: "maximum",
    period: Duration.minutes(1),
    dimensions: elasticDimension
});

const redAlarm = metricRed.createAlarm(construct, "esRedAlarm", {
    alarmName: "esRedAlarm",
    evaluationPeriods: 1,
    threshold: 1
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65699433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档