Apache HBase Monitoring and Performance Management
HBase Monitoring is an important part of Instana’s automated microservices application monitoring. An open-source, distributed, non-relational database written in Java, Apache HBase is leverages Hadoop and HDFS to provide the following:
- Linear and modular scalability
- Strictly consistent reads and writes
- Automatic and configurable sharding of tables
- Automatic failover support between RegionServers
- Convenient base classes for backing Hadoop MapReduce jobs with Apache HBase tables
- Easy to use Java API for client access
- Block cache and Bloom Filters for real-time queries
- Query predicate push down via server side Filters
- Thrift gateway and a REST-ful Web service that supports XML, Protobuf, and binary data encoding options
- Support for exporting metrics via the Hadoop metrics subsystem to files or via JMX
Configuring Instana’s Apache HBase Monitoring
Apache HBase monitoring is part of Instana’s automated Application Performance Monitoring solution. When the Instana agent is deployed into an infrastructure containing Apache HBase, it automatically detects the technology and configures itself to monitor Hbase along with its configuration data and performance metrics. No human setup or configuration is required.
Apache HBase Performance and Configuration Monitoring
After Instana automatically deploys its Apache HBase monitoring, it will immediately map out HBase’s infrastructure. The Instana agent sends all data back to our Dynamic Graph model, which stores and contextualizes all collected monitoring data. Typical configuration data collected are:
- Region Servers
- Dead Region Servers
- Cluster ID
- Active Master
- Server Name
Some example metrics collected are:
- Master Server
A complete list is available in the Instana Apache HBase Monitoring Documentation.
Apache HBase Monitoring – Built-in Health Alerts
Instana tracks Apache HBase Key Performance Indicators to infer a health state about HBase within the context of the monitored environment. Instana’s Dynamic Graph contains the contextual information needed to determine the root cause of HBase problems.
Instana comes with multiple predefined health rules based upon expert knowledge and best practices. A few of these built in health rules are:
- Difference between number of stores and number of store files is significant
- Region server block cache hit ratio is low
- Significant increase in compaction or flush queue length
If there is an issue with Apache HBase health or performance, the Instana UI will flag the issue and change the health color of the instance. If service is impacted, a Service Incident will also be created and an alert will be sent. Performance issues are correlated with all developer changes to help determine root cause.
Understanding Region Server Performance
The Region Servers are part of the read and write path so it’s important to understand their health at any given time. Instana automatically collects the following HBase Region Server performance monitoring metrics:
- Store File
- Block Cache
Understanding Apache HBase JVM Performance Metrics
Since Apache HBase is written in Java, a complete understanding of the overall system’s performance health includes JVM monitoring, which also happens automatically – and includes built in health rules to detect issues with JVM memory, cache, and deadlocks.