Skip to content

observabilitystack/blackbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌍 Public Blackbox Exporter

This is the source code for blackbox.o11y.cool, a publicly available Prometheus Blackbox Exporter. The Blackbox Exporter is free to use by everyone but rate limited for fair accessibility.

πŸ§ͺ Getting Started

Point your Prometheus at https://blackbox.o11y.cool/probe and pick a module based on the response you expect from your target:

Module Expects
http_2xx Default; any 2xx response
http_post_2xx POST variant of http_2xx
http_3xx A redirect (does not follow it)
http_401 HTTP 401 Unauthorized
http_403 HTTP 403 Forbidden
http_404 HTTP 404 Not Found

Example Prometheus scrape config β€” swap module for any of the above:

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

πŸš€ Deployment

Deploy the following YAML spaghetti to the Kubernetes cluster of your choice. We utilize envsubst as our poor mans templating engine:

cat << EOF > secrets.env
blackbox_domain=blackbox.o11y.cool
ratelimit_average=10
ratelimit_burst=20
ratelimit_period=30s
EOF
kubectl create namespace o11y-cool
set -a; source secrets.env;set +a;
envsubst < manifests/configuration.yaml | kubectl apply -f -
envsubst < manifests/deployment.yaml | kubectl apply -f -

About

A publicly available Prometheus Blackbox Expoter

Topics

Resources

License

Stars

Watchers

Forks

Contributors