基于自定义指标的指标名称跨所有维度的 Cloudwatch 警报

Cloudwatch Alarm across all dimensions based on metric name for custom metrics

我们正在通过我们的服务发布自定义 Cloudwatch 指标,并希望在指标名称的值超过任何维度的阈值时设置警报。以下是我们发布的指标:

  1. Namespace=SameName,MetricName=Fault,Dimensions=[Operation=A,Program=ServiceName]
  2. Namespace=SameName,MetricName=Fault,Dimensions=[Operation=B,Program=ServiceName]
  3. Namespace=SameName,MetricName=Fault,Dimensions=[Operation=C,Program=ServiceName]

我们想设置一个闹钟,让任何维度的 Fault 都进入 Alarm 状态。

如您所见,维度操作的值不同。目前,我们只有这 3 个操作,所以我知道我们可以使用度量数学来设置这个警报。但我相信我们会达到一个持续增长的地步。

我可以使用 SEARCH 表达式 + 跨搜索表达式聚合为其生成图表,但它不允许我创建警报 The expression for an alarm must include at least one metric.

还有其他方法可以实现吗?

暂不支持直接在SEARCH上报警。您必须创建一个度量数学表达式,其中列出所有 3 个度量,然后创建一个取 3 个中的最大值的表达式,例如 MAX(METRICS())。确保只有表达式被标记为可见,以便图表上只有 1 条线。

如 Dejan 所述,Cloudwatch 尚不支持搜索警报。 另一个限制是您只能添加 up to 10 metrics to a metric math expression, which you can overcome with the new composite alarms.

如果您考虑使用第 3 方服务,可以尝试 DataDog

使用 DataDog,您可以导入您的 cloudwatch 指标并设置 multi-alarms 跟随(并自动发现)特定指标下的所有标签。

可能还有其他服务提供这种功能,但我对这个工具特别有经验。