Как проверить доступность определенного tcp-порта с помощью blackbox_exporter?

#prometheus #prometheus-blackbox-exporter

#prometheus #prometheus-blackbox-exporter

Вопрос:

Я хочу проверить доступность tcp-порта 1521 на сервере базы данных Oracle.

но probe_success показывает 0, хотя порт доступен. Неверная цель?

моя конфигурация prometheus.

   - job_name: 'blackbox'
    metrics_path: /probe
    params:
      module: ['http_2xx', 'tcp_connect']  # Look for a HTTP 200 response.
    static_configs:
      - targets:
        - 172.27.1.8:1521 # Target to probe with http on port 1521.
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 172.27.1.54:9115  
  

blackbox.yml

 modules:
  http_2xx:
    prober: http
  http_post_2xx:
    prober: http
    http:
      method: POST
  tcp_connect:
    prober: tcp
  pop3s_banner:
    prober: tcp
    tcp:
      query_response:
      - expect: "^ OK"
      tls: true
      tls_config:
        insecure_skip_verify: false
  ssh_banner:
    prober: tcp
    tcp:
      query_response:
      - expect: "^SSH-2.0-"
  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
  

Ответ №1:

  module: ['http_2xx', 'tcp_connect']  # Look for a HTTP 200 response.
  

Параметр URL модуля принимает только один параметр, поэтому вы хотите:

   module: ['tcp_connect']