歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

ELKStack的安裝

前言:   看了關於elk的文檔,似懂非懂,雲裡霧裡的,為了避免下個月把elk的相關知識都忘掉。還是決心費點事,把學習時遇到的詳細問題和進展都記錄下來。方便自己和其他需要者做參考。   本文先安裝elk。   安裝前的准備:   確認java版本,本機安裝的版本為1.8.0_45-B14.關於JDK的安裝這裡不在贅述。   安裝logstash:   首先下載logstash包,這裡選擇了版本1.5.4. 然而執行./logstash agent時報沒有指定conf的配置文件。 在百度裡搜索了一些ELK的安裝文檔,但說的都不太明白,故還是決定找官方文檔來入門。官方文檔地址見參考文獻。 我們先按照官方文檔寫一個簡單配置文件例子,做一下測試。以下為一個處理apachelog的logstash配置文件。    
#設置輸入源,這裡是從標准輸入中讀取。
input { stdin { } }
#設置使用的filter。
filter {
  grok {
    #message默認使用了apachelog的模板
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
  date {
    #指明了時間格式
    match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
  }
}
#定義輸出管道,這裡一個是輸出到本機的elasticSearch中,一個是輸出到標准輸出中。
output {
  elasticsearch { host => localhost }
  stdout { codec => rubydebug }
}

 

   將以上內容保存為logstash.conf.然後運行   bin/logstash -f logstash.conf 待啟動完畢,在控制台上輸入以下文本進行測試   127.0.0.1 - - [11/Dec/2013:00:01:45 -0800] "GET /xampp/status.php HTTP/1.1" 200 3891 "http://cadenza/xampp/navi.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0" 回車後我們能看到以下輸出。  Bingo,貌似logstash已經起作用了,它把我們的輸入文本,給切分為多個字段了。而且每個字段的命名都比較准確。猜測應該是我們配置了message的模板為"%{COMBINEDAPACHELOG}",而測試的文本也是一個apache的log日志中的一條。   按照官方文檔來解釋,起作用的是我們配置的“grok”的過濾器。grok按照每種log的格式預先定義了多種模板,只需使用時選定下你的日志適用的grok即可。更多的grok 模板可以從github上去獲取。   ?可以看到解析後的字段中出現了2處timestamp,一處帶著@符號,另一處則是log中解析出來的時間。   OK,第一個例子已經結束。我們已經能看到logstash是如何處理日志文件的思路了。
Copyright © Linux教程網 All Rights Reserved