Пробники возвращают ноль - PullRequest
0 голосов
/ 19 февраля 2019

Я изо всех сил пытался понять, почему некоторые конечные точки HTTP возвращают '0' для 'probe_success' и 'probe_http_status_code', в то же время будучи в состоянии полностью получить «правильный» ответ с помощью 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

1 Ответ

0 голосов
/ 14 марта 2019

Если вы добавите &debug=true, вы получите некоторые сведения об ошибке.

My думаю, означает, что 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

Из документации blackbox :

  # 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" # <---- !
...