apache-flink - 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 个,是否有可能影响暴露的指标?
解决方案
您可能正在经历某些 Flink 版本中延迟度量的基数爆炸,其中延迟从每个源子任务到每个算子子任务都被跟踪。这在 Flink 1.7 中得到解决。有关详细信息,请参阅https://issues.apache.org/jira/browse/FLINK-10484和https://issues.apache.org/jira/browse/FLINK-10243。
为了快速修复,您可以尝试通过配置metrics.latency.interval
为 0 来禁用延迟跟踪。
推荐阅读
- javascript - 如何在我的 Next.Js 应用程序中正确使用此 jQuery 脚本?
- lua - 使用旋转移动对象
- powershell - 如何从特定OU的用户列表中获取组的特定部分并将其放入表中?
- javascript - 管理员如何使用 amazon chime 中的语音连接器 (PSTN) 通过拨入号码创建会议
- javascript - 在原始数组索引处插入空值 - 排序
- javascript - 根据检查状态反应js按钮禁用
- tuples - 将一个大浮点数推入一个元组 Julia
- android - 在运行时使用 Dagger 更改 Retrofit baseUrl
- python - 获取多次修饰的函数的返回值
- java - Kafka Confluent InvalidConfigurationException:未经授权;错误代码:401