目录
- 一、准备工作
- 1.1 安装或关闭以下服务
- 1.2 本次安装环境
- 二、安装blackbox_exporter
- 2.1 下载并解压
- 2.2配置
- 2.3测试
- 三、配置blackbox_exporter
- 3.1配置blackbox.yml
- 3.2 开启blackbox_exporter
- 3.3配置prometheus.yml
- 四、其他
- 4.1`server returned HTTP status 400 Bad Request` 报错
- 4.2 google.com检测码返回probe_success 0
一、准备工作
1.1 安装或关闭以下服务
关闭防火墙等
linux时间校对
1.2 本次安装环境
配置信息 | 说明 |
---|---|
服务器IP地址 | 192.168.1.10 |
交换机IP地址 | 192.168.10.1 |
上网行为管理IP地址 | 192.168.20.1 |
系统版本 | CentOS7.4 |
内核 | ml-3.10.0 |
go版本 | 1.19.4 |
在本次安装前,先安装好prometheus+grafana。
prometheus+grafana安装文档
二、安装blackbox_exporter
2.1 下载并解压
wget -c https://github.com/prometheus/blackbox_exporter/releases/download/v0.23.0/blackbox_exporter-0.23.0.linux-amd64.tar.gz
tar xf blackbox_exporter-0.23.0.linux-amd64.tar.gz
2.2配置
mv blackbox_exporter-0.23.0.linux-amd64 /home/blackbox_exporter #修改文件名称
cd /home/blackbox_exporter/
./blackbox_exporter #启动snmp_exporter
2.3测试
访问测试http://192.168.1.10:9115/
三、配置blackbox_exporter
3.1配置blackbox.yml
vim /home/blackbox_exporter/blackbox.yml
modules:
http_2xx_ip4:
prober: http
timeout: 5s
http:
preferred_ip_protocol: "ip4"
http_2xx:
prober: http
http_post_2xx:
prober: http
http:
method: get
tcp_connect:
prober: tcp
pop3s_banner:
prober: tcp
tcp:
query_response:
- expect: "^+OK"
tls: true
tls_config:
insecure_skip_verify: false
grpc:
prober: grpc
grpc:
tls: true
preferred_ip_protocol: "ip4"
grpc_plain:
prober: grpc
grpc:
tls: false
service: "service1"
ssh_banner:
prober: tcp
tcp:
query_response:
"/home/blackbox_exporter/blackbox.yml" 54L, 1004C 1,1 顶端
modules:
http_2xx_ip4:
prober: http
timeout: 5s
http:
preferred_ip_protocol: "ip4"
http_2xx:
prober: http
http_post_2xx:
prober: http
http:
method: get
tcp_connect:
prober: tcp
pop3s_banner:
prober: tcp
tcp:
query_response:
- expect: "^+OK"
tls: true
tls_config:
insecure_skip_verify: false
grpc:
prober: grpc
grpc:
tls: true
preferred_ip_protocol: "ip4"
grpc_plain:
prober: grpc
grpc:
tls: false
service: "service1"
ssh_banner:
prober: tcp
tcp:
query_response:
- expect: "^SSH-2.0-"
- send: "SSH-2.0-blackbox-ssh-check"
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
icmp_ttl5:
prober: icmp
timeout: 5s
icmp:
ttl: 5
3.2 开启blackbox_exporter
./blackbox_exporter &
curl 'localhost:9115/probe?target=baidu.com' #开启后,可以测试下是否正常。返回probe_success 1则正常
3.3配置prometheus.yml
vim /usr/local/prometheus/prometheus.yml
- job_name: "http"
metrics_path: /probe
scrape_interval: 60s
params:
module: [http_2xx_ip4]
static_configs:
- targets:
- https://www.baidu.com
- https://google.com
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 192.168.1.10:9115
配置完毕后启动prometheus.yml,访问192.168.1.10:9090,选择status→targets查看
四、其他
4.1server returned HTTP status 400 Bad Request
报错
解决
prometheus.yml 中将replacement:127.0.0.1:9115修改成本机地址
4.2 google.com检测码返回probe_success 0
参考这篇文章添加以下配置
modules:
http_2xx_ip4:
prober: http
timeout: 5s
http:
preferred_ip_protocol: “ip4”