blackbox exporter 를 사용해서 외부에 있는 서비스의 HTTP/HTTPS, DNS, TCP, ICMP 모니터링을 할 수 있다.
기본적으로 9115
port 를 사용하며, default config 는 아래와 같다.
docker 를 사용해서 blackbox exporter 를 띄울 때 custom config 를 사용할 경우, --config.file="blackbox.yml"
와 같이 config 경로를 지정해주어야한다.
# blackbox.yml
modules:
http_post_2xx:
prober: http
http:
valid_status_codes:
- 200
method: POST
preferred_ip_protocol: ipv4
body: {}
[blackbox default config]
https://github.com/prometheus/blackbox_exporter/blob/master/blackbox.yml
처음 blackbox exporter 를 실행하면 prober 는 기본적으로 IPv6 를 사용한다.
하지만 Docker daemon 의 경우 다른 설정이 없는 경우 IPv6 를 차단하기 때문에 blackbox exporter 가
IPv6 를 통해서 docker 와 통신 할 수 없다.
...
probe_ip_protocol 6
[blackbox config] https://github.com/prometheus/blackbox_exporter/blob/master/CONFIGURATION.md
요청을 보낼 때에는 아래와 같이 보내면 된다.
curl `ip:9115/probe?target=<target>&module=<module>`
[multi-target-exporter] https://prometheus.io/docs/guides/multi-target-exporter/
[blackbox exporter] https://ryanharrison.co.uk/2022/02/05/prometheus-monitoring-guide-part-4-pushgateway-blackbox-exporter.html
[blackbox exporter] https://grafana.com/grafana/dashboards/7587-prometheus-blackbox-exporter/