Graphite中的度量标准过滤器 - 忽略层次结构(点)

时间:2013-03-11 13:06:44

标签: wildcard metrics graphite statsd

有没有办法在忽略层次结构时过滤Graphite中的指标?

例如: 假设我有以下指标:

stats_count.A.B.TestMetric 
stats_count.A.TestMetric
stats.A.B.TestMetric
stats.A.B.TestMetric

如何在仅限stats_count

下对TestMetric求和?

我尝试了以下但没有成功:

stats_counts.*.*.TestMetric - obviously this won't work...
sumSeriesWithWildcards(stats_counts.[A-Z\.]*[A-Z]*.TestMetric,1)
sumSeriesWithWildcards(stats_counts.[A-Z]*[.]*[A-Z]*.TestMetric,1)

有什么想法吗?它有可能吗?

1 个答案:

答案 0 :(得分:4)

我有一个石墨安装(版本0.9.9),我在很多小系统上创建指标

例如,我有2个postgresql数据库(postgresql-1和postgresql-2)的安装,其中第二个是第一个的从属复制。第一个数据库用于日常使用,而第二个数据库主要用于报告系统和调试查询

我认为以下示例有点您想要做的事情。图像是两个数据库上的连接数量。蓝线在第一行,绿线在第二行,而红线是两个系列的总和,给出总连接数

database.postgresql-1.connection.ALL.value              # blue line
database.postgresql-2.connection.ALL.value              # green line
sumSeries(database.postgresql-*.connection.ALL.value)   # red line

amount of connections

你的问题是你的系列有不同的路径级别(我试图避免在我的系列名称上,因为它确实会导致问题)。除了写这样的东西,我没有看到任何其他选择:

给出

stats_count.A.B.TestMetric 
stats_count.A.TestMetric
stats.A.B.TestMetric
stats.A.B.TestMetric

sum stats_count。**。使用

的TestMetric指标
sumSeries(stats_count.*.TestMetric, stats_count.*.*.TestMetric)

Graphite仍然需要大量改进,不幸的是开发进展相当缓慢(例如0.9.10版是最新版本,安装有问题,是从1年前开始的)。我确实在考虑分配/贡献这个项目