有關插件的問題,請在討論論壇中打開一個主題。對於錯誤或功能請求,請在Github中打開一個問題。有關彈性支持插件的列表,請取消超連接參閱彈性支持列表。html
CSV過濾器採用包含CSV數據的事件字段進行解析,並將其做爲單獨的字段存儲(能夠選擇指定名稱)。這個過濾器也能夠用任何分隔符解析數據,而不單單是逗號。git
該插件支持如下配置選項和稍後介紹的通用選項。github
設置 | 輸入類型 | 須要 |
---|---|---|
|
booleanide |
NOui |
|
booleanspa |
NO插件 |
|
array |
NO |
|
hash |
NO |
|
string |
NO |
string |
NO |
|
boolean | NO |
|
string |
NO |
|
string |
NO |
另請參閱經常使用選項以獲取全部過濾器插件支持的選項列表。
autodetect_column_names
false
定義是否應該從標題列自動檢測列名稱。默認爲false。
autogenerate_column_names
true
定義列名是否應該自動生成。默認爲true。若是設置爲false,則沒有指定標題的列將不會被分析。
columns
[]
columns
未配置,或沒有指定足夠的列,那麼默認的列名稱是「column1」,「column2」等。若是數據中的列數多於此列列表中指定的值,那麼額外的列將是自動編號:(例如「user_defined_1」,「user_defined_2」,「column3」,「column4」等)convert
{}
定義一組要應用於列的數據類型轉換。可能的轉換是integer,float,date,date_time,boolean
#示例:
filter { csv { convert => { 「column1」=>「integer」 「column2」=>「boolean」 } } }
quote_char
"\""
定義用於引用CSV字段的字符。若是沒有指定,默認值是雙引號"
。可選的。
separator
","
定義列分隔符值。若是未指定,則默認爲逗號,
。若是要將製表定義爲分隔符,則須要將值設置爲實際製表符而不是\t
。可選的。
skip_empty_columns
false
定義是否應該跳過空列。默認爲false。若是設置爲true,則不包含任何值的列不會被設置。
source
"message"
該source
字段中的CSV數據將被擴展爲數據結構。
target
定義放置數據的目標字段。默認寫入事件的根。
全部過濾器插件都支持如下配置選項:
設置 | 輸入類型 | 須要 |
---|---|---|
hash |
NO | |
array |
NO | |
boolean | NO |
|
string |
NO |
|
boolean |
NO |
|
array |
NO |
|
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
[]
若是此過濾器成功,請向該事件添加任意標籤。標籤能夠是動態的,並使用%{field}
語法包括事件的一部分。
例:
filter { csv { add_tag => [「foo _%{somefield}」] } }
#您也能夠一次添加多個標籤: filter { csv { add_tag => [「foo _%{somefield}」,「taggedy_tag」] } }
若是事件有字段"somefield" == "hello"
這個過濾器,成功,將添加一個標籤foo_hello
(第二個例子固然會添加一個taggedy_tag
標籤)。
enable_metric
true
爲特定的插件實例禁用或啓用度量標準日誌記錄,咱們默認記錄全部的度量標準,可是您能夠禁用特定插件的度量標準收集。
id
添加一個獨特ID
的插件配置。若是沒有指定ID,Logstash將會生成一個。強烈建議在您的配置中設置此ID。當你有兩個或多個相同類型的插件時,這是特別有用的,例如,若是你有2個csv過濾器。在這種狀況下添加一個命名的ID將有助於在使用監視API時監視Logstash。
filter{ csv { id =>「ABC」 } }
periodic_flush
false
按期調用過濾器刷新方法。可選的。
remove_field
[]
若是此過濾器成功,請今後事件中刪除任意字段。例:
filter { csv { remove_field => [「foo _%{somefield}」] } }
#你也能夠同時刪除多個字段: filter { csv { remove_field => [「foo _%{somefield}」,「my_extraneous_field」] } }
若是事件有字段,則"somefield" == "hello"
此過濾器在成功時將刪除帶有名稱的字段(foo_hello
若是存在)。第二個例子會刪除一個額外的非動態字段。
remove_tag
[]
若是此過濾器成功,請從事件中移除任意標籤。標籤能夠是動態的,並使用%{field}
語法包括事件的一部分。例:
filter { csv { remove_tag => [「foo _%{somefield}」] } }
#你也能夠一次刪除多個標籤: filter { csv { remove_tag => [「foo _%{somefield}」,「sad_unwanted_tag」] } }
若是事件具備字段,則"somefield" == "hello"
該過濾器在成功時將刪除標籤(foo_hello
若是存在)。第二個例子會刪除一個使人傷心,不受歡迎的標籤。