开发者社区> 问答> 正文

Flink中的获取 Metrics方法具体是什么啊?

Flink中的获取 Metrics方法具体是什么啊?

展开
收起
游客vwuxaq6iqaowc 2021-12-09 13:48:41 579 0
1 条回答
写回答
取消 提交回答
  • 获取 Metrics 有三种方法,首先可以在 WebUI 上看到;其次可以通过 RESTful API 获取,RESTful API 对程序比较友好,比如写自动化脚本或程序,自动化运维和测试,通过 RESTful API 解析返回的 Json 格式对程序比较友好;最后,还可以通过 Metric Reporter 获取,监控主要使用 Metric Reporter 功能。

    获取 Metrics 的方式在物理架构上是怎样实现的?

    了解背景和原理会对使用有更深刻的理解。WebUI 和 RESTful API 是通过中心化节点定期查询把各个组件中的 Metrics 拉上来的实现方式。其中,fetch 不一定是实时更新的,默认为 10 秒,所以有可能在 WebUI 和 RESTful API 中刷新的数据不是实时想要得到的数据;此外,fetch 有可能不同步,比如两个组件,一边在加另一边没有动,可能是由于某种原因超时没有拉过来,这样是无法更新相关值的,它是 try best 的操作,所以有时我们看到的指标有可能会延迟,或许等待后相关值就更新了。

    红色的路径通过 MetricFetcher,会有一个中心化的节点把它们聚合在一起展示。而 MetricReporter 不一样,每一个单独的点直接汇报,它没有中心化节点帮助做聚合。如果想要聚合,需要在第三方系统中进行,比如常见的 TSDB 系统。当然,不是中心化结构也是它的好处,它可以免去中心化节点带来的问题,比如内存放不下等,MetricReporter 把原始数据直接 Reporter 出来,用原始数据做处理会有更强大的功能。

    2021-12-09 13:49:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载