Skip to content

Latest commit

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date

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:

ModuleExpects
http_2xxDefault; any 2xx response
http_post_2xxPOST variant of http_2xx
http_3xxA redirect (does not follow it)
http_401HTTP 401 Unauthorized
http_403HTTP 403 Forbidden
http_404HTTP 404 Not Found

Example Prometheus scrape config — swap module for any of the above:

scrape_configs:
- job_name: blackboxscheme: httpsmetrics_path: /probeparams:
module: [http_2xx]static_configs:
- targets:
- https://prometheus.io
- https://o11y.coolrelabel_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.envblackbox_domain=blackbox.o11y.coolratelimit_average=10ratelimit_burst=20ratelimit_period=30sEOF
  1. Deploy namespace
kubectl create namespace o11y-cool
  1. Deploy landing page
kubectl create configmap blackbox-index \
--from-file=index.html=index.html \
-n o11y-cool --dry-run=client -o yaml | kubectl apply -f -
  1. Deploy Blackbox Exporter
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

Stars

0 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages