[
https://issues.apache.org/jira/browse/HDDS-16019?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
arun kumar updated HDDS-16019:
------------------------------
Description:
HttpFSServerWebServer builds an HttpServer2 directly rather than
extending BaseHttpServer, so unlike OM, SCM, Datanode, S3 Gateway,
and Recon it does not expose a /prom endpoint. As a result the
metrics already registered on the httpfs JVM (e.g. HttpFSServerMetrics)
cannot be scraped by Prometheus, and httpfs is absent from
compose/ozone/prometheus.yml and from component-grouped Grafana
dashboards.
{{Proposed change:}}
* Register a PrometheusMetricsSink and add the PrometheusServlet at
/prom in HttpFSServerWebServer, following the pattern in
BaseHttpServer (guarded by hdds.prometheus.endpoint.enabled).
* Register the sink with DefaultMetricsSystem on start(), unregister
on stop().
* Ensure /prom respects the same authentication guarantees as the
other services in secure mode (not exposed unauthenticated).
Note: BaseHttpServer.PROMETHEUS_SINK is currently package-private;
exposing /prom from the httpfs package needs either that constant
made public or the wiring extracted into a shared helper. Open to
either – will confirm on review.
This is a prerequisite for HDDS-15858 (build info metrics + ZDU
dashboard), which will add the httpfs scrape target and build info
on top once /prom exists.
was:
{{HttpFSServerWebServer builds an HttpServer2 directly rather than
extending BaseHttpServer, so unlike OM, SCM, Datanode, S3 Gateway,
and Recon it does not expose a /prom endpoint. As a result the
metrics already registered on the httpfs JVM (e.g. HttpFSServerMetrics)
cannot be scraped by Prometheus, and httpfs is absent from
compose/ozone/prometheus.yml and from component-grouped Grafana
dashboards.}}
{{Proposed change:}}
* {{Register a PrometheusMetricsSink and add the PrometheusServlet at
/prom in HttpFSServerWebServer, following the pattern in
BaseHttpServer (guarded by hdds.prometheus.endpoint.enabled). }}
* {{Register the sink with DefaultMetricsSystem on start(), unregister
on stop().}}
* {{{}Ensure /prom respects the same authentication guarantees as the
other services in secure mode (not exposed unauthenticated).{}}}{{{}{}}}
{{Note: BaseHttpServer.PROMETHEUS_SINK is currently package-private;
exposing /prom from the httpfs package needs either that constant
made public or the wiring extracted into a shared helper. Open to
either -- will confirm on review.}}
{{{}This is a prerequisite for HDDS-15858 (build info metrics + ZDU
dashboard), which will add the httpfs scrape target and build info
on top once /prom exists.{}}}{{{}{}}}{{{}{}}}
> Publish httpfs gateway metrics to Prometheus via /prom endpoint
> ---------------------------------------------------------------
>
> Key: HDDS-16019
> URL: https://issues.apache.org/jira/browse/HDDS-16019
> Project: Apache Ozone
> Issue Type: Improvement
> Reporter: arun kumar
> Assignee: arun kumar
> Priority: Major
>
> HttpFSServerWebServer builds an HttpServer2 directly rather than
> extending BaseHttpServer, so unlike OM, SCM, Datanode, S3 Gateway,
> and Recon it does not expose a /prom endpoint. As a result the
> metrics already registered on the httpfs JVM (e.g. HttpFSServerMetrics)
> cannot be scraped by Prometheus, and httpfs is absent from
> compose/ozone/prometheus.yml and from component-grouped Grafana
> dashboards.
>
> {{Proposed change:}}
> * Register a PrometheusMetricsSink and add the PrometheusServlet at
> /prom in HttpFSServerWebServer, following the pattern in
> BaseHttpServer (guarded by hdds.prometheus.endpoint.enabled).
> * Register the sink with DefaultMetricsSystem on start(), unregister
> on stop().
> * Ensure /prom respects the same authentication guarantees as the
> other services in secure mode (not exposed unauthenticated).
>
> Note: BaseHttpServer.PROMETHEUS_SINK is currently package-private;
> exposing /prom from the httpfs package needs either that constant
> made public or the wiring extracted into a shared helper. Open to
> either – will confirm on review.
>
> This is a prerequisite for HDDS-15858 (build info metrics + ZDU
> dashboard), which will add the httpfs scrape target and build info
> on top once /prom exists.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]