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í)
解壓后目錄唯灵。
config是放置配置文件贾铝。
bin是二進(jìn)制腳本,包括用來啟動Logstash的logstash和用來安裝插件的logstash-plugin。
3垢揩、demo:
初步了解后玖绿,這兒先測試下從文件讀取后輸出到控制臺。打開config文件夾叁巨,復(fù)制logstash-sample.conf 一份重命名為logstash.conf斑匪。打開logstash.conf。寫入配置:
文件路徑為絕對路徑锋勺。
4蚀瘸、修改完后可以測試下配置文件:
打開命令行,跳到bin目錄下運(yùn)行 ./logstash -f ../config/logstash.conf -t庶橱。
5贮勃、啟動: ./logstash -f ../config/logstash.conf
成功輸出:
輸出后結(jié)束進(jìn)程就行。本來想著多試幾次苏章,但是第二次運(yùn)行寂嘉,半天也沒有輸出,還以為是出問題了枫绅。找到一篇文章知道了原因:https://blog.51cto.com/zhangtaoze/1917274垫释。看來測試的時(shí)候撑瞧,文件內(nèi)容必須改變下,不然一時(shí)半會也輸不出來显蝌。
Logstash在輸出內(nèi)容中會給事件添加一些額外信息预伺。比如@version、host曼尊、@timestamp都是新增的字段酬诀,而最重要的是@timestamp,用來標(biāo)記事件的發(fā)生時(shí)間骆撇。由于這個(gè)字段涉及到Logstash內(nèi)部流轉(zhuǎn)瞒御,如果給一個(gè)字符串字段重命名為@timestamp的話,Logstash就會直接報(bào)錯(cuò)神郊。另外肴裙,也不能刪除這個(gè)字段。還有一個(gè)字段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é)果: