2015-07-22 62 views

回答

2

我使用exec在logstash過濾器的輸出上解決了問題,並創建了一個bash腳本來終止logstash過程。

在logstash濾波器:

input 
    { 
     ... 
    } 
    filter 
    { 
     ... 
    } 
    output 
    { 
    exec 
    { 
     command => "sh kill_logstash.sh" 
    } 
    ... 
    } 

在bash腳本(kill_logstash.sh):

#!/bin/bash 
    echo 'Terminou a leitura do ficheiro' 
    pkill -f logstash 
    exit 0 

同樣的問題:How to automatically kill a logstash agent when tests are done?

1

在logstash中沒有eof的概念。 logstash連續監視器輸入文件。如果文件中發生任何變化,它將發送到過濾器。 如果要監視多個文件,則可以在輸入節中輸入多個文件塊。