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

时间:2018-01-25 13:22:41

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

阅读docs我看到了这句话;

  

CloudWatch不会跨您的自定义维度进行汇总   度量

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

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

1 个答案:

答案 0 :(得分:7)

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

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

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

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

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

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

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