Allow `metrics_server` to target Puma
What does this MR do and why?
In &6409 (closed) we introduced a mechanism to spawn a dedicated metrics server process from Sidekiq via the metrics_server module. We are now looking to do the same for Puma in &7304 (closed). It was originally written in a way to be agnostic of what it is monitoring, but we never tested it with Puma and there were some fixes necessary for it to actually work.
This MR makes the necessary changes for the server process to target Puma metrics without actually activating the server process yet, i.e. it is just a refactor to move the necessary pieces into place. Nothing should change when we deploy this.
How to set up and validate locally
We can verify locally that running the WebExporter in a server process outside of Rails works via the bin/metrics-server process wrapper:
METRICS_SERVER_TARGET=puma bin/metrics-serverThis should start the server on localhost, assuming the web_exporter and prometheus metrics are enabled, e.g.:
  development:
    monitoring:
      web_exporter:
        enabled: true
        address: localhost
        port: 3809in gitlab.yml
You can then fetch metrics like so:
curl localhost:3809/metrics MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
- 
I have evaluated the MR acceptance checklist for this MR. 
Related to #350546 (closed)