在公司中,日誌分析也是正常維護中較爲關鍵的一環,elk平臺集成了日誌收集,分類,查找,界面,以及繪製各類圖表等功能,很是的方便html
elk官方網站java
elk 分爲redis
######此次使用的是官網最新版本2.3.4 安裝logstash以前須要確認本身是否安裝了java
環境,而且須要java 7 以上
使用Ubuntu
的童鞋能夠參考個人這篇帖子來進行安裝 Ubuntu經過apt-get安裝java環境數據庫
######官網給出了很是詳細的安裝教程這裏不在贅述 yum,apt,wget安裝Logstash服務器
如圖所示,logstash分爲了輸入,過濾,和輸出,這讓咱們數據的收集,匯聚起到了很是方便的做用restful
首先咱們能夠嘗試啓動Logstash來進行測試是否安裝成功elasticsearch
bin/logstash -e 'input { stdin { } } output { stdout {} }'
logstash直接講數據輸出到了控制檯,若是咱們在控制檯看到了輸出則logstash安裝成功。分佈式
接下來就是logstash以配置文件來啓動 此處應該主從多個服務器,從服務器負責監聽所需日誌的變化,而且發送到主服務器中,主服務器對從服務器發送來的數據進行彙總處理.ide
那麼問題來了,從服務器如何把數據發送到主服務器呢?工具
此處咱們用將數據用Redis同步到主服務器上。具體請看配置
首先咱們新建一個文件夾,(位置自定) sudo touch shipper.conf && sudo chmod 777 shipper.conf
接下來進入shipper.conf
,填寫詳細配置
input { file { path => [ # 這裏填寫須要監控的文件 "/var/log/logstash/first.log", "/var/log/logstash/second.log" ] } } output { # 輸出到控制檯 # stdout { } # 輸出到redis redis { host => "101.200.221.135" # redis主機地址 port => 6379 # redis端口號 db => 8 # redis數據庫編號 data_type => "channel" # 使用發佈/訂閱模式 key => "logstash_list_0" # 發佈通道名稱 } }
一樣的建立一個配置文件sudo touch indexer.conf
input { redis { host => "101.200.221.135" # redis主機地址 port => 6379 # redis端口號 db => 8 # redis數據庫編號 data_type => "channel" # 使用發佈/訂閱模式 key => "logstash_list_0" # 發佈通道名稱 } } output { file{ path => "/var/log/logstash/all.log" } #此處是返送到elasticsearch elasticsearch{ hosts =>"127.0.0.1" } }
具體Logstash就配置完成了
解析來啓動Logstash
bin/logstash -f shipper.conf bin/logstash -f indexer.conf
向從服務器監聽的文件中插入一條數據 echo "123" >>/var/log/logstash/first.log
切換到主服務器看到/var/log/logstash/all.log
下同步了咱們在從服務器建立的數據
一樣,Elasticsearch文檔很是詳細,不在贅述
安裝完成後 `./elasticsearch` 啓動便可 ,或者做爲守護進程來啓動 `./elasticsearch -d`
在indexer.conf
介紹過,將數據發送到`Elasticsearch`處理 注意`Elasticsearch`監聽端口9200,確保能夠訪問
######Kibana選用4.5
切換到kibnana文件夾,執行./kibnana
便可
kibnana默認使用的是5601端口
到此咱們安裝就完全結束了,具體使用請參照官網
thanks