Logstash使用詳解

在做個性搜索的事情,準備使用Logstash+elasticsearch的方式來存儲用戶的行爲數據,看到這個篇博文寫的非常好,轉載過來!

另:轉載這篇文章時Logstash已經到了5.0rc1版本,爲啥版本號跳的這麼快,一個負責人說是爲了統一elasticsearch+Logstash+Kibana的版本號!

原文地址:http://www.cnblogs.com/xing901022/p/4802822.html


[Logstash]使用詳解

  Logstash是一款輕量級的日誌蒐集處理框架,可以方便的把分散的、多樣化的日誌蒐集起來,並進行自定義的處理,然後傳輸到指定的位置,比如某個服務器或者文件。

  本文針對官方文檔進行翻譯以及實踐,希望有更多的有用戶瞭解、使用這款工具。

下載、安裝、使用

  這款工具是開箱即用的軟件,下載地址戳這裏,下載自己對應的系統版本即可。

  下載後直接解壓,就可以了。

 

  通過命令行,進入到logstash/bin目錄,執行下面的命令:

logstash -e ""

  可以看到提示下面信息(這個命令稍後介紹),輸入hello world!

  可以看到logstash尾我們自動添加了幾個字段,時間戳@timestamp,版本@version,輸入的類型type,以及主機名host。

工作原理

  Logstash使用管道方式進行日誌的蒐集處理和輸出。有點類似*NIX系統的管道命令 xxx | ccc | ddd,xxx執行完了會執行ccc,然後執行ddd。

  在logstash中,包括了三個階段:

  輸入input --> 處理filter(不是必須的) --> 輸出output

  每個階段都由很多的插件配合工作,比如file、elasticsearch、redis等等。

  每個階段也可以指定多種方式,比如輸出既可以輸出到elasticsearch中,也可以指定到stdout在控制檯打印。

 

  由於這種插件式的組織方式,使得logstash變得易於擴展和定製。

命令行中常用的命令

  -f:通過這個命令可以指定Logstash的配置文件,根據配置文件配置logstash

  -e:後面跟着字符串,該字符串可以被當做logstash的配置(如果是“” 則默認使用stdin作爲輸入,stdout作爲輸出)

  -l:日誌輸出的地址(默認就是stdout直接在控制檯中輸出)

  -t:測試配置文件是否正確,然後退出。

配置文件說明

  前面介紹過logstash基本上由三部分組成,input、output以及用戶需要才添加的filter,因此標準的配置文件格式如下:

input {...} 
filter {...} 
output {...}

  

  在每個部分中,也可以指定多個訪問方式,例如我想要指定兩個日誌來源文件,則可以這樣寫:

input { 
 file { path =>"/var/log/messages" type =>"syslog"} 
 file { path =>"/var/log/apache/access.log" type =>"apache"} 
}

  類似的,如果在filter中添加了多種處理規則,則按照它的順序一一處理,但是有一些插件並不是線程安全的。

  比如在filter中指定了兩個一樣的的插件,這兩個任務並不能保證準確的按順序執行,因此官方也推薦避免在filter中重複使用插件。

 

  說完這些,簡單的創建一個配置文件的小例子看看:

複製代碼
input {
    file {
     #指定監聽的文件路徑,注意必須是絕對路徑
        path => "E:/software/logstash-1.5.4/logstash-1.5.4/data/test.log"
        start_position => beginning
    }
}
filter {
    
}
output {
    stdout {}
}
複製代碼

  日誌大致如下:

1 hello,this is first line in test.log!
2 hello,my name is xingoo!
3 goodbye.this is last line in test.log!
4 

  注意最後有一個空行。

  執行命令得到如下信息:

  細心的會發現,這個日誌輸出與上面的logstash -e "" 並不相同,這是因爲上面的命令默認指定了返回的格式是json形式。

 

  至此,就是logstash入門篇的介紹了,稍後會介紹關於logstash更多的內容,感興趣的可以關注哦!

參考

【1】Logstash官方文檔:https://www.elastic.co/guide/en/logstash/current/index.html  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章