最小化配置
redis
input {
redis {
data_type => "list" #logstash redis插件工做方式
key => "logstash-test-list" #監聽的鍵值
host => "127.0.0.1" #redis地址
port => 6379 #redis端口號
}
}
output {
stdout{}
}
詳細配置
數據庫
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{}
}
單個logstash啓動後,若是配置多個threads,那麼最後打印出的信息與隊列中的信息順序是不同的。
安全
下面給出了2w數據量,logstash在不一樣線程下的讀取速度:
服務器
Redis裏面有數據庫的概念,通常是16個,默認登陸後是0,能夠經過命令選擇。若是應用系統選擇使用了不一樣的數據庫,那麼能夠經過配置這個參數從指定的數據庫中讀取信息。測試
Redis中的數據都是經過鍵值來索引的,無論是字符串仍是列表,因此這個key至關於數據庫中的表。
若是是list或者channel模式,key都是指定的鍵值;而若是是pattern_channel,那麼key能夠經過glob通配的方式來指定。插件
有的Redis爲了安全,是須要進行驗證的。只有設置了password,才能正確的讀取信息。相反,若是redis沒有設置密碼,而logstash中配置了密碼,也會報錯!線程
這個屬性設置了服務器端返回的事件數目,好比設置了5條,那麼每次請求最多會直接獲取5條日誌返回。3d
logstash中的redis插件,指定了三種方式來讀取redis隊列中的信息。日誌
其中list,至關於隊列;channel至關於發佈訂閱的某個特定的頻道;pattern_channel至關於發佈訂閱某組頻道。code
能夠看到channel與pattern_channel區別就在於一個是監聽特定的鍵值,一個是監聽某一組鍵值。