1.美图
2.概述
Flink Metrics指任务在flink集群中运行过程中的各项指标,包括机器系统指标:Hostname,CPU,Memory,Thread,GC,NetWork,IO 和 任务运行组件指标:JobManager,TaskManager,Job, Task,Operater相关指标。
Flink提供metrics的目的有两点:
- 第一,实时采集metrics的数据供flink UI进行数据展示,用户可以在页面上看到自己提交任务的状态,延迟等信息。
- 第二,对外提供metrics收集接口,用户可以将整个fllink集群的metrics通过MetricsReport上报至第三方系统进行存储,展示和监控。
- 第二种对大型的互联网公司很有用,一般他们的集群规模比较大,不可能通过flink UI进行所有任务的展示,所以就通过metrics上报的方式进行dashboard的展示,同时存储下来的metrics可以用于监控报警,更进一步来说,可以用历史数据进行数据挖掘产生更大的价值。
Flink原生的提供了几种主流的第三方上报方式:JMXReporter,GangliaReport,GraphiteReport等,用户可以直接配置使用。
3.大类
Flink Metrics是通过引入com.codahale.metrics包实现的,它将收集的metrics分为四大类:Counter,Gauge,Histogram和Meter下面分别说明: