您的位置:首页 > 其它

Logstash参考[6.1] »过滤器插件 » Csv过滤器插件-中文文档

2018-02-03 00:00 986 查看
摘要: Logstash参考[6.1] »过滤器插件 » Csv过滤器插件-中文文档

Csv过滤器插件

插件版本:v3.0.7

发布于:2017-11-07

更新日志

获得帮助

有关插件的问题,请在讨论论坛中打开一个主题。对于错误或功能请求,请在Github中打开一个问题。有关弹性支持插件的列表,请取消超链接参阅弹性支持列表

说明

CSV过滤器采用包含CSV数据的事件字段进行解析,并将其作为单独的字段存储(可以选择指定名称)。这个过滤器也可以用任何分隔符解析数据,而不仅仅是逗号。

Csv过滤器配置选项

该插件支持以下配置选项和稍后介绍的通用选项

设置输入类型需要
autodetect_column_names

boolean
NO
autogenerate_column_names

boolean
NO
columns

array
NO
convert

hash
NO
quote_char

string
NO
separator

string
NO
skip_empty_columns

booleanNO
source

string
NO
target

string
NO
另请参阅常用选项以获取所有过滤器插件支持的选项列表。

autodetect_column_names

值类型是 boolean

默认值是
false


定义是否应该从标题列自动检测列名称。默认为false。

autogenerate_column_names

值类型是boolean

默认值是
true


定义列名是否应该自动生成。默认为true。如果设置为false,则没有指定标题的列将不会被分析。

columns

值类型是 array

默认值是
[]


定义一个列名称列表(按照它们在CSV中出现的顺序,就像它是一个标题行一样)。如果
columns
未配置,或没有指定足够的列,那么默认的列名称是“column1”,“column2”等。如果数据中的列数多于此列列表中指定的值,那么额外的列将是自动编号:(例如“user_defined_1”,“user_defined_2”,“column3”,“column4”等)

convert

值类型是hash

默认值是
{}


定义一组要应用于列的数据类型转换。可能的转换是integer,float,date,date_time,boolean

#示例:

filter {
csv {
convert => {
“column1”=>“integer”
“column2”=>“boolean”
}
}
}


quote_char

值类型是string

默认值是
"\""


定义用于引用CSV字段的字符。如果没有指定,默认值是双引号
"
。可选的。

separator

值类型是string

默认值是
","


定义列分隔符值。如果未指定,则默认为逗号
,
。如果要将制表定义为分隔符,则需要将值设置为实际制表符而不是
\t
。可选的。

skip_empty_columns

值类型是boolean

默认值是
false


定义是否应该跳过空列。默认为false。如果设置为true,则不包含任何值的列不会被设置。

source

值类型是字符串

默认值是
"message"


source
字段中的CSV数据将被扩展为数据结构。

target

值类型是字符串

这个设置没有默认值。

定义放置数据的目标字段。默认写入事件的根。

常用选项

所有过滤器插件都支持以下配置选项:

设置输入类型需要
add_field

hash
NO
add_tag

array
NO
enable_metric

booleanNO
id

string
NO
periodic_flush

boolean
NO
remove_field

array
NO
remove_tag

array
NO

add_field

值类型是散列

默认值是
{}


如果此过滤器成功,请将任意字段添加到此事件。字段名称可以是动态的,并且可以包含事件的一部分
%{field}


例:

filter {
csv {
add_field => {“foo _%{somefield}”=>“Hello world,from%{host}”}
}
}

#你也可以一次添加多个字段:
filter {
csv {
add_field => {
“foo _%{somefield}”=>“Hello world,from%{host}”
“new_field”=>“new_static_value”
}
}
}

如果事件有字段,则
"somefield" == "hello"
此过滤器在成功时将添加字段(
foo_hello
如果存在),将上面的值
%{host}
替换为该事件中的值。第二个例子也会添加一个硬编码的字段。

add_tag

值类型是array

默认值是
[]


如果此过滤器成功,请向该事件添加任意标签。标签可以是动态的,并使用
%{field}
语法包括事件的一部分。

例:

filter {
csv {
add_tag => [“foo _%{somefield}”]
}
}

#您也可以一次添加多个标签:
filter {
csv {
add_tag => [“foo _%{somefield}”,“taggedy_tag”]
}
}

如果事件有字段
"somefield" == "hello"
这个过滤器,成功,将添加一个标签
foo_hello
(第二个例子当然会添加一个
taggedy_tag
标签)。

enable_metric

值类型是boolean

默认值是
true


为特定的插件实例禁用或启用度量标准日志记录,我们默认记录所有的度量标准,但是您可以禁用特定插件的度量标准收集。

id

值类型是string

这个设置没有默认值。

添加一个独特
ID
的插件配置。如果没有指定ID,Logstash将会生成一个。强烈建议在您的配置中设置此ID。当你有两个或多个相同类型的插件时,这是特别有用的,例如,如果你有2个csv过滤器。在这种情况下添加一个命名的ID将有助于在使用监视API时监视Logstash。

filter{
csv {
id =>“ABC”
}
}


periodic_flush

值类型是boolean

默认值是
false


定期调用过滤器刷新方法。可选的。

remove_field

值类型是array

默认值是
[]


如果此过滤器成功,请从此事件中删除任意字段。例:

filter {
csv {
remove_field => [“foo _%{somefield}”]
}
}

#你也可以同时删除多个字段:
filter {
csv {
remove_field => [“foo _%{somefield}”,“my_extraneous_field”]
}
}

如果事件有字段,则
"somefield" == "hello"
此过滤器在成功时将删除带有名称的字段(
foo_hello
如果存在)。第二个例子会删除一个额外的非动态字段。

remove_tag

值类型是array

默认值是
[]


如果此过滤器成功,请从事件中移除任意标签。标签可以是动态的,并使用
%{field}
语法包括事件的一部分。例:

filter {
csv {
remove_tag => [“foo _%{somefield}”]
}
}

#你也可以一次删除多个标签:
filter {
csv {
remove_tag => [“foo _%{somefield}”,“sad_unwanted_tag”]
}
}

如果事件具有字段,则
"somefield" == "hello"
该过滤器在成功时将删除标签(
foo_hello
如果存在)。第二个例子会删除一个令人伤心,不受欢迎的标签。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: