1、安裝
這里是logstash7.3.1版本的。官方文檔:https://www.elastic.co/guide/en/logstash/7.6/introduction.html
下載ZIP連接:https://artifacts.elastic.co/downloads/logstash/logstash-7.3.1.zip
需要Java環(huán)境,下載后解壓。
2、初步學(xué)習(xí)
解壓后目錄。

image.png
config是放置配置文件。
bin是二進(jìn)制腳本,包括用來啟動Logstash的logstash和用來安裝插件的logstash-plugin。
3、demo:
初步了解后,這兒先測試下從文件讀取后輸出到控制臺。打開config文件夾,復(fù)制logstash-sample.conf 一份重命名為logstash.conf。打開logstash.conf。寫入配置:

image.png
文件路徑為絕對路徑。
4、修改完后可以測試下配置文件:
打開命令行,跳到bin目錄下運行 ./logstash -f ../config/logstash.conf -t。

image.png
5、啟動: ./logstash -f ../config/logstash.conf
成功輸出:

image.png
輸出后結(jié)束進(jìn)程就行。本來想著多試幾次,但是第二次運行,半天也沒有輸出,還以為是出問題了。找到一篇文章知道了原因:https://blog.51cto.com/zhangtaoze/1917274??磥頊y試的時候,文件內(nèi)容必須改變下,不然一時半會也輸不出來。
Logstash在輸出內(nèi)容中會給事件添加一些額外信息。比如@version、host、@timestamp都是新增的字段,而最重要的是@timestamp,用來標(biāo)記事件的發(fā)生時間。由于這個字段涉及到Logstash內(nèi)部流轉(zhuǎn),如果給一個字符串字段重命名為@timestamp的話,Logstash就會直接報錯。另外,也不能刪除這個字段。還有一個字段type,表示事件的唯一類型。tags,表示事件的某方面屬性。
6、過濾掉輸出的多余字段:
修改配置文件 如下:
input {
file {
path => ["/xxx/1.txt"]
type => "system"
start_position => "beginning"
}
}
filter {
mutate {
remove_field => ["@version","path","host","type","@timestamp"]
}
}
output {
stdout {}
}
結(jié)果:

image.png