【发布时间】:2017-06-20 12:56:14
【问题描述】:
我正在寻找与 sumSeriesWithWildcards 类似的东西,但用于最大/最小。我的意思是,它应该计算最小值或最大值,而不是计算所需字段上的总和。我很惊讶在 Graphite 库中没有找到 maxSeriesWithWildcards 调用。 万一它不存在,我怎么能模拟呢?
谢谢, 问候, 索林
【问题讨论】:
我正在寻找与 sumSeriesWithWildcards 类似的东西,但用于最大/最小。我的意思是,它应该计算最小值或最大值,而不是计算所需字段上的总和。我很惊讶在 Graphite 库中没有找到 maxSeriesWithWildcards 调用。 万一它不存在,我怎么能模拟呢?
谢谢, 问候, 索林
【问题讨论】:
您可以使用groupByNode。它需要您希望通过具有指定函数的给定节点分组的指标列表 - 可以使用任何函数。
例如:
test.region-1.server-1
test.region-1.server-2
test.region-1.server-3
test.region-1.server-4
test.region-1.server-5
test.region-2.server-1
test.region-2.server-2
test.region-2.server-3
test.region-2.server-4
test.region-2.server-5
test.region-3.server-1
test.region-3.server-2
test.region-3.server-3
test.region-3.server-4
test.region-3.server-5
要获得您将使用的每个区域的总和:
sumSeriesWithWildcards(test.*.*, 2)
你可以用 groupByNode* 做同样的事情:
groupByNode(test.*.*, 1, 'sumSeries')
注意sumSeriesWithWildcards 中的节点号是您要求和的那个,但在groupByNode 中您必须指定要分组的节点。 groupByNode 中的标签也会更短 - 只有分组节点。
所以……切入正题:
groupByNode(test.*.*, 1, 'minSeries')
groupByNode(test.*.*, 1, 'maxSeries')
groupByNode(test.*.*, 1, 'averageSeries')
还有groupByNodes,你可以提供更多的节点。
【讨论】:
groupByNodes(test.*.*, 'minSeries', 0,1)
我不知道为什么没有人建议使用通配符系列列表的 maxSeries 函数。
【讨论】: