配置模块
编辑配置模块编辑
您可以在 modules.d
目录(推荐)或 Metricbeat 配置文件中配置模块。在 modules.d
目录中启用模块的设置优先于 Metricbeat 配置文件中的模块设置。
在启用模块的情况下运行 Metricbeat 之前,请确保您也设置了环境以使用 Kibana 仪表板。有关更多信息,请参阅 快速入门:安装和配置。
在具有 POSIX 文件权限的系统上,所有 Beats 配置文件都需经过所有权和文件权限检查。有关更多信息,请参阅 配置文件所有权和权限。
在 modules.d
目录中配置模块编辑
modules.d
目录包含 Metricbeat 中所有可用模块的默认配置。要启用或禁用 modules.d
下的特定模块配置,请运行 modules enable
或 modules disable
命令。例如
metricbeat modules enable apache mysql
metricbeat modules enable apache mysql
./metricbeat modules enable apache mysql
./metricbeat modules enable apache mysql
PS > .\metricbeat.exe modules enable apache mysql
然后,当您运行 Metricbeat 时,它会加载在 modules.d
目录中指定的相应模块配置(例如,modules.d/apache.yml
和 modules.d/mysql.yml
)。
要查看已启用和已禁用的模块列表,请运行
metricbeat modules list
metricbeat modules list
./metricbeat modules list
./metricbeat modules list
PS > .\metricbeat.exe 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>
将它们禁用。
以下示例显示了启用 apache
和 mysql
模块的配置
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
编辑
用于 SSL 参数的配置选项,例如用于基于 HTTPS 的连接的证书颁发机构。
有关更多信息,请参阅 SSL。
headers
编辑
要与 HTTP 请求一起使用的标头列表。例如
headers: Cookie: abcdef=123456 My-Custom-Header: my-custom-value
bearer_token_file
编辑
如果定义,Metricbeat 将在初始化时读取文件的内容一次,然后在 HTTP 授权标头中使用该值。
basepath
编辑
一个可选的基路径,用于 HTTP URI。如果定义了该路径,Metricbeat 将在 HTTP URI 路径的第一个段中插入此值。
query
编辑
一个可选值,用于在 YAML 中传递常见的查询参数。与其使用语法 ?key=value&key2&value2
在主机值中设置查询参数,不如像这样在这里设置它
query: key: value key2: value2 list: - 1.1 - 2.95 - -15