Probe your endpoints from the outside.
A free, publicly hosted Prometheus Blackbox Exporter. Point your Prometheus at blackbox.o11y.cool/probe to check whether your targets are up and returning the HTTP status you expect. Rate limited for fair access — no signup, no keys.
Point your Prometheus at me
Scrape /probe, pick a module for the response you expect, and let relabeling rewrite the address to blackbox.o11y.cool while keeping your real target as the instance label.
The endpoint
One probe endpoint, selected by the module and target query params.
# check a target returns 2xx GET https://blackbox.o11y.cool/probe ?module=http_2xx &target=https://prometheus.io
Prometheus scrape config
Drop this into prometheus.yml — swap module for any module below.
scrape_configs: - job_name: blackbox scheme: https metrics_path: /probe params: module: [http_2xx] static_configs: - targets: - https://prometheus.io - https://o11y.cool relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: blackbox.o11y.cool - target_label: __scheme__ replacement: https
Pick what you expect back
Every module uses the HTTP prober over IPv4 with a 5 second timeout. A probe reports probe_success 1 when the response matches the module's expected status.
Any 2xx response. The general-purpose "is it up?" check.
● default modulePOST variant of http_2xx — expects any 2xx from a POST request.
A redirect (300–308). Does not follow it — asserts the redirect itself.
HTTP 401 Unauthorized — for endpoints meant to be gated.
HTTP 403 Forbidden.
HTTP 404 Not Found — assert a path is absent.
prom/blackbox-exporter, so anything it supports works there.