Skip to content
downpipes docs

Watch downpipes backup health from Grafana

Grafana reads downpipes’ backup-health metrics from the same Prometheus-compatible /metrics endpoint. There are two ways in: point Grafana Alloy or your own Prometheus at the endpoint and let it remote-write into Grafana, or, on Grafana Cloud, use the hosted Metrics Endpoint scrape job, which needs no agent at all.

Grafana Cloud’s hosted scraper is the one agentless way to read the /metrics endpoint across the monitoring tools here. You paste the endpoint URL and a bearer token into a scrape job in the Grafana Cloud UI and there is nothing to run yourself. For the rest of the monitoring, ticketing and identity tools downpipes connects to, see the full integration catalogue on the website.

What you need

  • Either a running Grafana Alloy or Prometheus that feeds your Grafana, or a Grafana Cloud stack where you can add a hosted Metrics Endpoint scrape job.
  • Owner access to the downpipes console to mint a read-only metrics token.

Set it up

  1. In the console, open Integrations, choose this vendor’s tile, and mint a read-only token in the metrics scrape scope there. Copy the secret once; only its hash is stored. Note the metrics URL shown next to it, which is your console origin plus /metrics, for example https://console.example.com/metrics.
  2. On Grafana Cloud, the agentless route: open the hosted Metrics Endpoint scrape job in the Grafana Cloud UI, paste the metrics URL as the scrape target and the token as the bearer credential, and save. Grafana Cloud polls the endpoint for you, with nothing to run yourself.
  3. Self-managed, the agent route: point a prometheus.scrape component in Grafana Alloy, or a scrape_config in your own Prometheus, at the URL with the bearer token, and let it remote-write into Grafana.
  4. In Grafana, build panels on downpipe_backup_last_success_timestamp_seconds and its companion gauges, and add a staleness alert set to each downpipe’s cadence budget: time() - downpipe_backup_last_success_timestamp_seconds > <threshold>.

Good to know

  • Grafana Cloud’s hosted Metrics Endpoint scrape is the only fully agentless scrape route here: nothing to run, just the URL and token in the UI. Grafana Alloy and self-hosted Prometheus each still need an already-running agent pointed at the endpoint. Whichever route you take, the metrics token is time-boxed like every pull credential, defaulting to a year from the mint and capped at 400 days, so once it lapses the scrape returns 401 until you re-mint; the console shows the expiry date beside the credential.
  • If Cloudflare Access fronts your console hostname, any scrape (hosted or agent) is turned away at the edge, because no scraper can complete an Access login. Give the scrape job an Access service token to send as extra headers (a path-scoped Access application with a Service Auth policy), or add a narrow Bypass over /metrics; the minted credential still gates the scrape either way. Where you would rather not expose a scrape target at all, use the OTLP push. Full mechanics are on the Prometheus /metrics endpoint.

Last updated .