【问题标题】:Creating a CloudWatch alarm based on a search expression基于搜索表达式创建 CloudWatch 警报
【发布时间】:2019-08-27 19:48:55
【问题描述】:

我正在尝试执行以下操作:

我有一个发布 ReplicationLatency 指标的 DynamoDB 全局表。我想为每个区域发布的 ReplicationLatency 指标的聚合创建一个警报。

DDB 表副本存在于 us-east-1、us-west-2 和 us-west-1 中。在为每个接收区域定义 CW 警报时,我假设我可以搜索表达式。例如,这是我在 CloudWatch 控制台中看到的表达式。

SEARCH('{AWS/DynamoDB,ReceivingRegion,TableName} MetricName="ReplicationLatency"', 'Average', 300)

我想创建一个指标数学警报,它是上述搜索结果指标的平均值。我试图创建格式的度量数学表达式:

AVG(METRICS())

然后我收到以下错误 - 警报的表达式必须包含至少一个指标。有没有人尝试过从搜索表达式创建警报?如果是,您能否说明如何做到这一点?

我能想到的解决此问题的唯一其他方法是枚举/添加每个接收区域的 ReplicationLatency 指标,然后从中创建一个指标数学表达式。这似乎完全违背了拥有搜索表达式并根据所有这些指标创建警报的目的。

【问题讨论】:

  • 您是否确认您看到了基于该搜索表达式的指标?
  • @JavierDiaz:Cloudwatch 控制台向我显示了搜索表达式的结果图表,但它没有将它们显示为单独的指标,我认为这是问题
  • 确实这在 Cloudwatch 中不起作用,但只需澄清一点:METRICS() 表达式不返回数学表达式,因此 AVG(METRICS()) 不返回任何内容。如果你这样做AVG(SEARCH('{AW......e', 300)),你应该得到一个理论上可以与警报一起使用的指标 - 但目前不幸的是它似乎不起作用..
  • 这是目前的状态吗?是否可以在自定义维度的某个聚合上设置警报(可以使用此搜索功能警报来完成)?

标签: amazon-web-services amazon-dynamodb amazon-cloudwatch


【解决方案1】:

您目前无法对搜索表达式进行警报。

您必须手动添加所有要发出警报的指标,然后使用您在上面指定的数学函数。

编辑:official documentation link

【讨论】:

  • 最好能引用官方文档说明这一点,但我自己找不到。
【解决方案2】:

这里是官方文档的链接: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create-alarm-on-metric-math-expression.html

“您不能基于 SEARCH 表达式创建警报。这是因为搜索表达式返回多个时间序列,而基于数学表达式的警报只能观察一个时间序列。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 2021-08-07
    • 2019-06-24
    • 2022-01-01
    • 2020-09-13
    • 1970-01-01
    • 2021-01-10
    相关资源
    最近更新 更多