Spark Prometheus 指标名称包含随机生成的数据吗?
Spark Prometheus metrics name contain random generated data?
Spark 3.2.0生成的Metric名称如下:
metrics_spark_a929f03bcd084dd08ffe5a3c9ba71018_driver_DAGScheduler_stage_waitingStages_Number{type="gauges"} 0
metrics_spark_a929f03bcd084dd08ffe5a3c9ba71018_driver_DAGScheduler_messageProcessingTime_50thPercentile{type="timers"} 24749.0
我怀疑 a929f03bcd084dd08ffe5a3c9ba71018
部分是随机生成的。如何编写适当的 Grafana 查询来匹配这些指标?是否可以将 Spark 配置为不将这些哈希值添加到指标名称中?指标命名中这些随机散列的目的是什么?
(检查了 Spark 的示例 spark.metrics.conf
for 3.2.0,但没有找到配置它的选项。)
在 Grafana 中,您可以使用内部 __name__ 标签匹配器过滤指标,并且您可以编写一个正则表达式来匹配上述指标,而不考虑哈希值。这些将匹配上述指标:
{\_\_name\_\_=~"metrics_spark_.*_driver_DAGScheduler_stage_waitingStages_Number"}
{\_\_name\_\_=~"metrics_spark_.*_driver_DAGScheduler_messageProcessingTime_50thPercentile"}
在 Spark 属性中,您可以指定以下内容:
"spark.metrics.namespace": "myapp"
那么你将获得:
metrics_myapp_driver_BlockManager_memory_maxOffHeapMem_MB_Number{type="gauges"} 0
Spark 3.2.0生成的Metric名称如下:
metrics_spark_a929f03bcd084dd08ffe5a3c9ba71018_driver_DAGScheduler_stage_waitingStages_Number{type="gauges"} 0
metrics_spark_a929f03bcd084dd08ffe5a3c9ba71018_driver_DAGScheduler_messageProcessingTime_50thPercentile{type="timers"} 24749.0
我怀疑 a929f03bcd084dd08ffe5a3c9ba71018
部分是随机生成的。如何编写适当的 Grafana 查询来匹配这些指标?是否可以将 Spark 配置为不将这些哈希值添加到指标名称中?指标命名中这些随机散列的目的是什么?
(检查了 Spark 的示例 spark.metrics.conf
for 3.2.0,但没有找到配置它的选项。)
在 Grafana 中,您可以使用内部 __name__ 标签匹配器过滤指标,并且您可以编写一个正则表达式来匹配上述指标,而不考虑哈希值。这些将匹配上述指标:
{\_\_name\_\_=~"metrics_spark_.*_driver_DAGScheduler_stage_waitingStages_Number"}
{\_\_name\_\_=~"metrics_spark_.*_driver_DAGScheduler_messageProcessingTime_50thPercentile"}
在 Spark 属性中,您可以指定以下内容:
"spark.metrics.namespace": "myapp"
那么你将获得:
metrics_myapp_driver_BlockManager_memory_maxOffHeapMem_MB_Number{type="gauges"} 0