Go to file
2020-06-17 16:33:14 +02:00
.gitignore Initial commit 2019-04-04 15:37:54 +02:00
Dockerfile Initial commit 2019-04-04 15:37:54 +02:00
hbase-exporter Make exporter update rate and hbck frequency configurable, add args 2020-06-17 16:33:14 +02:00
hbase-exporter.service Change service user to hdfs 2019-04-10 13:14:37 +02:00
hbase-hbck.service systemd-service: Move user to the right section, change type to lowercase 2019-04-10 12:22:53 +02:00
hbase-hbck.timer hbase-hbck: Change timer to 20 minutes 2019-04-10 21:04:46 +02:00
hbase-write.py Add hbase-write script 2020-06-10 21:47:56 +02:00
README.md Update README 2019-04-15 17:20:52 +02:00
requirements.txt Add happybase as requirement 2020-06-10 21:47:33 +02:00

hbase-exporter

An HBase Prometheus Exporter

Relays JMX metrics for consumption by Prometheus

The exporter parses the (Hortonworks) Hadoop config and uses (Hortonworks) Hadoop internal tooling to determine e.g. the currently active master so that it can run in different environments without requiring any configuration

Those tools are not yet included when building the app as a container!

Since some important metrics are missing or empty in JMX, we additionally parse the HBase Master UI for e.g. 'Stale regions in transition'

The hbase hbck log is parsed to check for inconsistencies in HBase. The log is created independently from the exporter with the help of a systemd-timer unit and a systemd-hbck-service unit

Unfortunately querying the active namenode requires superuser privileges

For python module requirements see requirements.txt or execute the commands outlined below

$ sudo dnf/yum install python36
# As the user executing the exporter:
$ pip3[.6] install --user beautifulsoup4 flatten_json kazoo prometheus_client requests