7

NewGaugeVec を使用してメトリックを報告しています。

elapsed := prometheus.NewGaugeVec(prometheus.GaugeOpts{
    Name: "gogrinder_elapsed_ms",
    Help: "Current time elapsed of gogrinder teststep",
}, []string{"teststep", "user", "iteration", "timestamp"})
prometheus.MustRegister(elapsed)

すべて正常に動作しますが、カスタム エクスポーターには prometheus/go_collector.go からのすべてのメトリックが含まれていることに気付きました。

# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0.00041795300000000004
go_gc_duration_seconds{quantile="0.25"} 0.00041795300000000004
go_gc_duration_seconds{quantile="0.5"} 0.00041795300000000004
...

これは一種のデフォルトの動作であると思われますが、それを無効にする方法に関するドキュメントは見つかりませんでした。これらの既定のメトリックが表示されないようにカスタム エクスポーターを構成する方法についてのアイデアはありますか?

4

5 に答える 5

1

これは現在 Go クライアントでは不可能です。https://github.com/prometheus/client_golang/issues/46が完了すると、これを行う方法が得られます。

一般に、カスタム エクスポーターでこれらをエクスポートする必要がありますが、現時点で意味をなさないと私が認識しているのは、snmp および blackbox エクスポーターだけです。

ちなみにtimestamp、メトリックではなくロギングを使用する必要がある場合は、ラベルとして奇妙に思えます。https://blog.raintank.io/logs-and-metrics-and-graphs-oh-my/を参照してください 。

于 2016-02-01T08:20:12.677 に答える
0

「自分でやらなければならない」という答えはあまり役に立ちませんが、今のところそれが唯一の選択肢のようです。

Prometheus はオープン ソースであるため、本当にそれを行う必要がある場合は、このgo_collector.go の 28 行目と関連するセクションをフォークするか、これらの指標をすべてオプションにして PR を作成し、将来他の人が恩恵を受けるように変更する必要があると思います。

于 2016-01-31T23:09:17.073 に答える