配置模块

编辑

您可以在 modules.d 目录(推荐)或 Metricbeat 配置文件中配置模块。启用模块在 modules.d 目录中的设置优先于 Metricbeat 配置文件中模块的设置。

在启用模块的情况下运行 Metricbeat 之前,请确保您还设置了使用 Kibana 仪表板的环境。有关更多信息,请参阅 快速入门:安装和配置

在具有 POSIX 文件权限的系统上,所有 Beats 配置文件都须经所有权和文件权限检查。有关更多信息,请参阅 配置文件所有权和权限

modules.d 目录中配置模块

编辑

modules.d 目录中包含 Metricbeat 中所有可用模块的默认配置。要在 modules.d 下启用或禁用特定模块配置,请运行 modules enablemodules disable 命令。例如

metricbeat modules enable apache mysql

然后,当您运行 Metricbeat 时,它会加载在 modules.d 目录中指定的相应模块配置(例如,modules.d/apache.ymlmodules.d/mysql.yml)。

要查看已启用和已禁用的模块列表,请运行

metricbeat modules list

要更改默认模块配置,请修改 modules.d 目录中的 .yml 文件。

以下示例显示了 Apache 模块的基本配置

- module: apache
  metricsets: ["status"]
  hosts: ["http://127.0.0.1/"]
  period: 10s
  fields:
    dc: west
  tags: ["tag"]
  processors:
  ....

有关其他配置示例,请参阅 配置组合

metricbeat.yml 文件中配置模块

编辑

如果可能,您应该使用 modules.d 目录中的配置文件。

但是,如果您从先前版本的 Metricbeat 升级并且不想将模块配置移动到 modules.d 目录,则在配置文件中直接配置 模块 是一种实用方法。您可以继续在 metricbeat.yml 文件中配置模块,但您将无法使用 modules 命令启用和禁用配置,因为该命令需要 modules.d 布局。

要在 metricbeat.yml 配置文件中启用特定模块和指标集,请在 metricbeat.modules 列表中添加条目。列表中的每个条目都以破折号 (-) 开头,后跟该模块的设置。

检查 modules.d 目录以验证您在 metricbeat.yml 中指定的模块是否已禁用(文件名以 .disabled 结尾)。如果未禁用,请立即运行 metricbeat modules disable <modulename> 禁用它们。

以下示例显示了一个配置,其中启用了 apachemysql 模块

metricbeat.modules:

#---------------------------- Apache Status Module ---------------------------
- module: apache
  metricsets: ["status"]
  period: 1s
  hosts: ["http://127.0.0.1/"]

#---------------------------- MySQL Status Module ----------------------------
- module: mysql
  metricsets: ["status"]
  period: 2s
  hosts: ["root@tcp(127.0.0.1:3306)/"]

在以下示例中,每秒都会抓取 Redis 主机的 stats 信息,因为这些是关键数据,但完整的 Apache 指标集列表仅每 30 秒抓取一次,因为这些指标不太关键。

metricbeat.modules:
- module: redis
  metricsets: ["info"]
  hosts: ["host1"]
  period: 1s
- module: apache
  metricsets: ["info"]
  hosts: ["host1"]
  period: 30s

配置变体

编辑

每个模块都带有一个默认配置文件。某些模块还带有一个或多个变体配置文件,其中包含该模块的常见备用配置。

当您看到已启用和已禁用模块的列表时,那些具有配置变体的模块将显示为 <module_name>-<variant_name>。您可以通过分别指定 metricbeat modules enable <module_name>-<variant_name>metricbeat modules disable <module_name>-<variant_name> 来启用或禁用模块的特定配置变体。

配置组合

编辑

您可以指定一个模块配置,该配置使用指标集、周期和主机的不同组合。

对于定义了多个指标集的模块,可以两次定义该模块并指定要为每个指标集使用的不同周期。对于以下示例,set1 指标集将每 10 秒抓取一次,而 set2 指标集将每 2 分钟抓取一次

- module: example
  metricsets: ["set1"]
  hosts: ["host1"]
  period: 10s
- module: example
  metricsets: ["set2"]
  hosts: ["host1"]
  period: 2m

标准配置选项

编辑

您可以为任何 Metricbeat 模块指定以下选项。某些模块需要其他配置设置。有关更多信息,请参阅 模块 部分。

module

编辑

要运行的模块的名称。有关每个模块的文档,请参阅 模块 部分。

metricsets

编辑

要执行的指标集列表。确保您只列出模块中可用的指标集。无法引用其他模块中的指标集。有关可用指标集的列表,请参阅 模块

enabled

编辑

一个布尔值,指定模块是否已启用。如果您使用默认配置文件 metricbeat.yml,则系统模块默认启用(设置为 enabled: true)。如果配置块中缺少 enabled 选项,则默认启用该模块。

period

编辑

指标集执行的频率。如果系统无法访问,Metricbeat 会为每个周期返回错误。此设置是必需的。

hosts

编辑

要从中获取信息的宿主机列表。对于某些指标集(例如系统模块),此设置是可选的。

fields

编辑

将与指标集事件一起发送的字段的字典。此设置是可选的。

tags

编辑

将与指标集事件一起发送的标签列表。此设置是可选的。

processors

编辑

要应用于指标集生成的数据的处理器列表。

有关在配置中指定处理器的信息,请参阅 处理器

index

编辑

如果存在,此格式化字符串将覆盖此模块事件的索引(对于 Elasticsearch 输出),或设置事件元数据的 raw_index 字段(对于其他输出)。此字符串只能引用代理名称和版本以及事件时间戳;要访问动态字段,请使用 output.elasticsearch.index 或处理器。

示例值:"%{[agent.name]}-myindex-%{+yyyy.MM.dd}" 可能扩展为 "metricbeat-myindex-2019.12.13"

keep_null

编辑

如果将此选项设置为 true,则输出文档中将发布具有 null 值的字段。默认情况下,keep_null 设置为 false

service.name

编辑

用户为收集数据的服务指定的名称。例如,它可以用于识别从具有相同 service.type 的不同集群的节点收集的信息。

标准 HTTP 配置选项

编辑

将主机定义为 HTTP URL 的模块和指标集可以使用 HTTP 的标准方案(http://https://)以及以下方案连接到本地管道

  • http+unix:// 连接到 UNIX 套接字。
  • http+npipe:// 连接到 Windows 命名管道。

以下选项可用于将主机定义为 HTTP URL 的模块和指标集

username

编辑

用于基本身份验证的用户名。

password

编辑

用于基本身份验证的密码。

connect_timeout

编辑

HTTP 连接完成的总时间限制(默认值:2 秒)。

timeout

编辑

模块发出的 HTTP 请求的总时间限制(默认值:10 秒)。

SSL 参数的配置选项,例如用于基于 HTTPS 的连接的证书颁发机构。

有关更多信息,请参阅 SSL

headers

编辑

要与 HTTP 请求一起使用的标头列表。例如

headers:
  Cookie: abcdef=123456
  My-Custom-Header: my-custom-value

bearer_token_file

编辑

如果已定义,Metricbeat 将在初始化时读取文件的内容一次,然后在 HTTP Authorization 标头中使用该值。

basepath

编辑

要在 HTTP URI 中使用的可选基本路径。如果已定义,Metricbeat 将在此值作为 HTTP URI 路径中的第一个段插入。

query

编辑

一个可选值,用于在 YAML 中传递通用查询参数。而不是使用语法 ?key=value&key2&value2 在主机值中设置查询参数,您可以像这样在这里设置它

query:
  key: value
  key2: value2
  list:
  - 1.1
  - 2.95
  - -15