首页 > 解决方案 > Apache flink - 限制公开的指标数量

问题描述

我们有一个大约 30 个操作员的 flink 工作。当我们以 12 个 flink 的并行度运行此作业时,总共输出 400.000 个指标,这对于我们的指标平台来说太多了,无法很好地处理。

在查看指标类型时,这似乎不是错误或类似的东西。

只是当有许多具有许多任务管理器和任务槽的操作员时,指标的数量会经常重复以达到 400.000(也许作业重新启动也会重复指标的数量?)

这是我用于指标的配置:

metrics.reporters: graphite
metrics.reporter.graphite.class: org.apache.flink.metrics.graphite.GraphiteReporter
metrics.reporter.graphite.host: some-host.com
metrics.reporter.graphite.port: 2003
metrics.reporter.graphite.protocol: TCP
metrics.reporter.graphite.interval: 60 SECONDS
metrics.scope.jm: applications.__ENVIRONMENT__.__APPLICATION__.<host>.jobmanager
metrics.scope.jm.job: applications.__ENVIRONMENT__.__APPLICATION__.<host>.jobmanager.<job_name>
metrics.scope.tm: applications.__ENVIRONMENT__.__APPLICATION__.<host>.taskmanager.<tm_id>
metrics.scope.tm.job: applications.__ENVIRONMENT__.__APPLICATION__.<host>.taskmanager.<tm_id>.<job_name>
metrics.scope.task: applications.__ENVIRONMENT__.__APPLICATION__.<host>.taskmanager.<tm_id>.<job_name>.<task_id>.<subtask_index>
metrics.scope.operator: applications.__ENVIRONMENT__.__APPLICATION__.<host>.taskmanager.<tm_id>.<job_name>.<operator_id>.<subtask_index>

由于我们不需要全部 400.000 个,是否有可能影响暴露的指标?

标签: apache-flinkflink-streaming

解决方案


您可能正在经历某些 Flink 版本中延迟度量的基数爆炸,其中延迟从每个源子任务到每个算子子任务都被跟踪。这在 Flink 1.7 中得到解决。有关详细信息,请参阅https://issues.apache.org/jira/browse/FLINK-10484https://issues.apache.org/jira/browse/FLINK-10243

为了快速修复,您可以尝试通过配置metrics.latency.interval为 0 来禁用延迟跟踪。


推荐阅读