From 6bbb11241845674a56e8ecbe1cfdeabf1fbab5b1 Mon Sep 17 00:00:00 2001 From: Kaelyn Date: Fri, 12 Jun 2026 13:01:39 -0700 Subject: [PATCH 1/5] Document metrics alerting, retention, cost, and limits The metrics page covered querying and dashboards but never said how to set up alerting, how long metrics are retained, whether the managed Prometheus and Grafana cost anything, or what limits apply. - Add an Alerting section: Fly has no built-in alerting, so set it up against the Prometheus endpoint with Grafana alerting or Prometheus + Alertmanager, or deploy the Observability for User Apps blueprint. - Add a Retention, cost, and limits section: ~15-day retention (with a pointer to run your own stack for longer), no current additional charge (subject to change), and the 16 KiB metrics-endpoint response cap plus high-cardinality drop behavior. --- monitoring/metrics.html.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/monitoring/metrics.html.md b/monitoring/metrics.html.md index 2b460b9095..a0ae16141b 100644 --- a/monitoring/metrics.html.md +++ b/monitoring/metrics.html.md @@ -92,6 +92,17 @@ curl https://api.fly.io/prometheus/$ORG_SLUG/api/v1/query \ -H "Authorization: Bearer $TOKEN" ``` +## Retention, cost, and limits + +Prometheus on Fly.io retains metric data for approximately 15 days and is meant for operational monitoring. If you need longer retention, run your own monitoring stack (Fly's [Observability for User Apps](/docs/blueprints/observability-for-user-apps/) blueprint deploys a ready-made one) or federate from the Fly.io endpoint into your own Prometheus. + +There's currently no additional charge for the managed Prometheus and Grafana. Pricing could change in the future, and Fly will give advance notice. + +A couple of practical limits to be aware of: + +- Fly caps your app's metrics endpoint response at 16 KiB and drops anything larger. +- Fly may drop very high-cardinality custom metrics. + ## Dashboards For more advanced metrics monitoring, you can use dashboards to organize and visualize complex Prometheus @@ -132,6 +143,15 @@ We publish our [Fly.io Dashboards](https://grafana.com/grafana/dashboards/14741) To install, just [import the dashboard](https://grafana.com/docs/grafana/latest/dashboards/export-import/#import-dashboard) using the listed IDs. If you'd like to contribute changes to the dashboards, we have created a [repository](https://github.com/superfly/dashboards) for them. +## Alerting + +Fly.io doesn't include built-in alerting on metrics, so you set up alerting yourself against the Prometheus endpoint. Two common approaches: + +- **Grafana alerting**: connect the Fly.io Prometheus data source to a Grafana instance (see the [External or self-hosted Grafana](#external-or-self-hosted-grafana) section), then create [Grafana alert rules](https://grafana.com/docs/grafana/latest/alerting/) on queries against the data source and send the alerts to a contact point such as email, Slack, or PagerDuty. +- **Prometheus and Alertmanager**: run your own [Prometheus](https://prometheus.io/) that federates from the Fly.io endpoint and use [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) to send notifications. + +If you don't already run Grafana or Prometheus, Fly's [Observability for User Apps](/docs/blueprints/observability-for-user-apps/) blueprint deploys a ready-made stack (VictoriaMetrics and Grafana) you can build alerts on. + ## Built-in metrics Fly apps automatically publish a number of built-in metrics. From a312c64a56f3b2806b5b7116cc10a9ece4353b8a Mon Sep 17 00:00:00 2001 From: Kaelyn <87516931+Lucais11@users.noreply.github.com> Date: Wed, 17 Jun 2026 11:41:20 -0700 Subject: [PATCH 2/5] Update monitoring/metrics.html.md Co-authored-by: Kristin Martin --- monitoring/metrics.html.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring/metrics.html.md b/monitoring/metrics.html.md index a0ae16141b..2977196dda 100644 --- a/monitoring/metrics.html.md +++ b/monitoring/metrics.html.md @@ -94,7 +94,7 @@ curl https://api.fly.io/prometheus/$ORG_SLUG/api/v1/query \ ## Retention, cost, and limits -Prometheus on Fly.io retains metric data for approximately 15 days and is meant for operational monitoring. If you need longer retention, run your own monitoring stack (Fly's [Observability for User Apps](/docs/blueprints/observability-for-user-apps/) blueprint deploys a ready-made one) or federate from the Fly.io endpoint into your own Prometheus. +Prometheus on Fly.io retains metric data for approximately 15 days and is intended for operational monitoring. If you need longer retention, run your own monitoring stack. Fly.io's [Observability for User Apps](/docs/blueprints/observability-for-user-apps/) guide deploys a ready-made stack, or you can federate from the Fly.io endpoint into your own Prometheus installation. There's currently no additional charge for the managed Prometheus and Grafana. Pricing could change in the future, and Fly will give advance notice. From 6fa524c8b5c51ed68777564a7c7b04e668296e54 Mon Sep 17 00:00:00 2001 From: Kaelyn <87516931+Lucais11@users.noreply.github.com> Date: Wed, 17 Jun 2026 11:41:30 -0700 Subject: [PATCH 3/5] Update monitoring/metrics.html.md Co-authored-by: Kristin Martin --- monitoring/metrics.html.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring/metrics.html.md b/monitoring/metrics.html.md index 2977196dda..315650a333 100644 --- a/monitoring/metrics.html.md +++ b/monitoring/metrics.html.md @@ -145,7 +145,7 @@ If you'd like to contribute changes to the dashboards, we have created a [reposi ## Alerting -Fly.io doesn't include built-in alerting on metrics, so you set up alerting yourself against the Prometheus endpoint. Two common approaches: +Fly.io doesn't include built-in alerting on metrics, so you'll need to set up alerting yourself against the Prometheus endpoint. Two common approaches: - **Grafana alerting**: connect the Fly.io Prometheus data source to a Grafana instance (see the [External or self-hosted Grafana](#external-or-self-hosted-grafana) section), then create [Grafana alert rules](https://grafana.com/docs/grafana/latest/alerting/) on queries against the data source and send the alerts to a contact point such as email, Slack, or PagerDuty. - **Prometheus and Alertmanager**: run your own [Prometheus](https://prometheus.io/) that federates from the Fly.io endpoint and use [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) to send notifications. From 3feb721280eefda0edf7d65c55e404340314a507 Mon Sep 17 00:00:00 2001 From: Kaelyn <87516931+Lucais11@users.noreply.github.com> Date: Wed, 17 Jun 2026 11:41:41 -0700 Subject: [PATCH 4/5] Update monitoring/metrics.html.md Co-authored-by: Kristin Martin --- monitoring/metrics.html.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring/metrics.html.md b/monitoring/metrics.html.md index 315650a333..d0391b21dc 100644 --- a/monitoring/metrics.html.md +++ b/monitoring/metrics.html.md @@ -150,7 +150,7 @@ Fly.io doesn't include built-in alerting on metrics, so you'll need to set up al - **Grafana alerting**: connect the Fly.io Prometheus data source to a Grafana instance (see the [External or self-hosted Grafana](#external-or-self-hosted-grafana) section), then create [Grafana alert rules](https://grafana.com/docs/grafana/latest/alerting/) on queries against the data source and send the alerts to a contact point such as email, Slack, or PagerDuty. - **Prometheus and Alertmanager**: run your own [Prometheus](https://prometheus.io/) that federates from the Fly.io endpoint and use [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) to send notifications. -If you don't already run Grafana or Prometheus, Fly's [Observability for User Apps](/docs/blueprints/observability-for-user-apps/) blueprint deploys a ready-made stack (VictoriaMetrics and Grafana) you can build alerts on. +If you don't already run Grafana or Prometheus, Fly's [Observability for User Apps](/docs/blueprints/observability-for-user-apps/) guide deploys a ready-made stack (VictoriaMetrics and Grafana) you can build alerts on. ## Built-in metrics From 56b37b8a23995a3e464480e5efd26be445ed164e Mon Sep 17 00:00:00 2001 From: Kaelyn Date: Wed, 17 Jun 2026 11:51:46 -0700 Subject: [PATCH 5/5] Use Fly.io naming in metrics docs --- monitoring/metrics.html.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/monitoring/metrics.html.md b/monitoring/metrics.html.md index d0391b21dc..0961eb30b9 100644 --- a/monitoring/metrics.html.md +++ b/monitoring/metrics.html.md @@ -96,12 +96,12 @@ curl https://api.fly.io/prometheus/$ORG_SLUG/api/v1/query \ Prometheus on Fly.io retains metric data for approximately 15 days and is intended for operational monitoring. If you need longer retention, run your own monitoring stack. Fly.io's [Observability for User Apps](/docs/blueprints/observability-for-user-apps/) guide deploys a ready-made stack, or you can federate from the Fly.io endpoint into your own Prometheus installation. -There's currently no additional charge for the managed Prometheus and Grafana. Pricing could change in the future, and Fly will give advance notice. +There's currently no additional charge for the managed Prometheus and Grafana. Pricing could change in the future, and Fly.io will give advance notice. A couple of practical limits to be aware of: -- Fly caps your app's metrics endpoint response at 16 KiB and drops anything larger. -- Fly may drop very high-cardinality custom metrics. +- We cap your app's metrics endpoint response at 16 KiB and drop anything larger. +- We may drop very high-cardinality custom metrics. ## Dashboards @@ -150,7 +150,7 @@ Fly.io doesn't include built-in alerting on metrics, so you'll need to set up al - **Grafana alerting**: connect the Fly.io Prometheus data source to a Grafana instance (see the [External or self-hosted Grafana](#external-or-self-hosted-grafana) section), then create [Grafana alert rules](https://grafana.com/docs/grafana/latest/alerting/) on queries against the data source and send the alerts to a contact point such as email, Slack, or PagerDuty. - **Prometheus and Alertmanager**: run your own [Prometheus](https://prometheus.io/) that federates from the Fly.io endpoint and use [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) to send notifications. -If you don't already run Grafana or Prometheus, Fly's [Observability for User Apps](/docs/blueprints/observability-for-user-apps/) guide deploys a ready-made stack (VictoriaMetrics and Grafana) you can build alerts on. +If you don't already run Grafana or Prometheus, Fly.io's [Observability for User Apps](/docs/blueprints/observability-for-user-apps/) guide deploys a ready-made stack (VictoriaMetrics and Grafana) you can build alerts on. ## Built-in metrics