Home Directory Plugins Clustering and High-Availability check_hbase_tables_thrift.pl (Advanced Nagios Plugins Collection)

Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com


Remember Me

Directory Tree

check_hbase_tables_thrift.pl (Advanced Nagios Plugins Collection)

0 votes
Compatible With
  • Nagios 1.x
  • Nagios 2.x
  • Nagios 3.x
  • Nagios XI
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
Checks given HBase table(s) via the HBase Thrift Server API
Part of the Advanced Nagios Plugins Collection, download it here:


./check_hbase_tables_thrift.pl --help

Nagios Plugin to check given HBase table(s) via the HBase Thrift Server API


1. Table exists
2. Table is enabled
3. Table has Columns
4. Table's regions are all assigned to regionservers

Performance using the Thrift Server is much faster than trying to leverage the HBase API using JVM languages or the Rest API which lacks good structure for parsing and is slower as well.

Requires the CPAN Thrift perl module

HBase Thrift bindings were generated using Thrift 0.9.0 on CDH 4.3 (HBase 0.94.6-cdh4.3.0) CentOS 6.4 and placed under lib/Hbase

Known Issues/Limitations:

1. The HBase Rest API doesn't seem to expose details on -ROOT- and .META. regions so the code only checks they are present, enabled and we can get Column descriptors for them
2. The HBase Thrift Server takes around 10 seconds to time out when there are no regionservers online, resulting in "UNKNOWN: self timed out after 10 seconds" if the timeout is too short and "CRITICAL: failed to get regions for table '$tablename': Thrift::TException: TSocket: timed out reading 4 bytes from $host:$port" otherwise. For this reason the default timeout on this plugin is set to 20 seconds instead of the usual 10 to try to get a better error message to show what specific call has failed but you'll probably need to increase your Nagios service_check_timeout in nagios.cfg to see it

usage: check_hbase_tables_thrift.pl [ options ]

-H --host HBase Thrift server address to connect to
-P --port HBase Thrift server port to connect to (defaults to 9090)
-T --tables Table(s) to check. This should be a list of user tables, not -ROOT- or .META. catalog tables which are checked additionally. If no tables are given then only -ROOT- and .META. are checked
-h --help Print description and usage options
-t --timeout Timeout in secs (default: 20)
-v --verbose Verbose mode
-V --version Print version and exit