Hi,
I am working on HBASE-20904 (Prometheus /metrics http endpoint for
monitoring integration) and have created a patch (
https://github.com/apache/hbase/pull/1814). @busbey and @saintstack
suggested some good changes which I have incorporated in my local
branch and wanted to know other's suggestions on it before I commit to
the remote.
Prometheus
1. Prometheus is a monitoring software which uses HTTP to pull the
metrics from the monitored processes.
2. The collected data can be used to anamoly detection, altering etc.
Problem HBASE-20904 solves.
1. Implementing a servlet to expose these metrics.
Currently I have implemented this as follows
1. Expose two end points
/prometheus:
exposes the metrics captured in native hbase metrics
/prometheus-hadoop2:
exposes the metrics captured using hadoop2 metrics.
latter is planned to be removed once all the metric sources start
using the native metrics API.
**do the endpoints names look ok?**
2. Make the /jmx, /prometheus-hadoop2, /prometheus, /metrics servlets
optional by providing a multivalued config key with the first two
servlets as default (values will be classnames or aliases **which one
do you think is good idea**).
Out of curiosity.. Why the hadoop2 metrics still exists in HBase, I see
HBASE-14282 is open and task issues linked are closed. Are there any
unlinked issues here?
Thanks,
Madhusoodan