原因:是因为默认情况下Flink开启了operator chain,所以当flink程序所有的算子都在一个chain里面时,也就是在一个DAG(task)里面,所有没有向下游发送数据,所以显示都为0。比如下图的情况所有指标都是0; 解决方案:第一种方法:在flink程序里添加自定义metric 第二种方法:使用startNewChain和disableChainin打断程序默认的...
请求连接返回的json字符串如下:我们可以获取每一个分区的背压情况,如果不是OK状态便可以进行任务报警,其他的指标获取监控值都可以这样获取 简单而又便捷。 3.3 代码中Flink任务运行状态 使用flink REST API的方式,通过http请求实时获取flink任务状态,不是RUNNING状态则进行短信、电话或邮件报警,达到实时监控的效果。 packag...
在源码层,我们针对 Flink Task 以及 Operator 增加了单条记录处理时间的自定义 Metric,之后该 Metric 可以通过 Flink Rest API 获取。我们会遍历一个 Flink 任务中所有的 Task , 查询处理最慢的 Task 所在的 JobVertex(JobGraph 的点),然后获取到该 JobVertex 所有 Task 的总输出,最终会和 Kafka Topic 单...
在flink 的 UI 的界面上我们点击任务详情,然后点击 Task Metrics 会弹出如下的界面,在 add metic 按钮上 我们可以添加我需要的监控指标。 注意:如果点击 Task Metrics 没有显示 Add metics 点击一下任务的 DAG 图就会显示出来,当我们点击了 DAG 图中某个算子的名字,那么 Add metric 显示的就是该算子的监控指标...
task execption N/A task业务代码抛出异常告警,可以使用rest api获取 task TotalMemorySegments flink_taskmanager_Status_Network_TotalMemorySegments task 总的Memory Segment数 task Available MemorySegments flink_taskmanager_Status_Network_AvailableMemorySegments task 当前可用的Memory Segment数 task sourceIdleTime fl...
java flinkcdc 实时监控 flink做数据监控 目录 1 什么是 Metrics? 1.1 Metrics介绍 1.2 Metric Types 2 WebUI监控 3 REST API监控 3.1 http请求获取监控数据 3.2 开发者模式获取指标url 3.3 代码中Flink任务运行状态 1 什么是 Metrics? https://ci.apache.org/projects/flink/flink-docs-release-1.12/ops/...
Flink 的指标上报有两种方式:内置 Reporter 主动推送和 RESTAPI被动拉取。Flink 的 WebUI 中采用的是 REST API 的方式获取指标,我们可以通过flink-rumtime模块的WebMonitorEndpoint类可以查看到具体上报了哪些指标种类。 Metric Reporter 上报指标 Metric Reporter[1] 通过一个单线程的线程池定时调用Scheduled接口的实现...
使用flink REST API的方式,通过http请求实时获取flink任务状态,不是RUNNING状态则进行短信、电话或邮件报警,达到实时监控的效果。 public class MetricsTest {public static void main(String[] args) {String result = sendGet("http://node1:8088/proxy/application_1609508087977_0004/jobs");System.out.println(re...
七、flink metric监控程序 前面介绍了flink公共的监控指标以及如何自定义监控指标,那么实际开发flink任务我们需要及时知道这些监控指标的数据,去获取程序的健康值以及状态。这时候就需要我们通过 flink REST API ,自己编写监控程序去获取这些指标。很简单,当我们知道每个指标请求的URL,我们便可以编写程序通过http请求获取指标...