Logstash 参考指南(File输出插件)

File输出插件

其余版本,请参阅版本化的插件文档html

获取帮助

有关插件的问题,请在讨论论坛中打开一个主题,对于bug或特性请求,在Github中打开一个issue,关于Elastic支持的插件列表,请考虑Elastic支持矩阵linux

描述

该输出将事件写入磁盘上的文件,你可使用事件中的字段做为文件名和/或路径的一部分。git

默认状况下,该输出以json格式为每行写入一个事件,你可使用相似的line编解码器定制行格式:github

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

File输出配置选项

这个插件支持如下配置选项以及后面描述的通用选项。json

设置 输入类型 要求
create_if_deleted boolean No
dir_mode number No
file_mode number No
filename_failure string No
flush_interval number No
gzip boolean No
path string Yes
write_behavior string No

还能够查看全部输出插件支持的通用选项列表。ruby

create_if_deletedapp

  • 值类型为boolean
  • 默认值为true
  • 若是已配置的文件被删除,可是插件处理了一个事件,插件将从新建立该文件,Default ⇒ true。

dir_modeide

  • 值类型为number
  • 默认值为-1
  • 要使用的目录访问模式,注意,因为jruby系统中的bug,linux上忽略了umask:https://github.com/jruby/jruby/issues/3426,将其设置为-1使用默认OS值,示例:“dir_mode”=> 0750

file_modeui

  • 值类型为number
  • 默认值为-1
  • 要使用的文件访问模式,注意,因为jruby系统中的bug,linux上忽略了umask:https://github.com/jruby/jruby/issues/3426,将其设置为-1使用默认OS值,示例:"file_mode" => 0640

filename_failure编码

  • 值类型为string
  • 默认值为"_filepath_failures"
  • 若是生成的路径无效,事件将被保存到这个文件中而且在定义的路径中。

flush_interval

  • 值类型为number
  • 默认值为2
  • 刷新写入日志文件的刷新间隔(以秒为单位),0将刷新每一个消息。

gzip

  • 值类型为boolean
  • 默认值为false
  • 在写入磁盘以前,Gzip输出流。

path

  • 这是必需的设置
  • 值类型为string
  • 此设置没有默认值
  • 要写入的文件的路径,这里可使用事件字段,像/var/log/logstash/%{host}/%{application},还可使用path选项经过joda时间格式进行基于日期的日志循环,这将使用事件时间戳,如:path => "./test-%{+YYYY-MM-dd}.txt"来建立./test-2013-05-29.txt
  • 若是使用绝对路径,则不能从动态字符串开始,如:/%{myfield}//test-%{myfield}/不是有效路径。

write_behavior

  • 值类型为string
  • 默认值为append
  • 若是append,文件将被打开以追加而且每一个新事件将被写入文件的末尾,若是overwrite,文件将在写入以前被截断,而且只有最近的事件才会出如今文件中。

通用选项

全部输出插件都支持如下配置选项:

设置 输入类型 要求
codec codec No
enable_metric boolean No
id string No

codec

  • 值类型为codec
  • 默认值为"json_lines"
  • 用于输出数据的编解码器,输出编解码器是一种方便的方法,能够在数据离开输出以前对其进行编码,而不须要在你的Logstash管道中使用单独的过滤器。

enable_metric

  • 值类型为boolean
  • 默认值为true
  • 为这个特定的插件实例禁用或启用指标日志记录,默认状况下,咱们记录了全部咱们能够记录的指标,可是你能够禁用特定插件的指标集合。

id

  • 值类型为string
  • 此设置没有默认值
  • 在插件配置中添加惟一的ID,若是没有指定ID,则Logstash将生成一个,强烈建议在配置中设置此ID,当你有两个或多个相同类型的插件时,这一点特别有用。例如,若是你有两个电子邮件输出,在本例中添加一个命名ID将有助于在使用监控API时监控Logstash。

    output {
      file {
        id => "my_plugin_id"
      }
    }
相关文章
相关标签/搜索