文件输出插件编辑

  • 插件版本:v4.3.0
  • 发布时间:2020-04-27
  • 更新日志

有关其他版本,请参阅版本化插件文档

获取帮助编辑

如果您对该插件有任何疑问,请在论坛中打开一个主题。如有错误或功能请求,请在Github中打开一个问题。有关 Elastic 支持的插件列表,请参阅Elastic 支持矩阵

描述编辑

此输出将事件写入磁盘上的文件。您可以使用事件中的字段作为文件名和/或路径的一部分。

默认情况下,此输出以 JSON 格式将每个事件写入一行。您可以使用 line 编解码器自定义行格式,例如

output {
 file {
   path => ...
   codec => line { format => "custom format: %{message}"}
 }
}

文件输出配置选项编辑

此插件支持以下配置选项以及稍后描述的通用选项

另请参阅通用选项,以获取所有输出插件支持的选项列表。

 

create_if_deleted编辑

如果已删除配置文件,但插件正在处理事件,则插件将重新创建该文件。默认值 ⇒ true

dir_mode编辑

  • 值类型为数字
  • 默认值为-1

要使用的目录访问模式。请注意,由于 jruby 中的错误,系统 umask 在 Linux 上会被忽略:https://github.com/jruby/jruby/issues/3426 将其设置为 -1 将使用默认的操作系统值。例如:"dir_mode" => 0750

file_mode编辑

  • 值类型为数字
  • 默认值为-1

要使用的文件访问模式。请注意,由于 jruby 中的错误,系统 umask 在 Linux 上会被忽略:https://github.com/jruby/jruby/issues/3426 将其设置为 -1 将使用默认的操作系统值。例如:"file_mode" => 0640

filename_failure编辑

  • 值类型为字符串
  • 默认值为"_filepath_failures"

如果生成的路径无效,事件将保存在此文件中以及定义的路径内。

flush_interval编辑

  • 值类型为数字
  • 默认值为2

刷新写入日志文件的刷新间隔(以秒为单位)。0 将在每条消息后刷新。

gzip编辑

在写入磁盘之前对输出流进行 gzip 压缩。

path编辑

  • 这是一个必需的设置。
  • 值类型为字符串
  • 此设置没有默认值。

要写入的文件的路径。事件字段可以在这里使用,例如 /var/log/logstash/%{host}/%{application} 也可以利用 path 选项通过 joda 时间格式进行基于日期的日志轮换。这将使用事件时间戳。例如:path => "./test-%{+YYYY-MM-dd}.txt" 将创建 ./test-2013-05-29.txt

如果使用绝对路径,则不能以动态字符串开头。例如:/%{myfield}//test-%{myfield}/ 都不是有效的路径

stale_cleanup_interval编辑

  • 值类型为数字
  • 默认值为10

定义过期文件清理运行之间的间隔(以秒为单位)。过期文件清理周期将关闭非活动文件(即自上次周期以来未写入的文件)。

write_behavior编辑

如果为 append,则文件将以追加方式打开,每个新事件都将写入文件末尾。如果为 overwrite,则文件将在写入之前被截断,并且只有最近的事件会出现在文件中。

通用选项编辑

以下配置选项受所有输出插件支持

设置 输入类型 必需

codec

codec

enable_metric

布尔值

id

字符串

codec编辑

用于输出数据的编解码器。输出编解码器是一种方便的方法,可以在数据离开输出之前对其进行编码,而无需在 Logstash 管道中使用单独的过滤器。

enable_metric编辑

禁用或启用此特定插件实例的指标记录。默认情况下,我们会记录所有可以记录的指标,但您可以禁用特定插件的指标收集。

id编辑

  • 值类型为字符串
  • 此设置没有默认值。

向插件配置添加唯一的 ID。如果未指定 ID,Logstash 将生成一个。强烈建议在配置中设置此 ID。当您有两个或多个相同类型的插件时,这尤其有用。例如,如果您有两个文件输出。在这种情况下添加命名 ID 将有助于在使用监控 API 时监控 Logstash。

output {
  file {
    id => "my_plugin_id"
  }
}

id 字段中的变量替换仅支持环境变量,不支持使用密钥库中的值。