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 NameUnitDescription
hbase_Server_averageLoadServer Average LoadAverage load of the server
hbase_Server_clusterRequestsServer Cluster Requestsrequests,Number of cluster requests
hbase_Server_numDeadRegionServersServer Num Dead Region ServersNumber of dead region servers
hbase_Server_numRegionServersServer Num Region ServersNumber of region servers
hbase_Jvm_ThreadsRunnableJvm Threads RunnableThreads,Number of threads being executed in the JVM
hbase_Jvm_ThreadsTimedWaitingJvm Threads Timed WaitingThreads,Number of threads waiting for another thread to perform an action for a specified waiting time
hbase_Jvm_ThreadsBlockedJvm Threads BlockedThreads,Number of threads that are blocked waiting for a monitor lock
hbase_Jvm_ThreadsWaitingJvm Threads WaitingThreads,Number of threads waiting for another thread to perform a particular action
hbase_Jvm_MemHeapUsedMJvm Mem Heap UsedmMBHeap memory used
hbase_Jvm_MemHeapCommittedMJvm Mem Heap CommittedmMBHeap memory used
hbase_IPC_receivedBytesIpc Received BytesbytesNumber of bytes of recieved data in the call queues
hbase_IPC_sentBytesIpc Sent BytesbytesNumber of bytes of sent data in the call queues
hbase_IPC_OutOfOrderScannerNextExceptionIpc Out Of Order Scannernext ExceptionrequestsNumber of requests that resulted in the Out Of Order Scanner Next Exception
hbase_IPC_UnknownScannerExceptionIpc UnknownscannerexceptionrequestsNumber of requests that resulted in the Unknown Scanner Exception
hbase_IPC_RegionTooBusyExceptionIpc RegiontoobusyexceptionrequestsNumber of requests that resulted in the Region Too Busy Exception
hbase_IPC_numOpenConnectionsIpc NumopenconnectionsconnectionsNumber of open connections at the RPC layer
hbase_IPC_TotalCallTime_num_opsIpc Totalcalltime Num OpssecondsTotal call time, including both, queued and processing time
hbase_IPC_numActiveHandlerIpc NumactivehandlerTotal number of active rpc handlers
hbase_IPC_numCallsInReplicationQueueIpc NumcallsinreplicationqueueNumber of calls in the replication call queue waiting to run
hbase_RegionServer_blockCacheCountRegionserver BlockcachecountNumber of blocks in the block cache
hbase_RegionServer_blockCacheEvictionCountRegionserver BlockcacheevictioncountCount of the number of blocks evicted from the block cache Not including blocks evicted because of HFile removal
hbase_RegionServer_blockCacheFreeSizeRegionserver BlockcachefreesizebytesSize of the block cache that is not occupied
hbase_RegionServer_blockCacheExpressHitPercentRegionserver BlockcacheexpresshitpercentpercentPercent of the time that requests with the cache turned on hit the cache
hbase_RegionServer_blockCacheHitCountRegionserver BlockcachehitcountCount of the hit on the block cache
hbase_RegionServer_blockCacheCountHitPercentRegionserver BlockcachecounthitpercentpercentPercent of block cache requests that are hits
hbase_RegionServer_blockCacheMissCountRegionserver BlockcachemisscountNumber of cache requests that are missed
hbase_RegionServer_blockCacheSizeRegionserver BlockcachesizebytesSize of the block cache
hbase_RegionServer_slowGetCountRegionserver SlowgetcountNumber of Gets that took over 1000ms to complete
hbase_RegionServer_slowPutCountRegionserver SlowputcountNumber of batches containing puts that took over 1000ms to complete
hbase_RegionServer_slowIncrementCountRegionserver SlowincrementcountNumber of increments that took over 1000ms to complete
hbase_RegionServer_slowDeleteCountRegionserver SlowdeletecountNumber of batches containing deletes that took over 1000ms to complete
hbase_FileSystem_HlogSplitSize_meanFilesystem Hlogsplitsize MeansecondsAverage time taken to split the total size of an HLog file
hbase_FileSystem_HlogSplitSize_minFilesystem Hlogsplitsize MinsecondsMinimum time taken to split the total size of an HLog file
hbase_FileSystem_HlogSplitSize_maxFilesystem Hlogsplitsize MaxsecondsMaximum time taken to split the total size of an HLog file
hbase_FileSystem_HlogSplitSize_num_opsFilesystem Hlogsplitsize Num OpssecondsSize of the write-ahead log files that were split
hbase_FileSystem_HlogSplitTime_meanFilesystem Hlogsplittime MeansecondsAverage time taken to split the total size of a write-ahead log file
hbase_FileSystem_HlogSplitTime_minFilesystem Hlogsplittime MinsecondsMinimum time taken to split the total size of a write-ahead log file
hbase_FileSystem_HlogSplitTime_maxFilesystem Hlogsplittime MaxsecondsMaximum time taken to split the write-ahead log file after a restart
hbase_FileSystem_HlogSplitTime_num_opsFilesystem Hlogsplittime Num OpssecondsTime taken to split the write-ahead log files