zabbix监控检测hbase的region一致性

一、背景环境

1、http://localhost:16010/master-status查看hbase环境发现是正常的。
2、zabbix监控hbase的hmaster和hregion也是正常的
但是有时候会出现region的不一致性问题,这个我们也需要进行监控。

二、监控方案
  • shell脚本获取status的值,如果是OK则表示region是一一致性,如果是INCONSISTENT,表示有不一致问题。
  • 在zabbix-agent.d目录下创建自定义监控项
  • 在zabbix界面中创建item,graph,trigger.

1、shell脚本内容
注意:直接写hbase hbck|grep "Status"|awk '{print $2}'
这里执行hbase hbck 需要大概1分钟的时间,由于zabbix执行脚本最长时间为30秒,所以这里如果直接这样写指令,zabbix会报超时的错误,所以先将hbase hbck打印的日志到一个文件中

脚本一中的内容

#这里是执行hbase hbck 将打印在终端的内容写到txt文件中,然后脚本二再从这个txt中获取status的值。
cd /opt/software/shell
/opt/hbase/bin/hbase hbck >wyl.txt

脚本二中的内容

注意 这里由于调用wyl.txt文件中的日志,进而获取status的值,但是由于某个时间内,wyl.txt中的日志是脚本一正在往里面写,但是又没有写全,这时候脚本二获取到的是空值,所以脚本二的判断条件要注意一下。

#zabbix会调用这个脚本,调用这个脚本的时候就不会有打印的日志。
cd /opt/software/shell
status=`cat wyl.txt |grep "Status"|awk '{print $2}'`
if [ $status='INCONSISTENT' ]
then
  echo 0
else
  echo 1
fi 

2、创建zabbix自定义项:

[root@namenode2 zabbix_agentd.d]# cat check_hbase_status.conf
# hbck获取status的值
UserParameter=hbase.hbck.status,sh /opt/software/shell/hbase_status.sh

3、重启zabbix-agent

service zabbix-agent restart

4、zabbix-get端获取监控的值

[root@kafzook1 opt]# zabbix_get -s 192.168.14.130 -k hbase.hbck.status
1

5、在zabbix界面进行监控item,graph,trigger.
这里之前写过很多次,这里就不去创建了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值