Hi!
We have multiple apps on fly.io and we would like to monitor their metrics and logs. fly.io already provides this (and this is awesome by the way!), but there’s an itch: some services expose their metrics endpoint and require authentication. Unfortunately, this is not something doable right now in the fly.io config deployment config file. We cannot really change the port or disable authentication because those are external services.
On top of that, we have a local observability stack composed of multiple services (Alloy, Loki, Prometheus, Grafana) that we wish to deploy. To avoid duplicating things, we had the idea to reuse the fly.io metrics/logs as they already work nicely, but just add an additional service (Alloy) that would scrape our internal metrics that needs authentication and then write them to VictoriaMetrics. It seems that fly.io already use this endpoint internally, but can an app use it as well?
I also saw that there are other Prometheus exporters (like Fluent Bit) that would allows us to directly expose a /metrics endpoint that can be scraped by fly.io, which is not the case for Alloy at the moment, but we would prefer to have our deployment stack to match with our local one (thus, using Grafana services).
Overall, our stack would go from (only for metrics):
- Alloy (scrapes our internal services and write metrics to Prometheus)
- Prometheus (federates with fly.io VictoriaMetrics)
to:
- Alloy (scrapes our internal services and write metrics to VictoriaMetrics)
Thanks!