前言:对于任意一个系统而言,做好监控都是非常重要的,HBase也不例外。经常,我们会从JMX中获取相关指标来做展示、对HBase进行监控,那这些指标是怎么生成的呢?如果你想自定义自己的监控指标又该怎么做呢?基于好奇之心和学习的目的,最近打算学习一下HBase监控相关原理及实现,今天先简单捋一捋思路。
1. 如何下手?
我一向比较喜欢先看项目所依赖的pom文件,打开HBase源码,有两个非常相关的模块:
hbase-metrics-api
hbase-metrics
分别打开两个子项目的pom文件查看,搜索关键词'metrics'碰碰运气,有两个小发现:
子项目
hbase-metrics
依赖子项目hbase-metrics-api
,子项目hbase-metrics-api
大部分是接口类,而子项目hbase-metrics
基本上是对子项目hbase-metrics-api
接口类的实现类。子项目hbase-metrics中有metrics相关继承式依赖,如下:
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>