原创 马申跃
收录于话题
#Flink2
#大数据17
随着分布式集群规模的扩大,以及系统复杂度的增加,单纯靠人力监控几乎不能满足需求,必须有一套监控体系能时刻监控系统的动态,最大程度地放大低概率发生的系统故障,才能使维护人员及时发现并维护,从而最小程度的减少业务损失。Flink作为当下最流行的实时分布式计算系统,不同的业务可能需要关注不同的指标,有时候需要自定义指标才能满足需求。我们可以通过分析Flink的分布式监控框架,掌握其脉络,从而达到自定义监控指标的目的。Flink提供了4类指标监控,分别是:
Gauge :用来监控一个指标的瞬时值。比如某一瞬间TaskManager的内存使用。
Histogram:用来对指标进行统计展示。比如某个指标在一段时间内的max、min值等。
Meter:用来监控一个指标某时间段的平均值。比如task任务每秒接收的记录数。
Counter:用来统计一个指标的总量。比如task接收记录的总数、发送记录的总数等。
为了方便对单个指标的管理,Flink提供了指标组MetricGroup概念。
Flink监控架构如下:
上图主要是task相关的指标架构,所以只是画了TaskMamagerRunner中启动的MetricQueryService 。Flink有2种获取监控指标的方式,一个是pull,一个是push。
其中MetricRegistry是指标注册中心&