配置通用设置
编辑配置通用设置
编辑您可以在 filebeat.yml
配置文件中指定设置来控制 Filebeat 的通用行为。这包括
全局 Filebeat 配置选项
编辑这些选项位于 filebeat
命名空间中。
registry.path
编辑注册表的根路径。如果使用相对路径,则将其视为相对于数据路径。有关详细信息,请参阅目录布局部分。默认值为 ${path.data}/registry
。
filebeat.registry.path: registry
仅当刷新新事件时才会更新注册表,而不是在预定义的时间段内更新。这意味着,如果存在某些 TTL 已过期的状态,则仅在处理新事件时才会将其删除。
registry.file_permissions
编辑要应用于注册表数据文件的权限掩码。默认值为 0600。权限选项必须是八进制表示法表示的有效的 Unix 样式文件权限掩码。在 Go 中,八进制表示法中的数字必须以 0 开头。
允许的最宽松的掩码是 0640。如果通过此设置指定了更高的权限掩码,则它将受 0027 的 umask 约束。
此选项在 Windows 上不受支持。
示例
- 0640:授予文件所有者读写访问权限,以及与文件关联的组成员的读取访问权限。
- 0600:授予文件所有者读写访问权限,并且其他人无访问权限。
filebeat.registry.file_permissions: 0600
registry.flush
编辑控制何时将注册表条目写入磁盘(刷新)的超时值。当未写入的更新超过此值时,将触发写入磁盘的操作。当 registry.flush
设置为 0s 时,将在每批事件成功发布后将其写入磁盘。默认值为 1s。
Filebeat 正常关闭时,注册表始终会更新。异常关闭后,如果 registry.flush
值 > 0s,则注册表将不会是最新的。Filebeat 将再次发送已发布的事件(取决于上次更新的注册表文件中的值)。
过滤掉大量日志可能会导致许多注册表更新,从而降低处理速度。将 registry.flush
设置为 > 0s 的值可以减少写入操作,帮助 Filebeat 处理更多事件。
registry.migrate_file
编辑在 Filebeat 7.0 之前,注册表存储在一个文件中。当您升级到 7.0 时,Filebeat 将自动迁移旧的 Filebeat 6.x 注册表文件以使用新的目录格式。Filebeat 会在 filebeat.registry.path
指定的位置查找该文件。如果您在升级期间更改了路径,请设置 filebeat.registry.migrate_file
以指向旧的注册表文件。
filebeat.registry.path: ${path.data}/registry filebeat.registry.migrate_file: /path/to/old/registry_file
仅当尚不存在使用目录格式的注册表时,才会将注册表迁移到新位置。
config_dir
编辑[6.0.0] 已在 6.0.0 中弃用。请改用输入配置。
包含其他输入配置文件的目录的完整路径。每个配置文件必须以 .yml
结尾。每个配置文件还必须指定完整的 Filebeat 配置层次结构,即使每个文件只有 inputs
部分被处理。所有全局选项(如 registry_file
)都将被忽略。
config_dir
选项必须指向与主 Filebeat 配置文件所在的目录不同的目录。
如果指定的路径不是绝对路径,则将其视为相对于配置路径。有关详细信息,请参阅目录布局部分。
filebeat.config_dir: path/to/configs
shutdown_timeout
编辑Filebeat 在关闭时等待发布者完成发送事件之前关闭的时间。
默认情况下,此选项被禁用,Filebeat 不会在关闭之前等待发布者完成发送事件。这意味着,在 Filebeat 关闭之前发送到输出但未确认的任何事件将在您重新启动 Filebeat 时再次发送。有关其工作原理的更多详细信息,请参阅Filebeat 如何确保至少一次传递?。
您可以配置 shutdown_timeout
选项以指定 Filebeat 在关闭之前等待发布者完成发送事件的最长时间。如果在达到 shutdown_timeout
之前所有事件都已确认,则 Filebeat 将关闭。
此选项没有推荐的设置,因为确定 shutdown_timeout
的正确值在很大程度上取决于 Filebeat 运行的环境和输出的当前状态。
示例配置
filebeat.shutdown_timeout: 5s
通用配置选项
编辑所有 Elastic Beats 都支持这些选项。由于它们是通用选项,因此它们没有命名空间。
这是一个示例配置
name: "my-shipper" tags: ["service-X", "web-tier"]
name
编辑Beat 的名称。如果此选项为空,则使用服务器的 hostname
。名称作为每个已发布事务中的 agent.name
字段包含。您可以使用名称对单个 Beat 发送的所有事务进行分组。
示例
name: "my-shipper"
tags
编辑Beat 在每个已发布事务的 tags
字段中包含的标签列表。标签使您可以轻松地按不同的逻辑属性对服务器进行分组。例如,如果您有一个 Web 服务器集群,则可以在每个服务器上的 Beat 中添加“webservers”标签,然后在 Kibana Web 界面中使用过滤器和查询来获取整个服务器组的可视化效果。
示例
tags: ["my-service", "hardware", "test"]
fields
编辑您可以指定的可选字段,以向输出添加其他信息。字段可以是标量值、数组、字典或这些的任何嵌套组合。默认情况下,您在此处指定的字段将在输出文档中的 fields
子字典下分组。要将自定义字段存储为顶级字段,请将 fields_under_root
选项设置为 true。
示例
fields: {project: "myproject", instance-id: "574734885120952459"}
fields_under_root
编辑如果此选项设置为 true,则自定义fields 将作为输出文档中的顶级字段存储,而不是在 fields
子字典下分组。如果自定义字段名称与其他字段名称冲突,则自定义字段将覆盖其他字段。
示例
fields_under_root: true fields: instance_id: i-10a64379 region: us-east-1
processors
编辑要应用于 beat 生成的数据的处理器列表。
有关在配置中指定处理器的信息,请参阅处理器。
max_procs
编辑设置可以同时执行的 CPU 的最大数量。默认值为系统中可用的逻辑 CPU 数量。
timestamp.precision
编辑配置所有时间戳的精度。默认情况下,它设置为毫秒。可用选项:毫秒、微秒、纳秒