避免 YAML 格式问题

编辑

配置文件使用 YAML 语法。当您编辑文件以修改配置设置时,有一些您应该了解的事项。

使用空格进行缩进

编辑

缩进在 YAML 中是有意义的。请确保使用空格而不是制表符来缩进节。

在默认配置文件以及文档中的所有示例中,我们每个缩进级别使用 2 个空格。我们建议您也这样做。

查看默认配置文件以了解结构

编辑

了解在哪里定义配置选项的最佳方法是查看提供的示例配置文件。配置文件包含 Beat 可用的大部分默认配置。要更改设置,只需取消注释该行并更改值。

测试您的配置文件

编辑

您可以测试您的配置文件以验证结构是否有效。只需切换到二进制文件安装的目录,并使用指定的 test config 命令在前台运行 Beat。例如

metricbeat test config -c metricbeat.yml

如果 Beat 在文件中发现错误,您将看到一条消息。

将正则表达式括在单引号中

编辑

如果您需要在 YAML 文件中指定正则表达式,最好将正则表达式括在单引号中,以解决 YAML 复杂的字符串转义规则。

有关 YAML 的更多信息,请参阅 http://yaml.org/

将路径括在单引号中

编辑

特别是 Windows 路径有时会包含空格或字符,例如驱动器盘符或三个点,这些可能会被 YAML 解析器误解。

为了避免这个问题,最好将路径括在单引号中。

避免在数值中使用前导零

编辑

如果您在数值字段中使用前导零(例如,09),而不将该值括在单引号中,则 YAML 解析器可能会错误地解释该值。如果该值是有效的八进制数,则会将其转换为整数。如果不是,则会将其转换为浮点数。

为了防止不希望出现的类型转换,请避免在字段值中使用前导零,或将值括在单引号中。

避免意外的模板变量解析

编辑

允许配置从环境变量解析数据的模板引擎可能会导致字符串中包含 $ 字符时出现错误。例如,如果密码字段包含 $$,则引擎会将其解析为 $

为了解决这个问题,可以使用 密钥库 或将所有 $ 的实例转义为 $$