CSV 输出插件
编辑CSV 输出插件
编辑- 插件版本:v3.0.10
- 发布日期:2023-12-19
- 更新日志
对于其他版本,请参阅版本化插件文档。
获取帮助
编辑有关插件的问题,请在Discuss论坛中打开一个主题。对于错误或功能请求,请在Github中打开一个 issue。有关 Elastic 支持的插件列表,请查阅Elastic 支持矩阵。
CSV 输出配置选项
编辑此插件支持以下配置选项以及稍后描述的通用选项。
设置 | 输入类型 | 必需 |
---|---|---|
否 |
||
否 |
||
否 |
||
是 |
||
否 |
||
否 |
||
否 |
||
否 |
||
是 |
||
否 |
另请参阅通用选项,查看所有输出插件支持的选项列表。
csv_options
编辑- 值类型为 哈希
- 默认值为
{}
CSV 输出的选项。 这会直接传递给 Ruby stdlib 的 to_csv 函数。完整的文档可在 Ruby CSV 文档页面上找到。一个典型的用例是使用替代的列或行分隔符,例如:csv_options => {"col_sep" => "\t" "row_sep" => "\r\n"}
,这将提供制表符分隔的数据和 Windows 换行符。
dir_mode
编辑- 值类型为 数字
- 默认值为
-1
要使用的目录访问模式。请注意,由于 jruby 系统中的错误,在 Linux 上会忽略 umask:https://github.com/jruby/jruby/issues/3426。将其设置为 -1 将使用默认的操作系统值。示例:"dir_mode" => 0750
fields
编辑- 这是一个必填设置。
- 值类型为 数组
- 此设置没有默认值。
应写入 CSV 文件的事件中的字段名称。字段按照数组的顺序写入 CSV。如果事件中不存在某个字段,则会写入一个空字符串。支持字段引用语法,例如:fields => ["field1", "[nested][field]"]
。
file_mode
编辑- 值类型为 数字
- 默认值为
-1
要使用的文件访问模式。请注意,由于 jruby 系统中的错误,在 Linux 上会忽略 umask:https://github.com/jruby/jruby/issues/3426。将其设置为 -1 将使用默认的操作系统值。示例:"file_mode" => 0640
path
编辑- 这是一个必填设置。
- 值类型为 字符串
- 此设置没有默认值。
此输出将事件写入磁盘上的文件。您可以使用事件中的字段作为文件名和/或路径的一部分。
默认情况下,此输出以json 格式每行写入一个事件。您可以使用 line
编解码器自定义行格式,如下所示
output { file { path => ... codec => line { format => "custom format: %{message}"} } }
要写入的文件的路径。可以在此处使用事件字段,例如 /var/log/logstash/%{host}/%{application}
。也可以使用路径选项通过 joda 时间格式进行基于日期的日志轮换。这将使用事件时间戳。例如:path => "./test-%{+YYYY-MM-dd}.txt"
以创建 ./test-2013-05-29.txt
。
如果使用绝对路径,则不能以动态字符串开头。例如:/%{myfield}/
,/test-%{myfield}/
是无效的路径。
通用选项
编辑所有输出插件都支持这些配置选项