flink:窗口函数及metric监控
·
1 应用
1.1 动态窗口函数
2 监控运行状态
2.1 工具
Flink自带的REST API接口
REST API | Apache Flink
2.2 调用方法
2.2.1 前提
job代码中设置了延迟追踪间隔
env.getConfig().setLatencyTrackingInterval(毫秒);
2.2.2 具体方法
- 功能描述
/jobs
请求类型:GET
返回

- 功能描述
/jobs/*aa82978ba0f67324f3a128c3daa744ae
请求参数:jobid
请求类型:GET
返回

注:会返回指定job里的jobid以及每个“任务块”的id(红框标注部分)
- 功能描述
/jobs/metrics
请求类型:GET
返回

注:id中的source_id和operator_id是每个“任务块”的id
- 功能描述
/jobs/metrics/?get=*latency.source_id.bd9c186e89cc37a76d776844dfa8ccba.operator_id.362318de9231e607a30994b2501e8697.operator_subtask_index.0.latency_max
请求参数:metrics返回id
请求类型:GET
返回
***
- 功能描述
/jobs/*aa82978ba0f67324f3a128c3daa744ae*/metrics/
请求参数:jobid
请求类型:GET
返回

- 功能描述
/jobs/aa82978ba0f67324f3a128c3daa744ae/metrics/?get=*latency.source_id.bd9c186e89cc37a76d776844dfa8ccba.operator_id.362318de9231e607a30994b2501e8697.operator_subtask_index.0.latency_max
请求参数:jobid
请求类型:GET
返回

2.2.3 踩坑!!!
- 代码不变时,job内的source_id和operator_id不会改变,重启作业只会更新jobid
- 当存在使用相同代码,同时在运行的job时(例如:同一套代码,启动脚步中传入的参数不同),获取/jobs/metrics结果,会发现两个job对应的source_id和operator_id相同!!!。所以如果想要监控指定job的metrics时,一定要调用
/jobs/<jobid>/metrics/?get=<vertices-id>!!!
2.3 可视化
可以借助Grafana仪表板
一口气搞懂Flink Metrics监控指标和性能优化
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)