Logstash配置文件介紹

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 中指定文本文件的位置,支持通配。

四、支持多種輸入源類型......

相關文章
相關標籤/搜索