Skip to content

SYSTEM Cited by 1 source

Prometheus Blackbox Exporter

The Prometheus Blackbox Exporter (BBE)github.com/prometheus/blackbox_exporter — is the official Prometheus-ecosystem prober for black-box (request-shaped, from-outside) monitoring of network endpoints. It exposes a /probe HTTP endpoint that accepts a target URL and a module name (pre-configured probe type) and returns Prometheus metrics describing the probe outcome: success boolean, phase timings, TLS certificate expiry, response body match, and protocol-specific fields.

It is the canonical synthetic-monitoring component in a Prometheus-native observability stack, pairing with Prometheus's scrape model: Prometheus scrapes BBE instances with a target URL as a scrape parameter, and BBE performs the actual outbound probe and returns metrics.

Modules (probe types)

Why it shows up on this wiki

BBE is the canonical substrate for client-side black-box probing in Prometheus-native stacks. It is the piece that notices "is the edge answering correctly from outside?" — distinct from in-process metric emission.

The 2026-03-31 Slack ingest canonicalises BBE as the anchor for an instructive architectural failure mode: existing BBE modules were TCP-shaped, so when HTTP/3 rolled out on the edge (QUIC over UDP), BBE had no way to probe the new transport. This is the concepts/http-3-probing-gap — the first-order observability hole that blocks safe HTTP/3 rollout.

Slack's intern Sebastian Feliciano closed the gap by open-sourcing HTTP/3 support into BBE upstream, using systems/quic-go as the underlying QUIC client:

http3Transport := &http3.Transport{
    TLSClientConfig: tlsConfig,
    QUICConfig:      &quic.Config{},
}
client = &http.Client{Transport: http3Transport}

The architectural discipline the article highlights: "had to add this new logic while following the Blackbox Exporter's existing architecture, ensuring the new features maintained the tool's configuration patterns" — composability-with-existing-shape is the upstream-merge-predictor in mature OSS projects.

Operational shape

  • Stateless prober. BBE holds no state across scrapes; each probe is a fresh request.
  • Run many instances, scrape all of them. Typical deployment is N BBE replicas across regions / POPs, each scraped by Prometheus with the target URL as a scrape param — per-POP-view of endpoint health.
  • Metric shape. probe_success, probe_duration_seconds, probe_http_status_code, probe_http_duration_seconds{phase="…"}, probe_ssl_earliest_cert_expiry, etc. — the phase label on HTTP probes surfaces DNS-lookup / connect / TLS / processing / transfer timings independently.

Seen in

Stub

This page canonicalises BBE as a wiki system. Expand with deployment-topology patterns, large-fleet operational retrospectives, and the BBE-vs-commercial-synthetic-monitoring trade-off as future ingests provide them.

Last updated · 470 distilled / 1,213 read