Elasticsearch是個開源分佈式搜索引擎,它的特色有:分佈式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。linux
Logstash是一個徹底開源的工具,他能夠對你的日誌進行收集、過濾,並將其存儲供之後使用(如,搜索)。vim
Kibana 也是一個開源和免費的工具,它Kibana能夠爲 Logstash 和 ElasticSearch 提供的日誌分析友好的 Web 界面,能夠幫助您彙總、分析和搜索重要數據日誌。windows
elk下載地址:www.elastic.co/downloads/bash
建議在 linux上運行,elk在windows上支持得很差,另外須要jdk1.8 的支持,須要提早安裝好jdk.restful
下載完以後: 安裝,以logstash爲栗子:app
cd /usr/local/
mkdir logstash
tar -zxvf logstash-5.3.2.tar.gz
mv logstash-5.3.2 /usr/local/logstash複製代碼
打開Elasticsearch的配置文件:elasticsearch
vim config/elasticsearch.yml複製代碼
修改配置:分佈式
network.host=localhost
network.port=9200複製代碼
它默認就是這個配置,沒有特殊要求,在本地不須要修改。工具
啓動Elasticsearchui
/bin/elasticsearch複製代碼
啓動成功,訪問localhost:9200,網頁顯示:
{
"name" : "56IrTCM",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "e4ja7vS2TIKI1BsggEAa6Q",
"version" : {
"number" : "5.2.2",
"build_hash" : "f9d9b74",
"build_date" : "2017-02-24T17:26:45.835Z",
"build_snapshot" : false,
"lucene_version" : "6.4.1"
},
"tagline" : "You Know, for Search"
}複製代碼
在 logstash的主目錄下:
vim config/log4j_to_es.conf複製代碼
修改 log4j_to_es.conf 以下:
input {
log4j {
mode => "server"
host => "localhost"
port => 4560
}
}
filter {
#Only matched data are send to output.
}
output {
elasticsearch {
action => "index" #The operation on ES
hosts => "localhost:9200" #ElasticSearch host, can be array.
index => "applog" #The index to write data to.
}
}複製代碼
修改完配置後啓動:
./bin/logstash -f config/log4j_to_es.conf複製代碼