首页 > 解决方案 > Metricbeat Prometheus 客户端超时使用 Pagespeed Exporter

问题描述

我目前正在尝试使用 Metricbeat 将数据从 Prometheus Pagespeed Exporter ( https://github.com/foomo/pagespeed_exporter ) 直接加载到 ELK 中。看起来如此,Pagespeed Exporter 的调用需要比 Metricbeats 提供的更多时间来抓取所需的数据。发生客户端超时:

unable to decode response from prometheus endpoint: error making http request: Get http://pagespeed-exporter-monitoring:9271/metrics: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

目前,请求在大约 10 秒后被取消,而 metricbeat 中的超时应定义为超时 = 周期(https://www.elastic.co/guide/en/beats/devguide/current/metricset-details.html)。在我的情况下,Period 配置为 3600s。

metricbeat:
  deployment:
    metricbeatConfig:
      metricbeat.yml: |
        metricbeat.modules:
        - module: prometheus
          enabled: true
          period: 3600s
          hosts: ["pagespeed-exporter-monitoring:9271"]
          metrics_path: /metrics

是否有任何增加超时的选项或是否有任何其他问题?

标签: kibanamonitoringprometheusmetricbeat

解决方案


您可以覆盖模块配置上的超时, https://www.elastic.co/guide/en/beats/metricbeat/current/configuration-metricbeat.html#_timeout

例如:

metricbeat:
  deployment:
    metricbeatConfig:
      metricbeat.yml: |
        metricbeat.modules:
        - module: prometheus
          enabled: true
          period: 3600s
          hosts: ["pagespeed-exporter-monitoring:9271"]
          metrics_path: /metrics
          timeout: 60s # adjust here

推荐阅读