Logstash:接收,處理,轉發日誌
Elasticsearch:文檔型數據庫,實時的分佈式搜索和分析引擎
Kibana:查詢、生成報表的web GUIgit
在安裝目錄bin文件夾裏新建一個logstash.conf
填入如下配置github
input { stdin {} } filter { grok { match => ["message", "%{COMBINEDAPACHELOG}"] } } output { stdout { codec => rubydebug } }
配置文件語法相似Rubyweb
* patterns本地路徑大體爲:logstash-1.5.0\vendor\bundle\jruby\1.9\gems\logstash-patterns-core-0.1.10\patterns正則表達式
而後執行 logstash -f logstash.conf ,windows下是logstash.bat數據庫
windows有個坑,路徑中有空格會啓動失敗,編輯logstash.bat文件,替換第6行爲
CALL "%SCRIPT_DIR%\setup.bat"
apache
在控制檯輸入一條apache日誌json
127.0.0.1 - - [05/May/2015:15:45:21 +0800] "GET /t/10002 HTTP/1.1" 200 7593 "http://127.0.0.1/index" "Mozilla/4.0 (compatib1e; MSIE 6.1; Windows NT)"
返回結果
ubuntu
能夠看到原來的一行字符串,通過logstash的處理後,輸出json格式的結果,獲得有語義的結構化文檔windows
以上就是Logstash的主要功能:
1. 接收日誌 (input)
2. 處理成json格式的文檔 (filter)
3. 輸出日誌 (output)瀏覽器
再試試文件的 測試日誌
input { file { path => "D:/Program Files/logstash-1.5.0/log/access_test.log" type => "apache" start_position => "beginning" } } filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } date { locale => "en" match => [ "timestamp" , "dd/MMM/YYYY:HH:mm:ss Z", "ISO8601" ] } } output { file { path => "D:/Program Files/logstash-1.5.0/log/logstash-access_test.log" type => "apache" start_position => "beginning" } }
安裝管理監控工具Marvel
./bin/plugin -i elasticsearch/marvel/latest
啓動Elasticsearch
./bin/elasticsearch
ubuntu有個坑,主機重啓後,service啓動es報touch的pid文件不存在,按此修改/etc/init.d/elasticsearch
訪問http://localhost:9200/?pretty查看引擎是否啓動
Marvel管理地址:http://localhost:9200/_plugin/marvel/
修改logstash.conf的output部分
output { elasticsearch { host => "127.0.0.1" protocol => "http" index => "logstash-test-%{type}-%{host}" workers => 5 template_overwrite => true } }
再運行一次logstash,輸出的結果就導入elasticsearch了
Documents表明文檔數量,大約有兩萬多個
./bin/kibana
建立一個索引模式,再點擊頂部的「Discover」
默認的過濾器只顯示15分鐘之內的日誌,須要點右上角的鐘表圖標修改一下時間段,切換到「Absolute」標籤
這裏改爲日誌的起止時間2014-11-01
到2015-06-1
Discover界面功能主要分四部分
1. 搜索功能,能夠是Lucene語法,也開始是DSL
2. 左邊能夠按字段過濾,查看數量最多的Top 5
3. 很直觀的反映訪問量的直方圖,能夠自定義時間頻率,右上角是當前的結果總數
4. 篩選後的文檔結果
在搜索框輸入 response: not 200
下面用獨立IP簡單統計用戶都用什麼瀏覽器
點擊 Visualize - Data Table - From a new search,填入下圖左側的查詢條件
至此,日誌分析平臺雛形已現,已經能夠從海量日誌中查詢咱們想要的數據,更多功能及應用見下篇。