tcp方式:
- job_name: 'kubernetes-probe-vip-tcp'
static_configs:
- targets: ['nfs-vip:2049']
labels:
vip_device: 'nfs-vip'
instance: nfs-vip
metrics_path: /probe
params:
module: [tcp_connect]
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__address__]
target_label: __param_target
- target_label: __address__
replacement: blackbox-exporter.default.svc.cluster.local.:9115
- source_labels: [__param_target]
target_label: target_url
http方式:
- job_name: 'kubernetes-probe-vip-http'
static_configs:
- targets: ['http://1.1.1.1:1234/xxx']
labels:
vip_device: 'xxx'
instance: 1.1.1.1
metrics_path: /probe
params:
module: [http_2xx]
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__address__]
target_label: __param_target
- target_label: __address__
replacement: blackbox-exporter.default.svc.cluster.local.:9115
- source_labels: [__param_target]
target_label: target_url
通過blackbox請求樣例:curl 'http://x.x.x.x:9115/probe?module=tcp_connect&target=y.y.y.y:2049'
響應如下,probe_success爲1表示target是通的,爲0表示不通:
# HELP probe_dns_lookup_time_seconds Returns the time taken for probe dns lookup in seconds
# TYPE probe_dns_lookup_time_seconds gauge
probe_dns_lookup_time_seconds 2.5184e-05
# HELP probe_duration_seconds Returns how long the probe took to complete in seconds
# TYPE probe_duration_seconds gauge
probe_duration_seconds 0.000606282
# HELP probe_failed_due_to_regex Indicates if probe failed due to regex
# TYPE probe_failed_due_to_regex gauge
probe_failed_due_to_regex 0
# HELP probe_ip_protocol Specifies whether probe ip protocol is IP4 or IP6
# TYPE probe_ip_protocol gauge
probe_ip_protocol 4
# HELP probe_success Displays whether or not the probe was a success
# TYPE probe_success gauge
probe_success 1
產生的指標樣例如下:
probe_success{instance="1.1.1.1",job="kubernetes-probe-vip-tcp",target_url="1.1.1.1:2049",vip_device="nfs-vip"} 1
1表示執行telnet 1.1.1.1 2049 是通的,可表示vip是正常的
0表示不通,有可能vip是有問題的,也可能是nfs有問題