Remember: if a new user has a bad time, it's a bug in logstash.
https://kibana.logstash.es/content/logstash/
每位系統(tǒng)管理員都肯定寫過很多類似這樣的命令:cat randdata | awk '{print $2}' | sort | uniq -c | tee sortdata。這個(gè)管道符|可以算是 Linux 世界最偉大的發(fā)明之一(另一個(gè)是“一切皆文件”)。
Logstash 就像管道符一樣!
你輸入(就像命令行的cat)數(shù)據(jù),然后處理過濾(就像awk或者uniq之類)數(shù)據(jù),最后輸出(就像tee)到其他地方。
當(dāng)然實(shí)際上,Logstash 是用不同的線程來實(shí)現(xiàn)這些的。如果你運(yùn)行top命令然后按下H鍵,你就可以看到下面這樣的輸出:
。。。
數(shù)據(jù)在線程之間以事件的形式流傳。不要叫行,因?yàn)?logstash 可以處理多行事件。
Logstash 會(huì)給事件添加一些額外信息。最重要的就是@timestamp,用來標(biāo)記事件的發(fā)生時(shí)間。