1. 程式人生 > >logstash 外掛 input 詳解

logstash 外掛 input 詳解

本文只介紹幾種常用的, 具體可參考
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