logstash 外掛 input 詳解
阿新 • • 發佈:2018-11-16
本文只介紹幾種常用的, 具體可參考
input
外掛官方詳解: https://www.elastic.co/guide/en/logstash/current/input-plugins.html
標準輸入 stdin{}
input{
stdin{
add_field => {"key" => "value"} #向事件新增一個欄位
codec => "plain" #預設是line, 可通過這個引數設定編碼方式
tags => ["std"] #新增標記
type => "std" #新增型別
id => 1 #新增一個唯一的ID, 如果沒有指定ID, 那麼將生成一個ID
enable_metric => true #是否開啟記錄日誌, 預設true
}
}
# stdin官方參考: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-stdin.html
檔案輸入 file{}
input{
file{
path => ["/var/log/nginx/access.log", "/var/log/nginx/error.log" ] #處理的檔案的路徑, 可以定義多個路徑
exclude => "*.zip" #匹配排除
sincedb_path => "/data/" #sincedb資料檔案的路徑, 預設<path.data>/plugins/inputs/file
codec => "plain" #預設是plain,可通過這個引數設定編碼方式
tags => ["nginx"] #新增標記
type => "nginx" #新增型別
discover_interval => 2 #每隔多久去查一次檔案, 預設15s
stat_interval => 1 #每隔多久去查一次檔案是否被修改過, 預設1s
start_position => "beginning" #從什麼位置開始讀取檔案資料, beginning和end, 預設是結束位置end
}
}
# file官方參考: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html
TCP/UDP輸入 tcp/udp{}
input{
tcp{
port => 8888 #埠
mode => "server" #操作模式, server:監聽客戶端連線, client:連線到伺服器
host => "0.0.0.0" #當mode為server, 指定監聽地址, 當mode為client, 指定連線地址, 預設0.0.0.0
ssl_enable => false #是否啟用SSL, 預設false
ssl_cert => "" #SSL證書路徑
ssl_extra_chain_certs => [] #將額外的X509證書新增到證書鏈中
ssl_key => "" #SSL金鑰路徑
ssl_key_passphrase => "nil" #SSL金鑰密碼, 預設nil
ssl_verify => true #核實與CA的SSL連線的另一端的身份
tcp_keep_alive => false #TCP是否保持alives
}
}
input{
udp{
buffer_size => 65536 #從網路讀取的最大資料包大小, 預設65536
host => 0.0.0.0 #監聽地址
port => 8888 #埠
queue_size => 2000 #在記憶體中儲存未處理的UDP資料包的數量, 預設2000
workers => 2 #處理資訊包的數量, 預設2
}
}
# tcp官方參考: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-tcp.html
# udp官方參考: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-udp.html
syslog輸入 syslog{}
input{
syslog{
host => 0.0.0.0 #監聽地址, 預設0.0.0.0
port => "8888" #埠
}
}
# syslog官方參考: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-syslog.html