ELK 是一個log分析,採集的工具。他給咱們提供了多重的組件。node
經常使用的3個組件算法
E: ElasticSearchvim
日誌存儲組件,底層是luence實現,採用倒排排序算法。也有本身內部的索引系統tomcat
L: Logstashdom
日誌採集,分析,過濾 功能實現模塊,將採集到的數據存儲在E 中elasticsearch
K: Kibanatcp
展現模塊,回將採集到的數據,展現出來,能夠用做大屏展現。工具
安裝的話,就先從最核心的模塊E 開始了。url
elasticsearch 2.4.6,kibana4.6.1 ,logstash2.4.0。spa
5以上的對系統的實時性會有一些保證,若是對實時性有要求的話,用5以上版本。
下載能夠在官網上面下載。
https://www.elastic.co/cn/products/2.4.6
注意ES 不能使用root 用戶安裝。
在config 目錄下面修改 vim elasticsearch.yml
cluster.name: my.elk #集羣名稱,若是有多個集羣,那麼每一個集羣名就得是惟一的
node.name: node-192.168.0.8 #節點名稱
node.master: true #該節點是不是master,true表示是的,false表示否,默認是true
node.data: true #該節點是否存儲數據,默認true表示是的
http.port: 9200 #http訪問端口,默認是9200,經過這個端口,調用方能夠索引查詢請求
transport.tcp.port: 9300 #節點之間通訊的端口,默認爲9300
network.host: 0.0.0.0 #訪問地址 配置外網訪問
#discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:8300"]
#node.max_local_storage_nodes: 2 #設置一臺機子能運行的節點數目,通常採用默認的1便可,由於咱們通常也只在一臺機子上部署一個節點
若是啓動成功 , 能夠登入地址,能夠看到下面的信息。
./ plugin install mobz/ elasticsearch-head
在head 目錄下 就有以下文件。 而後從新啓動es。
head 裝好以後的圖形化界面。
1)下載。
仍然能夠在官網下載。
2)解壓。
3)修改配置文件。
input { //收集標誌
file {
type => "log" //自定義
path => ["/export/home/tomcat/domains/*/*/logs/*.log"] //收集日誌的地方,注意不能遠程收取
start_position => "end" //若是log文件已經很大了 不要配start,第二次會有記錄
ignore_older => 0 //忽略最後修改時間是大於多少s的
codec=> multiline { //重點注意 解決日誌換行問題。
pattern => "^%{TIMESTAMP_ISO8601}"
negate => true
what => "previous"
}
}
beats {
port => 5044
}
}
output {
if [type] == "log" {
elasticsearch {
hosts => ["http://127.0.0.1:9200"]
index => "log-%{+YYYY.MM}" //表示的是索引庫 按日期分
}
}
}
./bin/logstash -f conf/log.conf
運行成功 能夠在ES 上看到信息
與前面步驟同樣,下載,配置。kiban 相對簡單一些。
elasticsearch.url: http://localhost:9200
server.host: 0.0.0.0
啓動命令:./kibana
後臺啓動:nohup ./bin/kibana &
192.168.31.128:5601 訪問5601
注意配置的時候必定要跟索引的名稱相同