[Monitor] Premetheus With Blackbox Exporter
Step 1 Download blackbox_exporter
download_blackbox.sh
export http_proxy=http://192.168.0.80:8080
export https_proxy=http://192.168.0.80:8080
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.14.0/blackbox_exporter-0.14.0.linux-amd64.tar.gz
tar -xvf blackbox_exporter-0.14.0.linux-amd64.tar.gz
mv blackbox_exporter-0.14.0.linux-amd64 blackbox
Step 2 Add blackbox.service
edit /etc/systemd/system/blackbox.service
[Unit]
Description=Blackbox Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=root
Grouup=root
Type=simple
ExecStart=/blackbox/path/blackbox_exporter --config.file /blackbox/path/blackbox.yml
[Install]
WantedBy=multi-user.target
Step 3 Edit blackbox.yml
edit /blackbox/path/blackbox.yml
modules:
tcp_connect:
prober: tcp
timeout: 5s
icmp:
prober: icmp
timeout: 5s
icmp:
preferred_ip_protocol: ip4
Step 4 Start Service
sysctl -p && systemctl start blackbox.service
Step 5 Go To Prometheus And Setting
edit prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: master
rule_files:
- "/prometheus/path/alert.rules"
scrape_configs:
- job_name: "blackbox_demo"
scrape_interval: 30s
metrics_path: /probe
params:
module: [tcp_connect]
file_sd_configs:
- files:
- '/prometheus/path/yaml/blackbox_demo.yml'
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 8.8.8.8:9115
edit blackbox_demo.yml
(target can use IP
or FQDN
)
- labels:
module: tcp_connect
targets:
- 11.1.1.1:80
- 11.1.1.2:443
- 11.1.1.3:5672
- 11.1.1.4:18964
- 11.1.1.5:18964
- 11.1.1.6:18964
Step 6 Restart Prometheus Service
systemctl restart prometheus