HBase Plugin

HBase is an open source, non-relational, distributed database. For more information visit http://hbase.apache.org/.

Discovery

Even if the HBase plugin is not configured, Stackdriver Monitoring will discover HBase services running in your Cloud Platform project by:

  • searching instance names for hbase
  • checking for ports opened to 60201 via firewall rules

The services discovered are displayed on the HBase Services page in the Resources menu. After you install the monitoring agent and configure the HBase plugin on your instances, Stackdriver Monitoring populates the HBase Services page with inventory and metrics.

Configuring Stackdriver Monitoring to monitor HBase

After you install the monitoring agent, use the following instructions to configure the HBase plugin on your instances. For instructions on upgrading from the legacy jmxtrans monitoring, see Upgrading from jmxtrans below.

Prerequisites

The HBase plugin requires version 5.5.0-257 or later of the monitoring agent. To update the agent, see Upgrading the agent.

Enabling the HBase monitoring plugin

HBase is monitored via JMX. Stackdriver Monitoring has separate configurations for monitoring HBase versions 0.98 and above, and versions 0.95 and below. It also supports monitoring HBase 0.98 and above running in a standalone configuration (all services on the same port).

On your VM instance, download the appropriate configuration file from the GitHub configuration repository based on your HBase version and place it in the directory /opt/stackdriver/collectd/etc/collectd.d/:

0.98+

Download hbase-098.conf into /opt/stackdriver/collectd/etc/collectd.d/:

(cd /opt/stackdriver/collectd/etc/collectd.d/ && curl -O https://raw.githubusercontent.com/Stackdriver/stackdriver-agent-service-configs/master/etc/collectd.d/hbase-098.conf)

0.98+ standalone

Download hbase-098-standalone.conf into /opt/stackdriver/collectd/etc/collectd.d/:

(cd /opt/stackdriver/collectd/etc/collectd.d/ && curl -O https://raw.githubusercontent.com/Stackdriver/stackdriver-agent-service-configs/master/etc/collectd.d/hbase-098-standalone.conf)

<= 0.95

Download hbase-095.conf into /opt/stackdriver/collectd/etc/collectd.d/:

(cd /opt/stackdriver/collectd/etc/collectd.d/ && curl -O https://raw.githubusercontent.com/Stackdriver/stackdriver-agent-service-configs/master/etc/collectd.d/hbase-095.conf)

If you use Thrift, see Enabling Thrift monitoring below.

The downloaded plugin configuration file assumes that your HBase master is configured to accept JMX connections on port 10101 and your HBase regionserver in non-standalone mode is configured to accept JMX connections on port 10102. If you have configured HBase with different JMX ports, edit the file and follow the instructions to change the JMX port settings.

After adding the configuration files, restart the monitoring agent by running the following command:

sudo service stackdriver-agent restart

Information on other plugin configuration options can be found at collectd.org.

Enabling Thrift monitoring

Thrift is a cross-language services framework commonly used with HBase.

If you wish to monitor Thrift metrics, download hbase-thrift.conf into /opt/stackdriver/collectd/etc/collectd.d/ in addition to the HBase plugin configuration:

(cd /opt/stackdriver/collectd/etc/collectd.d/ && curl -O https://raw.githubusercontent.com/Stackdriver/stackdriver-agent-service-configs/master/etc/collectd.d/hbase-thrift.conf)

What is monitored

The HBase plugin monitors the following metrics:

  • blockCacheExpressCachingRatio: The cache-hit ratio for reads configured to look in the cache.
  • callQueueLength: Point in time of the RegionServer call queue.
  • compactionQueueLength: Point in time length of the compaction queue.
  • memstoreSize: Point in time sum of all memstore sizes in the RegionServer.
  • slowHLogAppendCount: Number of slow HLog append writes for the RegionServer.
  • usedHeap: Heap space used by the RegionServer.

Stackdriver Monitoring also monitors the following basic JVM metrics:

  • Active JVM Threads
  • JVM Heap memory usage
  • JVM Non-Heap memory usage
  • JVM Open File Descriptors
  • JVM Garbage Collection Count

Upgrading from jmxtrans

If you are currently running a VM with the legacy jmxtrans monitoring, you need to upgrade all of the Java-based plugins, namely Cassandra, HBase, Kafka, or Tomcat. After you've upgraded those plugins and restarted the stackdriver-agent service, you can shut down the jmxtrans process. You can then uninstall jmxtrans by removing the /mnt/jmxtrans tree and the /etc/init.d/jmxtrans script (if the script is present).

Send feedback about...

Stackdriver Monitoring