2017-01-12 12 views
0
にスパーク

我々はmetrics.propertiesは以下のようにファイルを変更することにより、グラファイトにメトリックを送信するためにスパーク(2.xの)を得ることができた:私たちは唯一取得していることに気づいたしかし送信メトリック:グラファイト

# Enable Graphite 
*.sink.graphite.class=org.apache.spark.metrics.sink.GraphiteSink 
*.sink.graphite.host=graphite-host 
*.sink.graphite.port=2003 
*.sink.graphite.period=5 
*.sink.graphite.prefix=my-app 

をGraphiteのメトリクスのサブセットは、Monitoring Web UI(http://localhost:4040)で取得したものと比較しています。グラファイトのすべてのメトリック(アキ​​ュムレータを含む)を取得するための設定はありますか?

+0

あなたは解決策を見つけたことがありますか?私は同じ問題を抱えている –

答えて

0

Iグラファイトにユーザコードでユーザー定義メトリックをシンクするために、このライブラリを使用する:spark-metrics

がドライバ側にメトリックシステムを初期化:

UserMetricsSystem.initialize(sc, "test_metric_namespace") 

スパークAccumulatorsようCounterGaugeHistogramMeterを使用:

UserMetricsSystem.counter("test_metric_name").inc(1L) 

Spark 2.0の場合は--conf spark.app.id=job_nameと指定することができます。グラファナでは、複数のアプリケーションIDで実行される異なるジョブのメトリックが同じメトリック名を持つことができます。例えば。 spark.app.idを設定せず、メトリック名は、このようなアプリケーションIDが含まれることがあります。

job_name.application_id_1.metric_namespace.metric_name 

をしかしspark.app.idを設定すると、それは次のようになります。

job_name.unique_id.metric_namespace.metric_name 
関連する問題