prometheus+grafana黑盒监控
安装blackbox_exporter
tar -xf blackbox_exporter-0.26.0.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/blackbox_exporter-0.26.0.linux-amd64 /usr/local/blackbox_exporter
# 配置开机自启
cat /usr/lib/systemd/system/blackbox_exporter.service
[Unit]
Description=blackbox_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/blackbox_exporter/blackbox_exporter --config.file /usr/local/blackbox_exporter/blackbox.yml
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable blackbox_exporter.service
systemctl start blackbox_exporter.service
systemctl status blackbox_exporter.service
prometheus配置
vim /data/prometheus/prometheus.yml
- job_name: "blackbox_http"
scrape_interval: 15s
scrape_timeout: 5s
metrics_path: /probe
params:
module: [http_2xx]
file_sd_configs:
- files:
- /data/prometheus/target/http.yml
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 10.0.0.63:9115
- job_name: 'blackbox_port'
scrape_interval: 15s
scrape_timeout: 5s
metrics_path: /probe
params:
module: [tcp_connect]
file_sd_configs:
- files:
- /data/prometheus/target/port.yml
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 10.0.0.63:9115
cat /data/prometheus/target/http.yml
- targets: [http://eladmin.zqfstack.com]
labels:
module: 'http_2xx'
env: 'prod'
project: 'eladmin'
name: 'eladmin_backend'
- targets: [http://eladmin-docker.zqfstack.com]
labels:
module: 'http_2xx'
env: 'prod'
project: 'eladmin'
name: 'eladmin_docker_backend'
- targets: [https://ruoyi.zqfstack.com]
labels:
module: 'http_2xx'
env: 'prod'
project: 'ruoyi'
name: 'ruoyi_backend'
- targets: [http://ruoyi-docker.zqfstack.com]
labels:
module: 'http_2xx'
env: 'prod'
project: 'ruoyi'
name: 'ruoyi_docker_backend'
cat /data/prometheus/target/port.yml
- targets: ['10.0.0.60:53']
labels:
module: 'udp'
env: 'prod'
project: 'ops'
name: 'ops_dnsmasq'
注意:如果https的证书是自签名证书,则需要设置跳过TLS认证。比如:
cat /usr/local/blackbox_exporter/blackbox.yml |head -n 10
modules:
http_2xx:
prober: http
http:
preferred_ip_protocol: "ip4"
tls_config:
insecure_skip_verify: true # 跳过TLS认证
热加载prometheus:
curl -X POST http://localhost:9090/-/reload
查看是否正常
配置grafana模版
导入面板:9965