Prometheus Blackbox Exporter
https://github.com/prometheus/blackbox_exporter
docker run --rm --network ip6net -p 9115:9115/tcp --name blackbox_exporter \
-v `pwd`/config:/config \
quay.io/prometheus/blackbox-exporter:latest \
--config.file=/config/blackbox.yml
where config/blackbox.yml
is:
modules:
http_2xx:
prober: http
timeout: 5s
http:
preferred_ip_protocol: "ip4" # defaults to "ip6"
ip_protocol_fallback: false # no fallback to "ip6"
fail_if_not_ssl: false
fail_if_ssl: false
follow_redirects: true
tls_config:
insecure_skip_verify: true
http_post_2xx:
prober: http
timeout: 5s
http:
method: POST
preferred_ip_protocol: "ip4"
ip_protocol_fallback: false # no fallback to "ip6"
tcp_connect:
prober: tcp
timeout: 5s
tcp:
ip_protocol_fallback: false
preferred_ip_protocol: ip4
tls: false
ssh_banner:
prober: tcp
timeout: 5s
tcp:
query_response:
- expect: "^SSH-2.0-"
icmp:
prober: icmp
icmp_ttl5:
prober: icmp
timeout: 5s
icmp:
ttl: 5
dns_udp:
prober: dns
timeout: 5s
dns:
query_name: "www.prometheus.io"
query_type: "A"
valid_rcodes:
- NOERROR
validate_answer_rrs:
fail_if_matches_regexp:
- ".*127.0.0.1"
fail_if_all_match_regexp:
- ".*127.0.0.1"
fail_if_not_matches_regexp:
- "www.prometheus.io.\t300\tIN\tA\t127.0.0.1"
fail_if_none_matches_regexp:
- "127.0.0.1"
validate_authority_rrs:
fail_if_matches_regexp:
- ".*127.0.0.1"
validate_additional_rrs:
fail_if_matches_regexp:
- ".*127.0.0.1"
dns_soa:
prober: dns
dns:
query_name: "prometheus.io"
query_type: "SOA"
dns_tcp:
prober: dns
dns:
transport_protocol: "tcp" # defaults to "udp"
preferred_ip_protocol: "ip4" # defaults to "ip6"
query_name: "www.prometheus.io"