访问 Blackbox Exporter 官方发布页面 获取最新版本的下载链接。
# 切换到 /usr/local/src 目录
cd /usr/local/src
# 下载最新版本(以 0.24.0 为例,请根据实际情况调整版本号)
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.24.0/blackbox_exporter-0.24.0.linux-amd64.tar.gz
tar -xzf blackbox_exporter-0.24.0.linux-amd64.tar.gz
cd blackbox_exporter-0.24.0.linux-amd64
sudo mv blackbox_exporter /usr/local/bin/
sudo chown root:root /usr/local/bin/blackbox_exporter
在 /etc/blackbox_exporter/
目录下创建配置文件:
sudo mkdir /etc/blackbox_exporter
sudo vim /etc/blackbox_exporter/blackbox.yml
modules:
http_2xx:
prober: http
timeout: 5s
http:
valid_status_codes: [] # 默认2XX
method: GET
fail_if_ssl: false # 是否强制 SSL fal
follow_redirects: true # 是否跟随重定向
preferred_ip_protocol: "ip4"
icmp:
prober: icmp
timeout: 5s
tcp_connect:
prober: tcp
timeout: 5s
tcp:
preferred_ip_protocol: "ip4"
配置说明
http_2xx
:检测 HTTP 服务可用性。icmp
:使用 ping 检测主机连通性。tcp_connect
:检测端口是否开放。sudo vim /etc/systemd/system/blackbox_exporter.service
[Unit]
Description=Prometheus Blackbox Exporter
After=network.target
[Service]
User=root
ExecStart=/usr/local/bin/blackbox_exporter --config.file=/etc/blackbox_exporter/blackbox.yml
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start blackbox_exporter
sudo systemctl enable blackbox_exporter
sudo systemctl status blackbox_exporter
输出示例
● blackbox_exporter.service - Prometheus Blackbox Exporter
Loaded: loaded (/etc/systemd/system/blackbox_exporter.service; enabled)
Active: active (running)
默认 Blackbox Exporter 监听在 9115 端口。
curl http://localhost:9115
如果一切正常,你将看到 blackbox_exporter
指标页面。
在 Prometheus 配置文件中添加 Blackbox Exporter 监控项:
- job_name: blackbox
metrics_path: /probe
params:
module: [http_2xx] # 使用 http_2xx 模块
static_configs:
- targets:
- http://192.168.188.108:9080/example
- http://www.baidu.com
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 192.168.188.101:9115 # The blackbox exporter's real hostname:port.
sudo systemctl daemon-reload
sudo systemctl restart prometheus
在浏览器中访问:
http://192.168.188.101:9090/query
在 PromQL 中输入:
probe_success
1
:探测成功0
:探测失败sudo systemctl start blackbox_exporter
sudo systemctl stop blackbox_exporter
sudo systemctl restart blackbox_exporter
sudo journalctl -u blackbox_exporter -f
现在,你已经成功部署了 Blackbox Exporter,并与 Prometheus 完成了集成!