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 配置选项中描述的选项。

度量集

以下度量集可用