2015-06-10 13 views
8

Ho logstash che controlla una directory sull'host. Ogni volta che vede un log che corrisponde al percorso che ho specificato nel logstash config, inizia a importare i dati nel mio cluster elasticsearch. Logstash ha un modo per cancellare il log dopo averlo consumato?Elimina i log dopo il consumo: logstash

voglio scrivere script per cancellare i log che hanno già eseguito il logstash con ma come dovrei sapere quali log ha fatto?

forse voi ragazzi avete già fatto questo o avete un'idea di come implementarlo?

risposta

8

Logstash non è attualmente in grado di eliminare i file. L'obiettivo di file input plugin consiste nel monitorare continuamente i file, ma non c'è modo di sapere quando il file è finito, cioè quando non ci saranno più scritture.

Se si sa quando i file sono "completati", è possibile richiamare Logstash e inviare i file tramite lo stdin input plugin. Logstash terminerà dopo aver ricevuto la fine del file e quindi lo script potrebbe eliminare il file.

È anche possibile leggere i file sincedb e confrontare l'offset del file corrente di Logstash con le dimensioni del file corrispondente. Vedere Understanding sincedb files from Logstash file input per i dettagli sul formato dei file sincedb.

Oppure è sufficiente assicurarsi di disporre di spazio su disco sufficiente e utilizzare la rotazione regolare dei registri per eliminare i file in base ad es. età. Lo spazio su disco è probabilmente più economico del tuo tempo.

Problemi correlati