Logstash配置文件介紹ruby
Logstash配置文件有兩種,分別是pipeline配置文件和setting配置文件。elasticsearch
Pipeline配置文件主要定義logstash使用的插件以及每一個插件的設置,定義完成後使用 -f 參數來指定該配置文件。spa
如如下定義的一個簡單的配置文件:插件
input { stdin { } } output { elasticsearch { hosts => ["localhost:9200"] } stdout { codec => rubydebug } }
該配置文件使用兩個插件,分別是 input 和 output。而後使用啓動 logstash 時,使用 -f 參數來指定配置文件。debug
Pipeline配置文件結構:code
input {
...
}
filter {
...
}
output {
...
}
Input:blog
Input支持多種輸入事件源,經常使用輸入源以下:事件
一、beats:ip
Logstash從beats組件中獲取數據input
input { beats { port => 5044 } } output { elasticsearch { hosts => "localhost:9200" manage_template => false index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" document_type => "%{[@metadata][type]}" } }
以上配置中,logstash在5044端口監遵從beats組件中傳來的數據源。beats組件在輸出給logstash中配置logstash的主機ip和5044端口。
二、elasticsearch:
Logstash從elasticsearch中獲取數據
input { elasticsearch { hosts => "localhost" query => '{ "query": { "match": { "statuscode": 200 } }, "sort": [ "_doc" ] }' } }
以上配置中,從elasticsearch中查詢數據,而後做爲數據源輸入到logstash。
三、file:
Logstash從文本文件中獲取數據
path => "/var/log/*"
直接在 path 中指定文本文件的位置,支持通配。
四、支持多種輸入源類型......