CSV 输出插件

编辑
  • 插件版本:v3.0.10
  • 发布日期:2023-12-19
  • 更新日志

对于其他版本,请参阅版本化插件文档

获取帮助

编辑

有关插件的问题,请在Discuss论坛中打开一个主题。对于错误或功能请求,请在Github中打开一个 issue。有关 Elastic 支持的插件列表,请查阅Elastic 支持矩阵

描述

编辑

CSV 输出。

以 CSV 或其他分隔格式将事件写入磁盘。基于文件输出,许多配置值是共享的。内部使用 Ruby csv 库。

CSV 输出配置选项

编辑

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

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

 

create_if_deleted

编辑

如果配置的文件被删除,但插件处理了事件,则插件将重新创建该文件。默认值 => true

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

filename_failure

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

如果生成的路径无效,则会将事件保存在此文件和定义的路径内。

flush_interval

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

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

gzip

编辑

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

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}/ 是无效的路径。

spreadsheet_safe

编辑

不转义/修改字符串值的选项。请注意,关闭此选项可能不会使值在您的电子表格应用程序中安全。

通用选项

编辑

所有输出插件都支持这些配置选项

设置 输入类型 必需

codec

codec

enable_metric

布尔值

id

字符串

codec

编辑
  • 值类型为 codec
  • 默认值为 "plain"

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

enable_metric

编辑

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

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

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

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

id 字段中的变量替换仅支持环境变量,不支持使用来自秘密存储的值。