4

階層を無視して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)

何か案は?それは可能ですか?

4

1 に答える 1

4

グラファイトのインストール(バージョン0.9.9)があり、多くの小さなシステムでメトリックを作成しています

たとえば、postgresqlデータベースを2つインストールしています(postgresql-1とpostgresql-2)。2つ目は最初のスレーブレプリケーションです。最初のデータベースは日常の使用に使用され、2番目のデータベースは主にレポートシステムとデバッグクエリで使用されるホットスタンバイです。

次の例は、あなたがやりたいことだと思います。画像は、両方のデータベースの接続数です。青い線が最初に、緑の線が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

sumstats_count。**。TestMetricメトリックを使用して

sumSeries(stats_count.*.TestMetric, stats_count.*.*.TestMetric)

Graphiteにはまだ多くの改善が必要であり、残念ながら開発は非常にゆっくりと進んでいます(たとえば、バージョン0.9.10は最新リリースであり、インストールに問題があり、1年前のものです)。私は確かにこのプロジェクトへのフォーク/貢献を検討しています

于 2013-06-12T14:09:48.163 に答える