CentOS上HBase如何监控告警
导读:一、HBase自带监控工具 HBase Web UI:通过浏览器访问Master节点的http://<master-host>:16010/master-status,可查看集群整体状态(如健康度、RegionServer数量...
一、HBase自带监控工具
- HBase Web UI:通过浏览器访问Master节点的
http://< master-host> :16010/master-status
,可查看集群整体状态(如健康度、RegionServer数量)、Region分布及各RegionServer的负载详情(CPU、内存占用);每个RegionServer还有独立的UI(http://< regionserver-host> :16030
),用于监控其本地指标。 - HBase Shell命令:使用
status 'detailed'
查看集群详细状态(包括RegionServer的线程数、请求处理数);describe 'table_name'
查看表的Schema及存储属性;list_regions 'table_name'
查看表的Region分布情况;compaction_state
监控Compaction任务的执行状态。 - HBase Metrics:HBase通过JMX暴露大量性能指标(如MemStore使用率、BlockCache命中率、Compaction队列长度),可通过
jconsole
或curl http://< master-host> :16010/jmx
查看;也可配置Metrics Sink将指标输出到文件(如hadoop-metrics2-hbase.properties
中设置*.sink.file.class=org.apache.hadoop.metrics2.sink.FileSink
)。
二、第三方监控工具(常用组合)
- Prometheus + Grafana:
- 配置步骤:① 部署Prometheus Server,修改
prometheus.yml
添加HBase Exporter作为数据源(scrape_configs
中配置HBase Exporter的地址);② 部署HBase Exporter(需编译或下载二进制文件,配置hbase-site.xml
路径),用于将HBase Metrics转换为Prometheus可采集的格式;③ 部署Grafana,添加Prometheus作为数据源,导入HBase监控面板(如官方或社区提供的hbase-grafana-dashboard.json
),展示MemStore使用率、BlockCache命中率等关键指标;④ 配置Alertmanager(Prometheus组件),设置告警规则(如hbase_regionserver_memStoreSize / hbase_regionserver_memStoreLimit > 0.8
表示MemStore即将满),并通过邮件、Slack等方式发送通知。
- 配置步骤:① 部署Prometheus Server,修改
- Zabbix:
- 配置步骤:① 在Zabbix Server上安装Zabbix Agent;② 配置Agent的
zabbix_agentd.conf
,添加HBase监控项(如UserParameter=hbase.regionserver.memstore.size[*], curl -s http://localhost:16010/jmx?qry=Hadoop:service=HBase,name=RegionServer,sub=Server& attr=memStoreSize
);③ 在Zabbix Web端创建主机(HBase Master/RegionServer),关联HBase模板(如Template App HBase
),设置触发器(如{ HBase:regionserver.memstore.size.avg(5m)} > 0.8
),触发告警。
- 配置步骤:① 在Zabbix Server上安装Zabbix Agent;② 配置Agent的
- Nagios:
- 配置步骤:① 安装Nagios Core及
check_hbase.py
插件(可从GitHub获取);② 修改Nagios配置文件(services.cfg
),添加HBase服务检查(如check_command check_hbase_regionserver!/var/log/hbase/regionserver.log
);③ 设置告警阈值(如RegionServer CPU使用率超过80%),通过邮件或短信通知管理员。
- 配置步骤:① 安装Nagios Core及
三、日志告警配置
- ELK Stack(Elasticsearch + Logstash + Kibana):
- 配置步骤:① 使用Logstash收集HBase日志(RegionServer、HMaster日志,默认路径为
/var/log/hbase/
),解析日志中的关键字(如ERROR
、WARN
);② 将解析后的日志存储到Elasticsearch;③ 通过Kibana创建Dashboard展示日志趋势,并设置告警规则(如ERROR
日志数量在1分钟内超过10条),通过邮件或钉钉发送通知。
- 配置步骤:① 使用Logstash收集HBase日志(RegionServer、HMaster日志,默认路径为
四、关键监控指标与阈值设置
- 核心指标:
- 内存:MemStore使用率(
hbase_regionserver_memStoreSize / hbase_regionserver_memStoreLimit
,阈值建议≤0.8)、BlockCache命中率(hbase_regionserver_blockCacheHitCount / (hbase_regionserver_blockCacheHitCount + hbase_regionserver_blockCacheMissCount)
,阈值建议≥0.85); - RegionServer负载:CPU使用率(阈值建议≤70%)、请求延迟(
hbase.regionserver.handler.count
,阈值建议≤100ms/请求)、Compaction队列长度(hbase.regionserver.compactionQueueLength
,阈值建议≤100); - 存储:HFile数量(
hbase.regionserver.totalHFiles
,阈值建议≤10万)、存储空间使用率(hbase.regionserver.storeFileSize / hbase.regionserver.totalStorage
,阈值建议≤80%); - Master状态:Region平衡次数(
hbase.master.balancer.movesExecuted
,阈值建议≤10次/分钟)、Region分裂次数(hbase.regionserver.regionSplitCount
,阈值建议≤5次/小时)。
- 内存:MemStore使用率(
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS上HBase如何监控告警
本文地址: https://pptw.com/jishu/732009.html