hbase 监控指标项
名词解释
JMX:Java Management Extensions,用于用于Java程序扩展监控和管理项
GC:Garbage Collection,垃圾收集,垃圾回收机制
指标项来源
主机名 | url |
---|---|
192.168.20.10 | http://192.168.20.10:60010/jmx |
192.168.20.11 | http://192.168.20.11:16030/jmx |
192.168.20.12 | http://192.168.20.12:16030/jmx |
hbase监控项
Hadoop 系统都提供了丰富的 JMX 监控项,所以我们可以直接从 HBase 系统本身提供的 JMX 信息获取我们需要的监控项。 HBase 提供的 JMX 信息的 web 页面,地址就是 http://host:60010/jmx , JMX web页面的数据格式是 json 格式。
主机基本监控项
CPU,内存,磁盘,网络 主机四大基本监控项,这4项机器监控保证我们运行我们HBase集群的机器是正常的。
数据来源
在集群的每个机器上均能获得以下数据,分别记录每个机器的数据。
{"name" : "java.lang:type=OperatingSystem","description" : "Information on the management interface of the MBean","modelerType" : "sun.management.OperatingSystemImpl","OpenFileDescriptorCount" : 377,"MaxFileDescriptorCount" : 1048576,"CommittedVirtualMemorySize" : 4034031616,"TotalSwapSpaceSize" : 0,"FreeSwapSpaceSize" : 0,"ProcessCpuTime" : 21960000000,"FreePhysicalMemorySize" : 1889230848,"TotalPhysicalMemorySize" : 8370974720,"SystemCpuLoad" : 0.6198521647307286,"ProcessCpuLoad" : 0.00791974656810982,"Name" : "Linux","Arch" : "amd64","SystemLoadAverage" : 1.02,"AvailableProcessors" : 4,"Version" : "4.4.0-131-generic","ObjectName" : "java.lang:type=OperatingSystem"}
指标项说明
指标项 | 说明 |
---|---|
FreePhysicalMemorySize | 空闲物理内存大小 |
ProcessCpuLoad | 进程cpu使用率 |
SystemCpuLoad | 系统cpu使用率 |
AvailableProcessors | 处理器核数 |
JVM监控项
HBase 集群涉及的系统 HDFS,HBase,ZooKeeper都是用 Java 编写的,运行在 JVM 中,必须采集 JVM 相关的监控项。
Hbase 中对于 JVM 的监控数据,主要是 JvmMetrics 的对象来进行的。
数据来源
在集群的每个机器上均能获得以下数据,分别记录每个机器的数据。
{"name" : "Hadoop:service=HBase,name=JvmMetrics","modelerType" : "JvmMetrics","tag.Context" : "jvm","tag.ProcessName" : "Master","tag.SessionId" : "","tag.Hostname" : "dev01","MemNonHeapUsedM" : 53.011223,"MemNonHeapCommittedM" : 53.996094,"MemNonHeapMaxM" : -9.536743E-7,"MemHeapUsedM" : 30.099304,"MemHeapCommittedM" : 121.8125,"MemHeapMaxM" : 1962.75,"MemMaxM" : 1962.75,"GcCountParNew" : 17,"GcTimeMillisParNew" : 116,"GcCountConcurrentMarkSweep" : 1,"GcTimeMillisConcurrentMarkSweep" : 12,"GcCount" : 18,"GcTimeMillis" : 128,"ThreadsNew" : 0,"ThreadsRunnable" : 19,"ThreadsBlocked" : 0,"ThreadsWaiting" : 51,"ThreadsTimedWaiting" : 16,"ThreadsTerminated" : 0,"LogFatal" : 0,"LogError" : 0,"LogWarn" : 0,"LogInfo" : 0}
指标项说明
JvmMetrics 主要统计的信息包括:内存的使用状态信息; GC 的统计信息;线程的统计信息;以及事件的统计信息。
类型 | 指标项 | 说明 |
---|---|---|
内存 | MemNonHeapUsedM | JVM 当前已经使用的 NonHeapMemory 的大小 |
内存 | MemNonHeapMaxM | JVM 配置的 NonHeapMemory 的大小 |
内存 | MemHeapUsedM | JVM 当前已经使用的 HeapMemory 的大小 |
内存 | MemHeapMaxM | JVM 配置的 HeapMemory 的大小 |
内存 | MemMaxM | JVM 运行时的可以使用的最大的内存的大小 |
GC | GcCountParNew | 新生代GC次数 |
GC | GcTimeMillisParNew | 新生代GC耗时(ms) |
GC | GcCountConcurrentMarkSweep | 老年代GC次数 |
GC | GcTimeMillisConcurrentMarkSweep | 老年代GC耗时 |
线程 | ThreadsNew | 当前线程的处于 NEW 状态下的线程数量 |
线程 | ThreadsRunnable | 当前线程的处于 RUNNABLE 状态下的线程数量 |
线程 | ThreadsBlocked | 当前线程的处于 BLOCKED 状态下的线程数量 |
线程 | ThreadsWaiting | 当前线程的处于 WAITING 状态下的线程数量 |
线程 | ThreadsTimedWaiting | 当前线程的处于 TIMED_WAITING 状态下的线程数量 |
线程 | ThreadsTerminated | 当前线程的处于 TERMINATED 状态下的线程数量 |
事件 | LogFatal | 固定时间间隔内的 Fatal 的数量 |
事件 | LogError | 固定时间间隔内的 Error 的数量 |
事件 | LogWarn | 固定时间间隔内的 Warn 的数量 |
事件 | LogInfo | 固定时间间隔内的 Info 的数量 |
HBase集群各系统存活监控项
HBase集群各个系统的进程是否存活是必须也是最基本的监控项。具体有hmaster;regionserver;namenode;datanode;journalnode;zkfc;zookeeper的存活监控。具体判断存活的方式我们可以去判断各系统相应的进程是否存在,也可以去判断各系统的web页面或者jmx页面是否正常。
master监控
数据来源
地址:http://192.168.20.10:60010/jmx?qry=Hadoop:service=HBase,name=Master,sub=Server
{"name" : "Hadoop:service=HBase,name=Master,sub=Server","modelerType" : "Master,sub=Server","tag.liveRegionServers" : "dev02,16020,1539595528256;dev03,16020,1539595527594","tag.deadRegionServers" : "","tag.zookeeperQuorum" : "dev03:2181,dev02:2181","tag.serverName" : "dev01,16020,1539595524290","tag.clusterId" : "0cef1691-05bd-47cd-9a76-1c3abb8e56bf","tag.isActiveMaster" : "true","tag.Context" : "master","tag.Hostname" : "dev01","masterActiveTime" : 1539595528498,"masterStartTime" : 1539595524290,"averageLoad" : 19.5,"numRegionServers" : 2,"numDeadRegionServers" : 0,"clusterRequests" : 203}
指标项说明
指标项 | 说明 |
---|---|
tag.liveRegionServers | 活动的region |
tag.deadRegionServers | 停止的region |
regionserver监控
JMX全称是Java Management Extensions,用于用于Java程序扩展监控和管理项。而许多Hadoop系统都提供了丰富的JMX监控项,所以我们可以直接从HBase系统本身提供的JMX信息获取我们需要的监控项。HBase提供的JMX信息的web页面,地址就是 http://your_hmaster:60010/jmx,JMX web页面的数据格式是json格式。由于信息比较多,也提供了一个qry=name的方式获取具体某一项所需的数据,例如:http://namenode:50070/jmx?qry=hadoop:service=NameNode,name=NameNodeInfo只收集nameinfo相关的数据。 所以我们可以用多线程或多进程同时采集多个指标项,同时也要注意在每个线程处理的时候数据应该是异步的,否则同步可能导致某一个指标项采集阻塞, 使得之后的所有指标项在一个采集周期内无法正常返回数据。
数据来源
每个表每个region的数据
在每个regionserver的jmx页面均可获取到该数据
地址:
http://192.168.20.11:16030/jmx?qry=Hadoop:service=HBase,name=RegionServer,sub=Regions
http://dev03:16030/jmx?qry=Hadoop:service=HBase,name=RegionServer,sub=Regions
{"name" : "Hadoop:service=HBase,name=RegionServer,sub=Regions","modelerType" : "RegionServer,sub=Regions","tag.Context" : "regionserver","tag.Hostname" : "dev02","Namespace_default_table__zw_tailers_region_01f1c83a5930d0183c0fcbad6ec5e066_metric_storeCount" : 1,"Namespace_default_table__zw_tailers_region_01f1c83a5930d0183c0fcbad6ec5e066_metric_storeFileCount" : 0,"Namespace_default_table__zw_tailers_region_01f1c83a5930d0183c0fcbad6ec5e066_metric_memStoreSize" : 408,"Namespace_default_table__zw_tailers_region_01f1c83a5930d0183c0fcbad6ec5e066_metric_storeFileSize" : 0,"Namespace_default_table__zw_tailers_region_01f1c83a5930d0183c0fcbad6ec5e066_metric_compactionsCompletedCount" : 0,"Namespace_default_table__zw_tailers_region_01f1c83a5930d0183c0fcbad6ec5e066_metric_numBytesCompactedCount" : 0,"Namespace_default_table__zw_tailers_region_01f1c83a5930d0183c0fcbad6ec5e066_metric_numFilesCompactedCount" : 0,"Namespace_default_table__zw_tailers_region_175ece78282879943d46d333229e9f1c_metric_storeCount" : 1,"Namespace_default_table__zw_tailers_region_175ece78282879943d46d333229e9f1c_metric_storeFileCount" : 0,"Namespace_default_table__zw_tailers_region_175ece78282879943d46d333229e9f1c_metric_memStoreSize" : 408,"Namespace_default_table__zw_tailers_region_175ece78282879943d46d333229e9f1c_metric_storeFileSize" : 0,"Namespace_default_table__zw_tailers_region_175ece78282879943d46d333229e9f1c_metric_compactionsCompletedCount" : 0,"Namespace_default_table__zw_tailers_region_175ece78282879943d46d333229e9f1c_metric_numBytesCompactedCount" : 0,"Namespace_default_table__zw_tailers_region_175ece78282879943d46d333229e9f1c_metric_numFilesCompactedCount" : 0
}
每个regionserver的监控数据
地址:
http://192.168.20.11:16030/jmx
http://192.168.20.12:16030/jmx
大致分为server、IPC、WAL、Memory、MemoryPool四类,数据较长,以下仅展示一部分
{"name" : "Hadoop:service=HBase,name=RegionServer,sub=Server","modelerType" : "RegionServer,sub=Server","tag.zookeeperQuorum" : "dev03:2181,dev02:2181","tag.serverName" : "dev02,16020,1539696865983","tag.clusterId" : "0cef1691-05bd-47cd-9a76-1c3abb8e56bf","tag.Context" : "regionserver","tag.Hostname" : "dev02","regionCount" : 20,"blockCacheFreeSize" : 400221160,"blockCacheCount" : 2,"blockCacheSize" : 413528,"blockCacheHitCount" : 3,...}
{"name" : "Hadoop:service=HBase,name=RegionServer,sub=IPC","modelerType" : "RegionServer,sub=IPC","tag.Context" : "regionserver","tag.Hostname" : "dev02","queueSize" : 0,"numCallsInGeneralQueue" : 0,"numCallsInReplicationQueue" : 0,...}{"name" : "java.lang:type=Memory","modelerType" : "sun.management.MemoryImpl","ObjectPendingFinalizationCount" : 0,"HeapMemoryUsage" : {"committed" : 62849024,"init" : 65011712,"max" : 1001586688,"used" : 27014176},...}
{"name" : "Hadoop:service=HBase,name=RegionServer,sub=WAL","modelerType" : "RegionServer,sub=WAL","tag.Context" : "regionserver","tag.Hostname" : "dev02","AppendSize_num_ops" : 20,"AppendSize_min" : 130,...}"name" : "java.lang:type=MemoryPool,name=Par Survivor Space","modelerType" : "sun.management.MemoryPoolImpl","Valid" : true,"Name" : "Par Survivor Space","Type" : "HEAP","Usage" : {"committed" : 2162688,"init" : 2162688,"max" : 34406400,"used" : 146208},...}{"name" : "java.lang:type=MemoryPool,name=Par Eden Space","modelerType" : "sun.management.MemoryPoolImpl","Valid" : true,"Name" : "Par Eden Space","Type" : "HEAP","Usage" : {"committed" : 17301504,"init" : 17301504,"max" : 275775488,"used" : 14569520},...}{"name" : "java.lang:type=MemoryPool,name=CMS Old Gen","modelerType" : "sun.management.MemoryPoolImpl","Valid" : true,"Name" : "CMS Old Gen","Type" : "HEAP","Usage" : {"committed" : 43384832,"init" : 43384832,"max" : 691404800,"used" : 12108656},...}
指标项说明
每个表每个region的的指标项说明
第一个xxx代表namespace名
第二个xxx代表表名
第三个xxx代表region的ID
指标项 | 说明 |
---|---|
Namespace_xxx_table_xxx_region_xxx_metric_storeCount | Store个数 |
Namespace_xxx_table_xxx_region_xxx_metric_storeFileCount | StoreFile个数 |
Namespace_xxx_table_xxx_region_xxx_metric_memStoreSize | |
Namespace_xxx_table_xxx_region_xxx_metric_storeFileSize | |
Namespace_xxx_table_xxx_region_xxx_metric_compactionsCompletedCount | 合并完成次数 |
Namespace_xxx_table_xxx_region_xxx_metric_numBytesCompactedCount | 合并文件总大小 |
Namespace_xxx_table_xxx_region_xxx_metric_numFilesCompactedCount | 合并完成文件个数 |
每个regionserver的指标项说明
MemoryPool 值,比如 Par Eden Space 、CMS Perm Gen、Par Survivor Space、CMS Old Gen、Code Cache
指标项 | 类型 | 说明 |
---|---|---|
regionCount | Server | Regionserver管理region数量 |
memStoreSize | Server | Regionserver管理的总memstoresize |
storeFileSize | Server | Regionserver管理的storefile大小 |
staticIndexSize | Server | regionserver所管理的表索引大小 |
storeFileCount | Server | regionserver所管理的storefile个数 |
hlogFileSize | Server | WAL文件大小 |
hlogFileCount | Server | WAL文件个数 |
storeCount | Server | regionserver所管理的store个数 |
storeFileCount | Server | regionserver所管理的storefile个数 |
totalRequestCount | Server | 总请求数 |
readRequestCount | Server | 读请求数 |
writeRequestCount | Server | 写请求数 |
compactedCellsCount | Server | 合并cell个数 |
majorCompactedCellsCount | Server | 大合并cell个数 |
flushedCellsSize | Server | flush到磁盘的大小 |
splitRequestCount | Server | region分裂请求次数 |
splitSuccessCount | Server | region分裂成功次数 |
slowGetCount | Server | 请求完成时间超过1000ms的次数 |
numOpenConnections | IPC | 该regionserver打开的连接数 |
numActiveHandler | IPC | rpc handler数 |
receivedBytes | IPC | 收到数据量 |
sentBytes | IPC | 发出数据量 |
SyncTime_mean | WAL | WAL写hdfs的平均时间 |
HeapMemoryUsage>>used | Memory | 堆内存使用量 |
Par Survivor Space>>CollectionUsage>>used | MemoryPool | Survivor内存大小 |
Par Eden Space>>CollectionUsage>>used | MemoryPool | Eden区使用空间大小 |
CMS Old Gen>>CollectionUsage>>used | MemoryPool | 老年代内存大小 |
hbase监控工具
hbase原生支持ganglia,如果发送给zabbix,需要自己开发获取其中的数据,解析出来。数据的格式一般是最外层一个beans的key,里面的value是一个jsonarray。arrayobject里面可能包含jsonobjec或者jsonarray。
目前测试集群使用jmxtrans+influxdb+granafa套件监控。
监控地址:http://dev01:3000/login
原文链接:
https://www.cnblogs.com/fengzzi/p/10033728.html
其他借鉴:
https://www.jianshu.com/p/5623026b1dd2
转载于:https://www.cnblogs.com/yjt1993/p/11477206.html
hbase 监控指标项相关推荐
- 【Kafka】kafka 监控指标项
1.概述 源码中有文档字: kafka-0.10/docs/ops.html 路径下 监控配置 kafka基本分为broker.producer.consumer三个子项,每一项的启动都需要用到 ...
- 【kafka】kafka 如何开启 kafka.consumer的监控指标项
文章目录 1.概述 2.最终解决 2.1 kafka 0.10版本 2.2 kafka 2.x版本 2.3 程序 2.4 获取 3.扩展 1.概述 在网上看到jmx中是有消费组的相关信息的.如下图 正 ...
- 大数据平台监控指南(附技术选型、监控指标)
" 如果你是一个经验丰富的运维开发人员,那么你一定知道ganglia.nagios.zabbix.elasticsearch.grafana等组件.这些开源组件都有着深厚的发展背景及功能价值 ...
- grafana监控linux,Grafana –美观、强大的可视化监控指标展示工具 | Linux大学
在之前的InfluxDB系列教程 中,我们给大家介绍了当下流行的一款时序数据库--InfluxDB. 接下来给大家带来一款强大的,与InfluxDB搭配使用的前端指标项展示项目--Grafana. G ...
- 服务器文件数量监控,服务器监控指标有哪些?好文章一定要收藏
CPU相关监控项 以下为CPU使用率相关监控指标,可参考Linux的top命令来理解各项指标含义.监控项名称监控项含义单位说明 Host.cpu.idle当前空闲CPU百分比% Host.cpu.sy ...
- 可视化监控指标展示工具 grafana 简介
目录 1.概述--美观.强大的可视化监控指标展示工具 1.1基本概念 2.全面瓦解 2.1登录grafana 2.2数据源配置 2.3仪表盘配置 3.特殊配置 3.1变量之interval 3.2变量 ...
- 监视mysql 哪些指标_MySQL 监控指标
为了排查问题,对数据库的监控是必不可少的,在此介绍下 MySQL 中的常用监控指标. 简介 MySQL 有多个分支版本,常见的有 MySQL.Percona.MariaDB,各个版本所对应的监控项也会 ...
- 阿里P8架构师谈:高并发网站的监控系统选型、比较、核心监控指标
在高并发分布式环境下,对于访问量大的业务.接口等,需要及时的监控网站的健康程度,防止网站出现访问缓慢,甚至在特殊情况出现应用服务器雪崩等场景,在高并发场景下网站无法正常访问的情况,这些就会涉及到分布式 ...
- 智能巡检云监控指标的实践
简介:在真实的企业生产中,对研发和运维的同学都会面临一个十分繁复且艰难的问题,就是对指标的监控和告警.具体我枚举一些特定的问题请对号入座,看看在算力爆炸的时代能否通过算力和算法一起解决! 背景介绍 在 ...
最新文章
- Linux内核实现多路镜像流量聚合和复制
- 智能家居数据库设计_设计更智能的数据表
- python3.5中import sqlite3报错:ImportError: No module named _sqlite3
- 【HTTP】POST 与 PUT 方法区别
- 使用waitgroup控制协程退出
- PAT 1003 Emergency
- exec 直接赋值_了解 JavaScript 解构赋值
- 其实我只想设置客户端实现跨域请求
- python 数据库框架peewee_Python:轻量级 ORM 框架 peewee 用法详解之——增删改查
- HBase Java API类介绍
- UIStepper (加减符号)(步进控件)
- 2018-01-20 HDU 4609 FFT 快速傅里叶变换
- Oracle11g-linux安装
- 〖Python 数据库开发实战 - Python与MySQL交互篇⑧〗- 项目实战 - 开发新闻管理系统(项目展示)
- Unexpected error while running MyBatis Generator. Cannot resolve classpath entry: mysql-connector-ja
- (一)安全测试基础:安全测试的内容
- 单片机 | 51单片机原理
- 误删计算机桌面图标怎么恢复,大神为你解答win7系统恢复误删桌面计算机图标的步骤...
- Java 并发在项目中的使用场景
- 第24条:消除非受检警告
热门文章
- solr4.3纠错源码学习二——基于主索引
- .Net给图片添加水印效果
- 提醒:安装MS11-100 .NET Framework高危漏洞补丁一定要所有服务器一起安装
- 【嵌入式】非操作系统下GPIO口控制器及LED灯编程
- 【C++】智能指针(auto_ptr,shared_ptr,unique_ptr)及 shared_ptr 强引用原理
- mysql存储过程in_在MySQL存储过程中使用WHERE IN()
- 语言栈十进制转十六进制_十进制数转二进制、八进制、十六进制等任意进制_C语言「抄作业」...
- 设计一个60T数据仓库及大数据分析平台,医院数字化该怎么做?
- docker基础学习中遇到的一些问题
- js对象写入键值对_41 利用字面量创建对象