
Clustering and High-Availability
check_hbase_tables.pl (Advanced Nagios Plugins Collection)
Description:
Checks given HBase table(s) via the HBase Thrift Server API
Checks:
1. Table exists
2. Table is enabled
3. Table has Columns
4. Table’s regions are all assigned to regionservers
Current Version
Last Release Date
October 3, 2013
Compatible With
- Nagios 1.x
- Nagios 2.x
- Nagios 3.x
- Nagios XI
Owner
Download URL
Project Notes
Part of the Advanced Nagios Plugins Collection, download it here:
https://github.com/harisekhon/nagios-plugins
./check_hbase_tables.pl --help
Nagios Plugin to check given HBase table(s) via the HBase Thrift Server API
Checks:
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.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
Reviews
(0)
Add a Review
Add a Review
You must be logged in to submit a review.
Thank you for your review!
Your review has been submitted and is pending approval.
Recommend
To:
From:
Thank you for your recommendation!
Your recommendation has been sent.
Page Sections
Project Stats
Rating
0 (0)
Favorites
0
Views
29,300