diff --git a/observability/WFLY-18582_add-prometheus-endpoint-to-micrometer-extension.adoc b/observability/WFLY-18582_add-prometheus-endpoint-to-micrometer-extension.adoc new file mode 100644 index 00000000..bdc7483d --- /dev/null +++ b/observability/WFLY-18582_add-prometheus-endpoint-to-micrometer-extension.adoc @@ -0,0 +1,103 @@ +--- +categories: + - observability +--- += WFLY-18582 - Add prometheus endpoint to micrometer extension +:author: Jason Lee +:email: jasondlee@redhat.com +:toc: left +:icons: font +:idprefix: +:idseparator: - + +== Overview + +Micrometer replaced Micrometer Metrics as the user-facing metrics library provided by WildFly. As part of that +transition, the export behavior moved from a pull-based Prometheus-like format to push-based mechanism using the +OpenTelemetry Protocol. Based on feedback from users who still desire to use the pull-based approach, this change will +add support for the Prometheus Registry in addition to or in place of the OTLP Registry. + +== Issue Metadata + +=== Issue + +* https://issues.redhat.com/browse/WFLY-18582[WFLY-18582] + +=== Dev Contacts + +* mailto:{email}[{author}] + +=== QE Contacts + +=== Testing By +* [x] Engineering + +* [ ] QE + +=== Affected Projects or Components + +Only the Micrometer subsystem and related tests will be affected + +=== Other Interested Projects + +=== Relevant Installation Types +* [x] Traditional standalone server (unzipped or provisioned by Galleon) + +* [ ] Managed domain + +* [x] OpenShift s2i + +* [x] Bootable jar + +== Requirements + +=== Hard Requirements + +* Existing servers, if configured to use Micrometer (e.g., the `endpoint` property has been set), will be migrated to be +and OTLP-based configuration. Since OTLP is the only current option, there is no ambiguity in this migration. +* Existing servers with the extension enabled but with no endpoint set will not be changed. That is to say, Micrometer +will continue to use a no-op registry. +* Support for a new registry, `PrometheusRegistry` will be added. +** It can be added as the only registry, or it can be added _in addition to_ the OTLP Registry +** The only configuration option exposed for this registry is the web context (e.g., `/prometheus`) on which the metrics +will be exposed +** If the user would like to use `/metrics`, the WildFly metrics extension must be disabled first to avoid a naming conflict. + +=== Non-Requirements + +* Adding other arbitrary MeterRegistry types + +== Backwards Compatibility + +* Existing servers should continue to operate as is, using any existing OTLP configuration without manual intervention. + +=== Default Configuration + +* The default context for the Prometheus scrape will be undefined and must be specified by the user when enabling support (`context`) +* The context will be secured (`secutiry-enabled`) by default + +=== Importing Existing Configuration + +* See above. + +=== Deployments + +=== Interoperability + + +== Security Considerations + +The implementation of securing this endpoint will mirror how base metrics are secured. + +== Test Plan + +* Tests will be added to `testsuite/integration/microprofile/` + +== Community Documentation + +The WildFly Administration Guide will be updated to include this new support. + +== Release Note Content + +The Micrometer extension has been modified to add support for the Prometheus Registry, allowing for pull-based/scraping +of metrics information for deployments where that is preferred.