[ 
https://issues.apache.org/jira/browse/HBASE-20904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17160287#comment-17160287
 ] 

Nick Dimiduk commented on HBASE-20904:
--------------------------------------

I'm not keen on copying more metrics code from Hadoop in to HBase. I'm also not 
keen on expanding our codebase when perfectly good alternatives exist that are 
supported by the project with which we're trying to integrate. I'm not saying 
-0, I'm just asking for strong justification.

It looks like there's someone [actively 
working|https://github.com/prometheus/jmx_exporter/pull/459] on making 
Prometheus/HBase integration work better. Why not team up with them to make the 
agent more robust for our users?

Also, isn't the Slider project 
[retired|https://incubator.apache.org/projects/slider.html]?

bq. we have to dynamically decide the port on which agent listens on as two 
server processes (M / RS) can be deployed on a single host (by slider/yarn). 
This becomes a burden for the slider user as agent doesn't provide this 
funcationality and one cannot choose some random number <64k.

Having the agent support binding to an arbitrary port and advertising it back 
to an operator seems like a feature the agent should have, file a feature 
request? I haven't used slider so I don't know what limitations are present on 
that platform, but any host running multiple JVMs with this agent installed 
will have a similar need, so seems like an upstream problem they want to solve 
anyway.

bq. Well we can use agent+pushgateways combination but the metrics are 
published all the time which may be become unnecessary given the size of 
metrics published (prometheus expo format is verbose).

I don't quite follow you here... I see the agent supports allow/deny lists for 
metrics, running as an agent or the scraping gateway. Does this not work to 
limit the data transferred? To implement this as a servlet, we would be 
generating all the metrics (as we do now, with JSON), which ends up 
transferring all the data as well.

bq. these dynamically chosen ports have to be (discovered by) / (told to) 
prometheus scraper. This is again a burden for the slider user as the HBase can 
be run as a

Again, I'm not sure about Slider, but service discovery seems like a problem 
that Slider needs to solve in general, so some interface between that mechanism 
in Slider and the dynamic port binding improvement in the agent would be 
required.

bq. Some customers are skeptical about opening new ports for an agent.

I believe the intended deployment model of the agent to bind to localhost. A 
prometheus scraper agent, also running on localhost, can query the data. In 
that case, there's no opening a port to the network, just a local socket 
between processes.

> Prometheus /metrics http endpoint for monitoring integration
> ------------------------------------------------------------
>
>                 Key: HBASE-20904
>                 URL: https://issues.apache.org/jira/browse/HBASE-20904
>             Project: HBase
>          Issue Type: New Feature
>          Components: metrics, monitoring
>            Reporter: Hari Sekhon
>            Assignee: Madhusoodan
>            Priority: Major
>
> Feature Request to add Prometheus /metrics http endpoint for monitoring 
> integration:
> [https://prometheus.io/docs/prometheus/latest/configuration/configuration/#%3Cscrape_config%3E]
> Prometheus metrics format for that endpoint:
> [https://github.com/prometheus/docs/blob/master/content/docs/instrumenting/exposition_formats.md]
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to