Private app, empty HTTP metrics and scaling

On Fly, I have deployed a private app behind a public Envoy proxy. The Envoy proxy points to the private app’s .internal address.

Everything is working as expected, however the private app’s HTTP and VM Service Concurrency sections on the Metrics page are empty and on Grafana under App Concurrency, all it shows is 0.

The private app’s service is configured as follows:

[http_service]
internal_port = 8080
auto_stop_machines = true
auto_start_machines = true
min_machines_running = 1
[http_service.concurrency]
type = "requests"
soft_limit = 200
hard_limit = 250

I am about to increase the requests to this private app drastically, but I am wondering, if the metrics are empty, will it scale to meet the demand?

Any help will be greatly appreciated.

Added autoscaling

Hi… Auto-scaling is a feature of the Fly Proxy, which isn’t involved when you use the direct .internal. I use Flycast for my own private HTTP server instead, and it does auto-start:

https://community.fly.io/t/automatically-starting-stopping-apps-v2-instances/12342/30

Hope this helps!

2 Likes

Added machines

I did read that section of the documentation and pointed Envoy to the private app’s .flycast address, but Envoy could not reach the app, so I was on the right path, but the problem might be with how I have configured Envoy. I will poke around some more and update with my findings.

Thanks for the help!

1 Like

I figured out my issue. Since I am using http_service, I should have been pointing Envoy to port 80 (as opposed to the internal port 8080). As soon as I updated the port, the .flycast address starting working and the metrics started populating.

Thanks again for the help @mayailurus!

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.