我一直在努力理解为什么某些HTTP端点为“ probe_success”和“ probe_http_status_code”返回“ 0”,同时完全能够通过curl获得“有效”响应。
示例:curl -s "localhost:9115/probe?target=http://linux.org&module=http_2xx" | grep -v '^#'
输出:
probe_dns_lookup_time_seconds 0.003712821
probe_duration_seconds 0.212811871
probe_failed_due_to_regex 0
probe_http_content_length 0
probe_http_duration_seconds{phase="connect"} 0.002263513
probe_http_duration_seconds{phase="processing"} 0.196389853
probe_http_duration_seconds{phase="resolve"} 0.006723945
probe_http_duration_seconds{phase="tls"} 0
probe_http_duration_seconds{phase="transfer"} 2.6001e-05
probe_http_redirects 1
probe_http_ssl 0
probe_http_status_code 0
probe_http_version 0
probe_ip_protocol 4
probe_success 0
这是职位定义:
- job_name: 'blackbox'
scrape_interval: 30s
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- http://linux.org
relabel_configs:
- source_labels: [__address__]
regex: '(.*)(:80)?'
target_label: __param_target
- source_labels: [__param_target]
regex: '(.*)'
target_label: instance
replacement: '${1}'
- source_labels: []
regex: '.*'
target_label: __address__
replacement: 'blackbox:9115'
和模块定义:
modules:
http_2xx:
prober: http
timeout: 15s
http:
valid_status_codes: []
method: GET
答案 0 :(得分:1)
就我而言,我要在valid_http_versions
部分中添加HTTP/1.0
条目。我的终点是Odoo13。@ Rafa建议的&debug=true
为我提供了实现这一点的信息。
答案 1 :(得分:0)
如果您附加&debug=true
,则会得到有关该错误的一些详细信息。
我的猜测是blackbox_exporter无法连接,因为它默认为ipv6连接,并且无法正常工作。
在我的情况(同样的问题)中,调试输出显示
level=error msg="Resolving target address" ip_protocol=ip6
level=error msg="Resolution with IP protocol failed (fallback_ip_protocol is false): err"
level=error msg="Error resolving address" err="address apple.com: no suitable address found"
level=error msg="Probe failed" duration_seconds=0.003648031
# The IP protocol of the HTTP probe (ip4, ip6).
[ preferred_ip_protocol: <string> | default = "ip6" ]
[ ip_protocol_fallback: <boolean> | default = true ]
因此,如果您修改模块配置,它应该可以工作:
modules:
http_2xx:
prober: http
timeout: 15s
http:
valid_status_codes: []
method: GET
preferred_ip_protocol: "ip4" # <---- !
答案 2 :(得分:0)
在我的情况下,有:“ x509:由未知授权机构签名的证书”
由http部分下的固定
tls_config:
insecure_skip_verify: false