我们可以在graphite中添加可变数量的标签吗?
在graphite中添加新标签有多容易 比如说 假设我正在向这样一个度量添加数据我们可以在graphite中添加可变数量的标签吗?,graphite,metric,Graphite,Metric,在graphite中添加新标签有多容易 比如说 假设我正在向这样一个度量添加数据 count.chrome 12 time count.ie 10 time 现在我在graphite metric中添加新标记,如下所示 count.chrome.host1 10 time count.chrome.host2 11 time count.ie.host2 9 time 我认为我们可以做上述事情,只要标签位置在度量中保持不变。但我的问题是现在如何查询以聚合数据 例如,我想查询所有浏览器的计数总
count.chrome 12 time
count.ie 10 time
现在我在graphite metric中添加新标记,如下所示
count.chrome.host1 10 time
count.chrome.host2 11 time
count.ie.host2 9 time
我认为我们可以做上述事情,只要标签位置在度量中保持不变。但我的问题是现在如何查询以聚合数据
例如,我想查询所有浏览器的计数总和。我也可以这样做吗
sumSeries(count.*)
上面应该给我52而不是22
或者我必须做以下事情才能得到正确的答案
sumSeries(count.*,count.*.*.
如果我们必须执行第二个选项,那么这意味着我们必须记住特定度量的所有可能度量名称,以获得正确的数据,这意味着在graphite中添加可变数量的标记是不实际的
“例如,我想查询所有浏览器的计数总和。我可以这样做吗?”
像这样的东西也是一样的吗?
sumSeries(计数。*)”
不,事实上。为什么?通配符仅适用于子树的该深度。因此,您的*
将不会解析使用它的度量下的所有子树,而只会给出该级别上的所有可能路径
在本例中,度量树如下所示-
count/chrome.wsp
count/ie.wsp
count/chrome/host1.wsp
count/chrome/host2.wsp
count/ie/host2.wsp
如您所见,chrome
和ie
都是这里的指标和目录。查询多个级别确实需要类似于-sumSeries(count.*,count.*,count.*.*.*.*.*.
“这意味着我们必须记住所有可能的度量名称”
不是真的。有了一个小小的智能命名方案,您就可以轻松绕过这个限制。你要知道的是你的树的最大深度。此外,Graphite支持所有基于perl的正则表达式,因此您不仅限于
*
Hi-erbdex,谢谢您的回答。你能详细说明在上述情况下我应该如何命名吗?在我们的例子中,我们有很多事先不知道的标签。我们正在考虑的命名方案之一是,一旦遇到新标签,就在末尾添加新标签。但很明显,这种命名模式在查询上述数据时会出现问题
count/chrome.wsp
count/ie.wsp
count/chrome/host1.wsp
count/chrome/host2.wsp
count/ie/host2.wsp