CloudWatch不会跨自定义指标的维度进行汇总

red*_*888 7 amazon-web-services amazon-cloudwatch amazon-cloudwatch-metrics

阅读文档,我看到了这个陈述;

CloudWatch不会跨自定义指标的维度进行汇总

这似乎是一个巨大的限制吗?在我的估计中,它会使自定义指标完全无用 - 所以我想确认我理解这一点.

例如,我说我有一个从多个服务器发货的自定义指标.我想看看每台服务器,但我也希望看到它们在一起.我无法在所有服务器上汇总这些内容?或者我是否会被迫创建两个自定义指标,一个用于单个服务器,一个用于所有服务器,双重发布指标从服务器到每个服务器一个,另一个用于聚合所有这些指标?

Unk*_*nts 11

文档是正确的,CloudWatch不会跨自定义指标的维度进行聚合(对于其他服务(如EC2)发布的某些指标,它会这样做).

对于您的用例,此功能似乎有用且清晰,但目前尚不清楚这种聚合在一般情况下的行为方式.CloudWatch最多允许10个维度,因此汇总这些维度的所有组合可能会产生大量无用的指标,对于所有这些指标,您都需要付费.例如,人们可以使用维度来分割他们的指标TestProd堆栈,这些指标是完全独立的,并且聚合那些没有意义的.

CloudWatch将度量标准名称加上一组完整维度视为唯一度量标准.在您的情况下,这意味着您需要针对您希望单独提供的每个指标发布您的观察结果.

假设您有一个名为的度量标准Latency,并且您将主机名放在一个名为的维度中Server.如果您有三台服务器,则会创建三个指标:

  • Latency, Server=server1
  • Latency, Server=server2
  • Latency, Server=server3

因此,您在问题中提到的方法将起作用.如果您还需要一个显示所有服务器上的数据的指标,则每个服务器都需要发布到单独的指标,最好通过使用Server维度的新公共值来实现,例如AllServers.这将导致您有4个指标,如下所示:

  • Latency, Server=server1 < - 只有server1数据
  • Latency, Server=server2 < - 只有server2数据
  • Latency, Server=server3 < - 只有server3数据
  • Latency, Server=AllServers < - 来自所有3台服务器的数据

  • 这并不难做到——如果客户想要的话,CW 应该支持。将 {metric +Dimensions} 视为唯一标识符而不跨维度进行聚合使得维度几乎毫无意义。何必呢?这是一个很好的用例:我想为具有 X 维的算法发出失败指标。我想对任何失败发出警报。然而,我希望操作员能够深入了解哪种算法风格 X 触发了故障。我不想每次有人添加新算法时都必须更新我的 CFN 堆栈(或更糟糕的是,假设维度值是动态的)。 (6认同)
  • CloudWatch最近推出了Metric Math功能:https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html这可用于在GET上在服务器端聚合指标。不支持通配符,因此您仍然必须列出要汇总的所有指标,但不必再进行双重发布。 (5认同)
  • 我建议先更新旧答案 (3认同)
  • 根据当前情况更新了答案。 (2认同)
  • 您无法使用“SEARCH()”创建 Cloudwatch 警报:-( (2认同)