whatisgithub

What is blackbox_exporter?

prometheus/blackbox_exporter — explained in plain English

Analysis updated 2026-06-26

5,682GoAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

In one sentence

The Blackbox Exporter checks whether websites, servers, and network services are reachable from the outside by probing them with HTTP, TCP, DNS, ICMP, and gRPC tests, and reports the results to Prometheus for alerting.

Mindmap

mindmap
  root((blackbox-exporter))
    What it does
      Probes external services
      Checks reachability
      Reports to Prometheus
    Probe types
      HTTP and HTTPS
      TCP port checks
      DNS queries
      ICMP ping
    Output
      Success or failure
      Timing measurements
      Alert-ready metrics
    Audience
      DevOps teams
      SRE engineers
      Infrastructure ops
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Monitor whether your public website returns the correct HTTP status code and alert when it goes down.

USE CASE 2

Check that a database port is accepting TCP connections from outside the server as part of your uptime monitoring stack.

USE CASE 3

Verify that your DNS server returns valid results for a domain and alert if resolution fails.

USE CASE 4

Measure how long a full HTTP request takes to a service endpoint and trigger an alert when response time crosses a threshold.

What is it built with?

GoYAMLDocker

How does it compare?

prometheus/blackbox_exportertencentblueking/bk-cmdbmjl-/mox
Stars5,6825,6815,684
LanguageGoGoGo
Setup difficultymoderatehardhard
Complexity3/54/54/5
Audienceops devopsops devopsops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a running Prometheus server to collect results, available as a prebuilt binary or Docker image with minimal YAML config.

Use freely for any purpose, including commercial, as long as you keep the copyright and license notices.

So what is it?

The Blackbox Exporter is a monitoring tool that checks whether external services are reachable and working. It is part of the Prometheus monitoring ecosystem, which collects and stores measurements about systems so teams can track their health over time. The name "blackbox" describes the approach: the tool treats a target service as a black box and probes it from the outside, the same way a user or another service would. It does not require any access to the internals of what it is checking. You point it at a URL, server, or hostname and it performs a test, then reports whether the test passed and how long it took. The tool supports several types of probes. HTTP and HTTPS probes check that a web address responds with the expected status code. TCP probes verify that a port on a server is accepting connections. DNS probes query a name server and check that it returns valid results. ICMP probes send ping-style packets to test basic connectivity. gRPC probes check services using that communication protocol. Results are exposed in a format that Prometheus can collect and store. Each probe produces a set of measurements including whether the probe succeeded, how long the connection took to establish, how long the full request took, and other timing details. These measurements can then be used to set up alerts, for example to notify an on-call engineer when a website stops responding or when response times cross a threshold. The exporter is typically deployed alongside a Prometheus server, which is configured to call the exporter at regular intervals with the targets to probe. Configuration is done through a YAML file that defines named probe modules with their settings. The exporter is written in Go, available as a prebuilt binary and as a Docker image, and is an official project under the Prometheus organization.

Copy-paste prompts

Prompt 1
Show me a complete prometheus.yml scrape config and blackbox.yml probe module to check that my website returns HTTP 200 every 30 seconds and alert if it fails twice.
Prompt 2
How do I add a TCP probe module to blackbox_exporter to verify that my PostgreSQL port is open, and what Prometheus alert rule should I write for it?
Prompt 3
Walk me through deploying blackbox_exporter as a Docker container alongside my Prometheus server and wiring them together.
Prompt 4
I want to monitor DNS resolution for my domain using blackbox_exporter, show me the probe module config and the Prometheus query to check it.
Prompt 5
How do I create a Grafana dashboard panel that shows blackbox_exporter probe success and response time for five different endpoints?

Frequently asked questions

What is blackbox_exporter?

The Blackbox Exporter checks whether websites, servers, and network services are reachable from the outside by probing them with HTTP, TCP, DNS, ICMP, and gRPC tests, and reports the results to Prometheus for alerting.

What language is blackbox_exporter written in?

Mainly Go. The stack also includes Go, YAML, Docker.

What license does blackbox_exporter use?

Use freely for any purpose, including commercial, as long as you keep the copyright and license notices.

How hard is blackbox_exporter to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is blackbox_exporter for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.