有什么方法可以在忽略层次结构的同时过滤 Graphite 中的指标?
例如:
假设我有以下指标:
stats_count.A.B.TestMetric
stats_count.A.TestMetric
stats.A.B.TestMetric
stats.A.B.TestMetric
如何在 下总结 TestMetric仅 stats_count ?
我尝试了以下方法但没有成功:
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)
有任何想法吗?有可能吗?
最佳答案
我有一个 Graphite 安装(版本 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
你的问题是你的系列有不同的路径级别(我试图在我的系列名称上避免这种情况,因为它确实会导致问题)。除了写这样的东西,我看不到任何其他选择:
给予
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 年前的版本)。我确实在考虑 fork /贡献这个项目
关于wildcard - Graphite 中的指标过滤器 - 忽略层次结构(点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15339378/