首页 > 解决方案 > 如何仅跨某些维度聚合 CloudWatch SEARCH 指标

问题描述

我正在尝试使用 SEARCH 设置 CloudWatch 图表,我以前做过一些,但这次我无法让它按照我想要的方式工作。我的问题是我只想在图表中包含一些指标维度。我可以只搜索命名空间和指标,如下所示:

SEARCH('Namespace="MyServiceName" MetricName="LatencyFromCreation"', 'Average', 300)

聚合,但这并没有给我任何维度。我可以包括所有尺寸:

SEARCH('{MyServiceName,ResultState,ItemType,LogGroup,ServiceName,ServiceType} LatencyFromCreation', 'Average', 300)

这不会做任何聚合,它向我展示了每个维度的组合。但是当我尝试删除其中一些(如文档中所述并显示在示例中)以仅保留我感兴趣的尺寸时,如下所示:

SEARCH('{MyServiceName,ItemType} LatencyFromCreation', 'Average', 300)

我没有得到任何结果,即使文档似乎清楚地表明这应该有效,我是否遗漏了什么?文档不准确吗?

我发现这个问题是相关的,但是提到使用 SEARCH 的答案并不清楚它们是否显示维度的子集。

标签: amazon-web-servicesamazon-cloudwatch

解决方案


通过使用 CloudWatch Embedded Metrics Format (EMF) 作为我的服务发出的日志格式(如 Ryan 链接的这篇文章中所述),结合使用Metric Filters从 EMF 日志创建新指标,我能够找到解决方案,在除了 CloudWatch 创建的。这使我可以通过调整过滤器上的模式来准确选择我希望包含在指标中的维度。然后,我能够在这个新指标上使用 CloudWatch 提供的所有常规指标数学优势。

感觉很hacky,但它有效。


推荐阅读