ElasticSearch + Logstash + Kibana 實時日誌收集、查詢和分析系統

大數據處理解決方案中,有大量的分佈式系統,其日誌分散在集羣的各個節點,這就給跟進系統運行效果以及排錯帶來了很大的難度。

ElasticSearch是一個基於Lucene構建的開源,分佈式,RESTful搜索引擎。設計用於雲計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。支持通過HTTP使用JSON進行數據索引。

logstash是一個應用程序日誌、事件的傳輸、處理、管理和搜索的平臺。你可以用它來統一對應用程序日誌進行收集管理,提供 Web 接口用於查詢和統計。

Kibana是一個爲 Logstash 和 ElasticSearch 提供的日誌分析的 Web 接口。可使用它對日誌進行高效的搜索、可視化、分析等各種操作。

這是一個Demo,在單臺PC上安裝並進行初步測試。測試通過後會進行統一規劃後,部署到生產環境。

搭建環境:

OS Ubuntu Server 12.04
Java Java 1.6.0_31
ElasticSearch 1.0.1
Logstash 1.3.3
Kibana 3.0.0

一、安裝ElasticSearch

1. 下載最新版本的ElasticSearch

2. 參考《分佈式搜索引擎Elasticsearch——安裝部署》

二、安裝Logstash

logstash分爲 index和agent ,agent負責監控、過濾日誌,index負責收集日誌並將日誌交給ElasticSearch 做搜索

1. 下載最新版本的Logstash

2. index配置文件:index.conf

 

input設置從redis中獲取數據,output設置將數據輸出到ES。

啓動index:

3. agent配置文件

  • input設置從文件”~/opt/logstash/test” 中獲取最新的日誌數據;
  • filter設置過濾條件,這裏的grep是隻獲取message中包含字段”error”的數據,有更多的高級語法,請到http://logstash.net/docs/1.3.3/學習;
  • output設置收集到的數據輸出到redis中。

啓動agent:java -jar /soft/logstash-1.1.0-monolithic.jar agent -f ./agent.conf >> agent.log &

三、安裝Kibana

1. 下載新版Kibana

 2. 修改配置文件

解壓後,打開配置文件config.js。

設置elasticsearch鏈接地址爲:”http://localhost:9200″。(Demo在單機上,如果ES安裝在其他機器,則將localhost修改爲對應的機器地址)

3. 安裝配置Nginx web服務器

 4. 打開Kibana

配置host:127.0.0.1 elk.test.com;
在瀏覽器打開http://elk.test.com

四、測試系統效果

1. 新增日誌數據

 2. 查看Kibana

第一條數據滿足filter,被錄入系統,第二條不滿足filter沒有錄入。

參考:

  1. http://www.elasticsearch.org
  2. http://logstash.net
  3. https://github.com/elasticsearch/kibana
  4. http://www.elasticsearch.org/overview/elkdownloads/
  5. http://demo.kibana.org/
  6. 升級Kibana到3.0 http://storysky.blog.51cto.com/628458/1336289
  7. 用Kibana和logstash快速搭建實時日誌查詢、收集與分析系統 http://storysky.blog.51cto.com/628458/1158707
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章