【问题标题】:Sending Metrics: Spark to Graphite发送指标:Spark 到 Graphite
【发布时间】:2023-08-27 13:08:01
【问题描述】:

我们设法通过更改 metrics.properties 文件让 Spark (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

但是我注意到,与在 Monitoring Web UI (http://localhost:4040) 下获得的相比,我们在石墨中仅获得了一部分指标。是否有任何设置可以获取石墨中的所有指标(包括累加器)?

【问题讨论】:

  • 您找到解决方案了吗?我有同样的问题
  • 您没有启用来源。喜欢.*.source.jvm.class

标签: apache-spark monitoring graphite


【解决方案1】:

我使用这个库将用户代码中用户定义的指标下沉到 Graphite:spark-metrics

在司机端初始化公制:

UserMetricsSystem.initialize(sc, "test_metric_namespace")

然后使用Counter Gauge Histogram Meter 像Spark Accumulators

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

对于Spark 2.0,您可以指定--conf spark.app.id=job_name,以便在Grafana 中,来自不同作业的具有多个应用程序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

【讨论】:

    最近更新 更多