- Edited
- #1
1 创建blackbox.yml
modules:
http_2xx:
prober: http
http_post_2xx:
prober: http
http:
method: POST
tcp_connect:
prober: tcp
pop3s_banner:
prober: tcp
tcp:
query_response:
- expect: "^+OK"
tls: true
tls_config:
insecure_skip_verify: false
ssh_banner:
prober: tcp
tcp:
query_response:
- expect: "^SSH-2.0-"
irc_banner:
prober: tcp
tcp:
query_response:
- send: "NICK prober"
- send: "USER prober prober prober :prober"
- expect: "PING :([^ ]+)"
send: "PONG ${1}"
- expect: "^:[^ ]+ 001"
icmp:
prober: icmp
2 创建prometheus.yml
- job_name: blackbox_http
metrics_path: /probe
params:
module: [http_2xx]
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: target
- target_label: __address__
replacement: blackbox:9115
static_configs:
- targets:
- https://aaa.com
- https://bbb.com
- https://ccc.com
- job_name: blackbox_icmp
metrics_path: /probe
params:
module: [icmp]
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox:9115
static_configs:
- targets:
- aaa.com
- bbb.com
- ccc.com
3, 创建容器
docker run -itd \
--name=prometheus \
--network=web \
-p 9090:9090 \
-v $HOME/docker/prometheus:/etc/prometheus \
--restart=unless-stopped \
prom/prometheus
docker run -itd \
--network web \
--name blackbox \
-p 9115:9115 \
-v $HOME/docker/blackbox/blackbox.yml:/etc/blackbox_exporter/config.yml \
--cap-add=NET_RAW \
--restart always \
prom/blackbox-exporter
4,分别导入 12412
(icmp) , 14928
(http)