Apache HBase is an open-source non-relational distributed database modeled after Google’s Bigtable and written in Java. It is developed as part of Apache Software Foundation’s Apache Hadoop project and runs on top of HDFS or Alluxio, providing Bigtable-like capabilities for Hadoop.

Prerequisites

  1. In standard installation (extracting the tar), specify the JMX Port using the environment variable.
  2. Add the following to ~/.bashrc
HBASE_HOME=<directory where hbase is extracted>
export HBASE_CONF_DIR=$HBASE_HOME/conf
  1. Go to the configuration directory in the HBase folder.
  • In the file hbase-env.sh uncomment line JAVA_HOME and add the appropriate Java path.
  • uncomment the following lines to enable JMX:
    export HBASE_JMX_BASE="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
        
    export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=<port>"
        
    export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=<port>"
    
  1. For Virtual Machines, install the Linux Agent.

Configuring the credentials

Configure the credentials in the directory /opt/opsramp/agent/conf/app.d/creds.yaml

hbase:
- name: hbase
  user: <username>
  pwd: <Password>
  encoding-type: plain
  labels:
    key1: val1
    key2: val2

Configuring the application

Virtual machine

Configure the application in the directory /opt/opsramp/agent/conf/app/discovery/auto-detection.yaml

- name: hbase
  instance-checks:
    process-check:
      - hbase
    port-check:
      - 60010
  mon-type: "jmx"
  misc:
    jmx-port: "7199"

Docker environment

Configure the application in the directory /opt/opsramp/agent/conf/app/discovery/auto-container-detection.yaml

- name: hbase
  container-checks:
    image-check:
      - hbase
    port-check:
      - 60010
  mon-type: "jmx"
  misc:
    jmx-port: "7199"

Kubernetes environment

Configure the application in config.yaml

- name: hbase
  container-checks:
    image-check:
      - hbase
    port-check:
      - 60010
  mon-type: "jmx"
  misc:
    jmx-port: "7199"
  • Adjust the jmx-port according to the jmx port used.
  • jmx-port is required to enable remote JMX.

Validate

Go to Resources under the Infrastructure tab to check if your resources are onboarded and the metrics are collected.

Metrics

OpsRamp MetricMetric Display NameUnit
hbase_Server_averageLoad

Average load of the server
Server Average Load
hbase_Server_clusterRequests

Number of cluster requests
Server Cluster Requestsrequests,
hbase_Server_numDeadRegionServers

Number of dead region servers
Server Num Dead Region Servers
hbase_Server_numRegionServers

Number of region servers
Server Num Region Servers
hbase_Jvm_ThreadsRunnable

Number of threads being executed in the JVM
Jvm Threads RunnableThreads,
hbase_Jvm_ThreadsTimedWaiting

Number of threads waiting for another thread to perform an action for a specified waiting time
Jvm Threads Timed WaitingThreads,
hbase_Jvm_ThreadsBlocked

Number of threads that are blocked waiting for a monitor lock
Jvm Threads BlockedThreads,
hbase_Jvm_ThreadsWaiting

Number of threads waiting for another thread to perform a particular action
Jvm Threads WaitingThreads,
hbase_Jvm_MemHeapUsedM

Heap memory used
Jvm Mem Heap UsedmMB
hbase_Jvm_MemHeapCommittedM

Heap memory used
Jvm Mem Heap CommittedmMB
hbase_IPC_receivedBytes

Number of bytes of recieved data in the call queues
Ipc Received Bytesbytes
hbase_IPC_sentBytes

Number of bytes of sent data in the call queues
Ipc Sent Bytesbytes
hbase_IPC_OutOfOrderScannerNextException

Number of requests that resulted in the Out Of Order Scanner Next Exception
Ipc Out Of Order Scannernext Exceptionrequests
hbase_IPC_UnknownScannerException

Number of requests that resulted in the Unknown Scanner Exception
Ipc Unknownscannerexceptionrequests
hbase_IPC_RegionTooBusyException

Number of requests that resulted in the Region Too Busy Exception
Ipc Regiontoobusyexceptionrequests
hbase_IPC_numOpenConnections

Number of open connections at the RPC layer
Ipc Numopenconnectionsconnections
hbase_IPC_TotalCallTime_num_ops

Total call time, including both, queued and processing time
Ipc Totalcalltime Num Opsseconds
hbase_IPC_numActiveHandler

Total number of active rpc handlers
Ipc Numactivehandler
hbase_IPC_numCallsInReplicationQueue

Number of calls in the replication call queue waiting to run
Ipc Numcallsinreplicationqueue
hbase_RegionServer_blockCacheCount

Number of blocks in the block cache
Regionserver Blockcachecount
hbase_RegionServer_blockCacheEvictionCount

Count of the number of blocks evicted from the block cache Not including blocks evicted because of HFile removal
Regionserver Blockcacheevictioncount
hbase_RegionServer_blockCacheFreeSize

Size of the block cache that is not occupied
Regionserver Blockcachefreesizebytes
hbase_RegionServer_blockCacheExpressHitPercent

Percent of the time that requests with the cache turned on hit the cache
Regionserver Blockcacheexpresshitpercentpercent
hbase_RegionServer_blockCacheHitCount

Count of the hit on the block cache
Regionserver Blockcachehitcount
hbase_RegionServer_blockCacheCountHitPercent

Percent of block cache requests that are hits
Regionserver Blockcachecounthitpercentpercent
hbase_RegionServer_blockCacheMissCount

Number of cache requests that are missed
Regionserver Blockcachemisscount
hbase_RegionServer_blockCacheSize

Size of the block cache
Regionserver Blockcachesizebytes
hbase_RegionServer_slowGetCount

Number of Gets that took over 1000ms to complete
Regionserver Slowgetcount
hbase_RegionServer_slowPutCount

Number of batches containing puts that took over 1000ms to complete
Regionserver Slowputcount
hbase_RegionServer_slowIncrementCount

Number of increments that took over 1000ms to complete
Regionserver Slowincrementcount
hbase_RegionServer_slowDeleteCount

Number of batches containing deletes that took over 1000ms to complete
Regionserver Slowdeletecount
hbase_FileSystem_HlogSplitSize_mean

Average time taken to split the total size of an HLog file
Filesystem Hlogsplitsize Meanseconds
hbase_FileSystem_HlogSplitSize_min

Minimum time taken to split the total size of an HLog file
Filesystem Hlogsplitsize Minseconds
hbase_FileSystem_HlogSplitSize_max

Maximum time taken to split the total size of an HLog file
Filesystem Hlogsplitsize Maxseconds
hbase_FileSystem_HlogSplitSize_num_ops

Size of the write-ahead log files that were split
Filesystem Hlogsplitsize Num Opsseconds
hbase_FileSystem_HlogSplitTime_mean

Average time taken to split the total size of a write-ahead log file
Filesystem Hlogsplittime Meanseconds
hbase_FileSystem_HlogSplitTime_min

Minimum time taken to split the total size of a write-ahead log file
Filesystem Hlogsplittime Minseconds
hbase_FileSystem_HlogSplitTime_max

Maximum time taken to split the write-ahead log file after a restart
Filesystem Hlogsplittime Maxseconds
hbase_FileSystem_HlogSplitTime_num_ops

Time taken to split the write-ahead log files
Filesystem Hlogsplittime Num Opsseconds