如何从Carbon创建和轮询标签?

时间:2018-04-09 00:57:15

标签: time-series metrics graphite graphite-carbon

Carbon 1.1.x added the feature for tagging series。我试图通过以下内容为系列添加标签:

curl -vv -X POST "http://10.x.x.x:8080/tags/tagSeries" --data-urlencode 'path=qa-dev.stats.UpdateStats.responses.OK.calls.mean_rate;env=qa-dev'

然后,如果我这样做:curl -vv "http://10.x.x.x:8080/tags/findSeries?pretty=1&expr=env=qa-dev",我得到了我期望的输出:

[
  "qa-dev.stats.UpdateStats.responses.OK.calls.mean_rate;env=qa-dev"
* Connection #0 to host 10.19.118.17 left intact
]

但是,如果我尝试通过我的渲染器使用aliasByTags轮询此系列,则代码不存在:

http://internal.graphite.abc.com/render/?target=aliasByTags(qa-dev.stats.UpdateStats.responses.OK.calls.mean_rate,%20%27env%27)&from=-6h&until=now&format=json&maxDataPoints=1440

上面将提取数据点,但在返回数据末尾表示的唯一标记是名称:

"tags": {"name": "qa-dev.stats.UpdateStats.responses.OK.calls.mean_rate"}

我希望在标签列表中看到env=qa-dev,但事实并非如此。

我做错了吗?

1 个答案:

答案 0 :(得分:0)

标签api由carbon用于将标记系列添加到graphite-web中的内部数据库中,它不打算将标记添加到现有的未标记系列中。

要使用标记系列,您需要更新收集器/生产者以生成标记系列。

您的想法是,如果您使用标签,则不需要在系列名称中嵌入env,因此您的系列会像stats.UpdateStats.responses.OK.calls.mean_rate;env=qa-dev一样。