Logstash參考[6.1] »過濾器插件 » Csv過濾器插件-中文文檔

Csv過濾器插件

  • 插件版本:v3.0.7
  • 發佈於:2017-11-07
  • 更新日誌

得到幫助

有關插件的問題,請在討論論壇中打開一個主題。對於錯誤或功能請求,請在Github中打開一個問題。有關彈性支持插件的列表,請取消超連接參閱彈性支持列表html

說明

CSV過濾器採用包含CSV數據的事件字段進行解析,並將其做爲單獨的字段存儲(能夠選擇指定名稱)。這個過濾器也能夠用任何分隔符解析數據,而不單單是逗號。git

Csv過濾器配置選項

該插件支持如下配置選項和稍後介紹的通用選項github

設置 輸入類型 須要

autodetect_column_names數據結構

booleanide

NOui

autogenerate_column_names編碼

booleanspa

NO插件

columns日誌

array

NO

convert

hash

NO

quote_char

string

NO

separator

string

NO

skip_empty_columns

boolean

NO

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

boolean

NO

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若是存在)。第二個例子會刪除一個使人傷心,不受歡迎的標籤。

相關文章
相關標籤/搜索