HBase 监控方案有哪些?

目前各个厂的监控是怎么做的?主要有哪些思路
已邀请:

qgxiaozhan

赞同来自: openinx libis

从监控开发来说,如果公司本身有一套监控报警系统,可以想一想能不能接入,不管是自动抓取还是发送。.基于开源的话,目前我们是这样搞的,ganglia + opentsdb + granfana 。利用hadoopMetric2 sink到ganglia中的gmond,一般来说一个集群会对应一个gmond。虽然ganglia提供了gmetad-python模块,但是在多线程环境下性能根本不行,所以我写了一个类似gamted的java版本,然后把数据push到opentsdb。如果需要源码的同学可以联系我。这样做有好处也有坏处,好处就是hbase本身就支持发送到ganglia,省去很多麻烦。坏处有两个,一个是抓取是单点的,另一个抓取也只能是最新report到gmond的数据。也有人用普罗米修斯搞的,直接监控报警都集成,缺点就是目前的存储是单机的,看后续的计划是准备支持opentsdb,所以可以重点关注一下。
 
其实小米那套我觉得存储上设计比较好,可以通过tag对同一份数据进行多维度分析
我们是基于hbase的jmx自己做的,首先连接hmaster拿到region server列表,然后请求的所有的region server的jmx,在http客户端按照内部监控系统规范打上server和region,还有table的标签,通过kafka和spark streaming进行状态统计,最终落盘到es中,es按照聚合周期分index存储
 
相关理念
 
https://github.com/cjuexuan/mynote/issues/30

openinx - HBase Committer @小米

赞同来自: libis

小米的情况基本上是这样的:
1. 服务器层面的监控(cpu/mem/disk/net etc)全部都用open-falcon https://github.com/XiaoMi/open-falcon  . 这个基本上是每新增一个机器, 其基本的监控指标都推到open-falcon了.
2. HBase/HDFS层面的监控全部都通过一个服务去拉对应对应的JMX数据, 然后通过Opentsdb https://github.com/OpenTSDB/opentsdb 持久化到HBase里面.  然后自己写了个python前端服务 https://github.com/XiaoMi/minos 去做个性化的监控指标查询.

hmaster

赞同来自:

可以试试Ambari,一些基本需求还是可以满足的。比如RPC,REGION,HFILES,IO,CPU,memory,GC等

要回复问题请先登录注册