1. 程式人生 > >ElasticSearch+Logstash+Kibana+Filebeats日誌系統

ElasticSearch+Logstash+Kibana+Filebeats日誌系統

下載地址

安裝ElasticSearch

下載elasticsearch-5.5.1.zip,解壓就可以使用。

$ELASTICSEARCH_HOME/bin/elasticsearch

配置叢集,我配置的是偽叢集,就是在一臺機器上執行多個例項。把config和data資料夾複製出來,修改下配置檔案,在啟動的時候指定對應的配置檔案資料夾就可以了,如下:

$ELASTICSEARCH_HOME/bin/elasticsearch -Epath.conf=$ELASTICSEARCH_HOME/config1

安裝elstatic-search head

可以檢視es的執行情況。

git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install grunt --save
npm run start

訪問localhost:9100,如果叢集健康值:顯示“未連線”,則給ES新增跨域支援。如下:

vim $ELASTICSEARCH_HOME/config/elasticsearch.yml

新增如下內容:

http.cors.enabled: true
http.cors.allow-origin: "*"

安裝成功,訪問localhost:9100。

安裝logstash

下載、解壓。

編寫logstash.conf,如下:

input { stdin { } }
output {
  elasticsearch { hosts => ["localhost:9200"] }
  stdout { codec => rubydebug }
}

啟動。LOGSTASHHOME/bin/logstashf{LOGSTASH_HOME}/config-mabb/logstash.conf

在啟動後的命令列中輸入資料,就可以通過logstash傳遞到es中。

安裝kibana

下載、解壓、執行:${KIBANA_HOME}/bin/kibana

安裝成功,訪問localhost:5601。

新增index logstash-,這個操作的意思的就是:在kibana處理es裡所有的index是logstash-的資料。點選左邊Discover標籤,在右邊的介面中可以選擇剛剛建立的index,可以進行搜登等操作。

filebeats

下載,解壓。

配合logstash使用的配置檔案如下:

filebeat.yml:

filebeat.prospectors:
- type: log
  enabled: true
  paths:
    - /Users/mabinbin/var/log/*.log
output.logstash:
  hosts: ["localhost:5045"]

logstash.conf

input{
    beats {
        port => 5045
      }
}   
output{
    elasticsearch{
        hosts => ["localhost:9200"]
   }
}

當filebeats配合logstash使用,需要手動load the index template in ElasticSearch,就是filberts直連ElasticSearch load 資料,命令如下:

./filebeat setup --template -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

啟動:

./filebeat -e -c filebeat.yml

引用