Elasticsearch

應該使用 Logstash 的 ElasticSearch Input Plugin 輸出到 ElasticSearch

  • December 21, 2018

我們希望使用來自 Logstash 的 ElasticSearch Input Plugin 通過 ElasticSearch 進行輸出。

MongoDB Input Plugin 已經成功地實時採集了這個特性。

但是,ElasticSearch 輸入外掛不會以您在執行收集時最近收集的數據開始。收集所有數據時會創建重複數據。

我想從我最近的收藏中收集數據。我該如何設置?

還有一個問題。

Mongo 輸入外掛通過“placeholder_db_dir”、“placeholder_db_name”設置區分最近收集的數據。

什麼是 ElasticSearch 輸入外掛?


我是配置文件資訊。

input {
 elasticsearch {
   hosts => '192.168.10.101:9200'
   index => 'sample'
   scroll => '5m'
   docinfo => true
 }
}

filter {
       json {
               source => 'message'
       }
}

output {
       elasticsearch {
               hosts => ["localhost:9200"]
               index => "es"
       }
       stdout { codec => rubydebug }
       file {
               path => '/home/jskang/jskang-platform/logs/logstash/logstash-%{+YYYY.MM.dd}.log'
               codec => rubydebug
       }
}

如果您的意圖是在最後 N 分鐘內擷取對 logstash 的更改,您將需要更直接地管理您的查詢和調度。elasticsearch 輸入沒有 a 的概念since_db,因此您需要通過使用結構化query =>並使用 a來完成schedule =>。如…

query    => [your ES query, returning everything in the last 2 minutes]
schedule => "/2 * * * *"

這將每 2 分鐘執行一次輸入集合,並返回最後 2 分鐘內帶有時間戳的所有內容。

引用自:https://serverfault.com/questions/946237