Prometheus 黑盒监控 (blackbox_exporter)

安装

1
2
3
4
wget -c https://ghproxy.com/https://github.com/prometheus/blackbox_exporter/releases/download/v0.25.0/blackbox_exporter-0.25.0.linux-amd64.tar.gz
tar -zxvf blackbox_exporter-0.25.0.linux-amd64.tar.gz
mkdir /opt/blackbox_exporter
cp blackbox_exporter-0.25.0.linux-amd64/blackbox_exporter /opt/blackbox_exporter/blackbox_exporter

config

vim /opt/blackbox_exporter/config.yml

1
2
3
4
5
6
7
8
9
modules:
http_2xx:
prober: http
http:
method: GET
http_post_2xx:
prober: http
http:
method: POST

service

vim /usr/lib/systemd/system/blackbox_exporter.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=Blackbox Exporter
Documentation=https://github.com/prometheus/blackbox_exporter
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
ExecStart=/opt/blackbox_exporter/blackbox_exporter \
--config.file=/opt/blackbox_exporter/config.yml \
--web.listen-address=:9116
Restart=always

[Install]
WantedBy=multi-user.target

启动

1
2
3
systemctl daemon-reload
systemctl start blackbox_exporter
systemctl enable blackbox_exporter

测试

1
curl -iv "http://127.0.0.1:9116/probe?module=http_2xx&target=baidu.com"

Prometheus 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- job_name: 'blackbox'
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- http://10.113.75.134:5000/v1/datasets/8a9302de-ded1-493c-8a12-e8acf3d80772/files?apikey=ka-admin123
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
regex: '(http|https)://([^/]+)/.*'
replacement: '${2}'
target_label: site
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9116

问题排查

1
journalctl -xe -u blackbox_exporter

参考:

https://flashcat.cloud/docs/content/flashcat-partner/prometheus/exporter/commonly/blackbox-exporter/