Logstash Input 配置詳解
1、從文件中輸入:👇
從文件讀取數據,如常見的日誌文件。文件讀取通常要解決幾個問題:
配置項:
補充:
path 語法配置:
/var/log/*.log:匹配/var/log目錄下以.log結尾的所有文件 /var/log/**/*.log:匹配/var/log所有子目錄下以.log結尾的文件 /var/log/{app1,app2,app3}/*.log:匹配/var/log目錄下app1,app2,app3子目錄中以.log結尾的文件
sincedb 語法配置:
通過logstash-input-file插件導入了一些本地日誌文件時,logstash會通過一個名爲sincedb的獨立文件中來跟蹤記錄每個文件中的當前位置。
這使得停止和重新啓動Logstash成爲可能,並讓它在不丟失在停止Logstashwas時添加到文件中的行數的情況下繼續運行。
sincedb默認保存在當前用戶的Home目錄下。
在調試的時候,我們可能希望取消sincedb的記錄功能,使文件每次都能從頭開始讀取。
此時,我們可以這樣來做:
input { file { path => ["文件路徑"] start_position => "beginning" sincedb_path => "/dev/null" } }
2、從 HTTP 中輸入:👇
Http插件是2.0版本纔出現的新插件,1.x是沒有這個插件的。
這個插件可以幫助logstash接收其他主機或者本機發送的http報文。
插件的原理很簡單,它自己啓動了一個ruby的服務器,用於接收Http請求。
然後會把host(IP地址)和header相關的信息添加到event中。
下面就看看這個插件如何使用吧!
先看看默認的配置吧!
http {}
簡單到心碎啊!其實有很多參數都是默認的... 上面的配置其實相當於:
http{ host => "0.0.0.0" port => 8080 additional_codecs => {"application/json"=>"json"} codec => "plain" threads => 4 ssl => false }
參數詳解:
3、從Redis 中輸入:👇
input { redis { batch_count => 1 #EVAL命令返回的事件數目 data_type => "list" #logstash redis插件工作方式 key => "logstash-test-list" #監聽的鍵值 host => "127.0.0.1" #redis地址 port => 6379 #redis端口號 password => "123qwe" #如果有安全認證,此項爲密碼 db => 0 #redis數據庫的編號 threads => 1 #啓用線程數量 } } output { stdout{} }
data_type logstash工作的類型:
logstash 中的 redis插件,指定了三種方式來讀取redis隊列中的信息。
list => BLPOP
channel => SUBSCRIBE
pattern_channel => PSUBSCRIBE
其中list,相當於隊列;channel相當於發佈訂閱的某個特定的頻道;pattern_channel相當於發佈訂閱某組頻道。
Logstash 文件詳解
logstash.yml
參數 | 用途 | 默認值 |
---|---|---|
|
節點名稱 | 主機名稱 |
|
/數據存儲路徑 | LOGSTASH_HOME/data/ |
|
輸出通道的工作workers數據量(提升輸出效率) | cpu核數 |
|
每個輸出插件的工作wokers數量 | 1 |
|
每次input數量 | 125 |
|
過濾配置文件目錄 | |
|
自動重新加載被修改配置 | false or true |
|
配置文件檢查時間 | |
|
日誌輸出路徑 | |
|
綁定主機地址,用戶指標收集 | “127.0.0.1” |
|
綁定端口 | 5000-9700 |
|
日誌輸出級別,如果config.debug開啓,這裏一定要是debug日誌 | info |
|
日誌格式 | * plain* |
|
自定義插件目錄 |
startup.options:
參數 | 用途 |
---|---|
JAVACMD =/usr/bin/java |
本地jdk |
LS_HOME =/opt/logstash |
logstash所在目錄 |
LS_SETTINGS_DIR ="${LS_HOME}/config" |
默認logstash配置文件目錄 |
LS_OPTS ="–path.settings ${LS_SETTINGS_DIR}" |
logstash啓動命令參數 指定配置文件目錄 |
LS_JAVA_OPTS ="" |
指定jdk目錄 |
LS_PIDFILE =/var/run/logstash.pid |
logstash.pid所在目錄 |
LS_USER =logstash |
logstash啓動用戶 |
LS_GROUP =logstash |
logstash啓動組 |
LS_GC_LOG_FILE =/var/log/logstash/gc.log |
logstash jvm gc日誌路徑 |
LS_OPEN_FILES =65534 |
logstash最多打開監控文件數量 |