HTTP 模块编辑

HTTP 模块是 Metricbeat 模块,用于调用没有专用 Metricbeat 模块的任意 HTTP 端点。

可以配置多个端点,这些端点会以规律的时间间隔轮询,并将结果发送到配置的输出通道。建议在每个应从中获取数据的主机上安装 Metricbeat 实例。

此模块的灵感来自 Logstash 的 http_poller 输入过滤器,但它不需要端点可被 Logstash 访问,因为 Metricbeat 模块将数据推送到配置的输出通道,例如 Logstash 或 Elasticsearch。

这在安全受限的网络设置中通常是必需的,在这些设置中,Logstash 无法访问所有服务器。相反,要监视的服务器本身安装了 Metricbeat,并且可以发送数据,或者收集器服务器安装了 Metricbeat,该收集器服务器部署在安全的网络环境中,并且可以访问要监视的所有服务器。

由于 HTTP 指标集也会获取标头,因此如果有很多不同的标头,这会导致 Elasticsearch 中有很多字段。如果您的情况是这样,并且您不需要标头,我们建议使用处理器过滤掉标头字段。

示例配置

HTTP 模块支持在 模块 中描述的标准配置选项。这是一个示例配置

metricbeat.modules:
- module: http
  #metricsets:
  #  - json
  period: 10s
  hosts: ["localhost:80"]
  namespace: "json_namespace"
  path: "/"
  #body: ""
  #method: "GET"
  #username: "user"
  #password: "secret"
  #request.enabled: false
  #response.enabled: false
  #json.is_array: false
  #dedot.enabled: false

- module: http
  #metricsets:
  #  - server
  host: "localhost"
  port: "8080"
  enabled: false
  #paths:
  #  - path: "/foo"
  #    namespace: "foo"
  #    fields: # added to the the response in root. overwrites existing fields
  #      key: "value"

此模块支持在使用 ssl 配置字段时使用 TLS 连接,如 SSL 中所述。它还支持在 标准 HTTP 配置选项 中描述的选项。

指标集

以下指标集可用