在 HBase 集群中,使用 Prometheus 监控时通常会关注以下类型的性能指标:
Master 核心指标:
- 进程存在性(进程必须存在且运行正常)
- Master 进程启动时间(
masterStartTime
,应大于10秒) - 主备状态(
haState
,应为1表示主或0表示备) - 通用队列 RPC 请求数(
numCallsInPriorityQueue
,应小于或等于1000) - 复制队列 RPC 请求数(
numCallsInReplicationQueue
,同上) - 当前打开的连接个数(
numOpenConnections
,应小于或等于1000) - 当前 Dead 的 RegionServer 个数(
numDeadRegionServers
,应小于或等于0)
RegionServer 核心指标:
- 进程存在性(进程必须存在且运行正常)
- 通用队列 RPC 请求数(同 Master 指标)
- JVM 堆内内存使用率(
MemHeapUsedM/MemHeapMaxM
,应小于60%) - 可用的 VCore 占比(
AvailableVCores / (AllocatedVCores + AvailableVCores )
,应小于90%) - 可用的内存占比(
AvailableGB / (AllocatedGB + AvailableGB )
,同上) - 写入 DN 的字节速率(
BytesWrittenMB
,根据机器网卡带宽调整) - 读取 DN 的字节速率(
BytesReadMB
,同上) - 磁盘故障次数(
VolumeFailures
,应小于或等于0) - 网络错误统计(
DatanodeNetworkErrors
,应小于或等于0) - 磁盘使用率(应小于70%)
- 磁盘读写的
await
(应小于1ms)
延迟和吞吐量指标:
- 读延迟(Read Latency)和写延迟(Write Latency):衡量从 HBase 读取或写入数据所需的时间
- RPC 延迟(RPC Latency):衡量 HBase 与客户端之间 RPC 调用所需的时间
- 读吞吐量(Read Throughput)和写吞吐量(Write Throughput):衡量从 HBase 读取或写入数据的速率
资源利用率指标:
- 存储空间利用率(Storage Utilization)和内存利用率(Memory Utilization):衡量 HBase 存储集群中使用的存储或内存占总资源的比例
JVM 使用信息:
- 监控 JVM 的堆内存使用情况,包括堆内存使用量和最大堆内存大小
功能性信息:
- 比如 Compaction Queue、Store Files 个数等
通过 Prometheus 抓取这些指标后,可以使用 Grafana 进行数据可视化,帮助管理员实时监控 HBase 集群的性能和健康状况。同时,可以设置告警规则,当某些关键指标超出预设阈值时及时通知管理员采取措施。