Logstash 參考指南(File輸出插件)

File輸出插件

其餘版本,請參閱版本化的插件文檔html

獲取幫助

有關插件的問題,請在討論論壇中打開一個主題,對於bug或特性請求,在Github中打開一個issue,關於Elastic支持的插件列表,請考慮Elastic支持矩陣linux

描述

該輸出將事件寫入磁盤上的文件,你可使用事件中的字段做爲文件名和/或路徑的一部分。git

默認狀況下,該輸出以json格式爲每行寫入一個事件,你可使用相似的line編解碼器定製行格式:github

output {
 file {
   path => ...
   codec => line { format => "custom format: %{message}"}
 }
}

File輸出配置選項

這個插件支持如下配置選項以及後面描述的通用選項。json

設置 輸入類型 要求
create_if_deleted boolean No
dir_mode number No
file_mode number No
filename_failure string No
flush_interval number No
gzip boolean No
path string Yes
write_behavior string No

還能夠查看全部輸出插件支持的通用選項列表。ruby

create_if_deletedapp

  • 值類型爲boolean
  • 默認值爲true
  • 若是已配置的文件被刪除,可是插件處理了一個事件,插件將從新建立該文件,Default ⇒ true。

dir_modeide

  • 值類型爲number
  • 默認值爲-1
  • 要使用的目錄訪問模式,注意,因爲jruby系統中的bug,linux上忽略了umask:https://github.com/jruby/jruby/issues/3426,將其設置爲-1使用默認OS值,示例:「dir_mode」=> 0750

file_modeui

  • 值類型爲number
  • 默認值爲-1
  • 要使用的文件訪問模式,注意,因爲jruby系統中的bug,linux上忽略了umask:https://github.com/jruby/jruby/issues/3426,將其設置爲-1使用默認OS值,示例:"file_mode" => 0640

filename_failure編碼

  • 值類型爲string
  • 默認值爲"_filepath_failures"
  • 若是生成的路徑無效,事件將被保存到這個文件中而且在定義的路徑中。

flush_interval

  • 值類型爲number
  • 默認值爲2
  • 刷新寫入日誌文件的刷新間隔(以秒爲單位),0將刷新每一個消息。

gzip

  • 值類型爲boolean
  • 默認值爲false
  • 在寫入磁盤以前,Gzip輸出流。

path

  • 這是必需的設置
  • 值類型爲string
  • 此設置沒有默認值
  • 要寫入的文件的路徑,這裏可使用事件字段,像/var/log/logstash/%{host}/%{application},還可使用path選項經過joda時間格式進行基於日期的日誌循環,這將使用事件時間戳,如:path => "./test-%{+YYYY-MM-dd}.txt"來建立./test-2013-05-29.txt
  • 若是使用絕對路徑,則不能從動態字符串開始,如:/%{myfield}//test-%{myfield}/不是有效路徑。

write_behavior

  • 值類型爲string
  • 默認值爲append
  • 若是append,文件將被打開以追加而且每一個新事件將被寫入文件的末尾,若是overwrite,文件將在寫入以前被截斷,而且只有最近的事件纔會出如今文件中。

通用選項

全部輸出插件都支持如下配置選項:

設置 輸入類型 要求
codec codec No
enable_metric boolean No
id string No

codec

  • 值類型爲codec
  • 默認值爲"json_lines"
  • 用於輸出數據的編解碼器,輸出編解碼器是一種方便的方法,能夠在數據離開輸出以前對其進行編碼,而不須要在你的Logstash管道中使用單獨的過濾器。

enable_metric

  • 值類型爲boolean
  • 默認值爲true
  • 爲這個特定的插件實例禁用或啓用指標日誌記錄,默認狀況下,咱們記錄了全部咱們能夠記錄的指標,可是你能夠禁用特定插件的指標集合。

id

  • 值類型爲string
  • 此設置沒有默認值
  • 在插件配置中添加惟一的ID,若是沒有指定ID,則Logstash將生成一個,強烈建議在配置中設置此ID,當你有兩個或多個相同類型的插件時,這一點特別有用。例如,若是你有兩個電子郵件輸出,在本例中添加一個命名ID將有助於在使用監控API時監控Logstash。

    output {
      file {
        id => "my_plugin_id"
      }
    }
相關文章
相關標籤/搜索