1. 程式人生 > >搭建日誌分析系統ELK

搭建日誌分析系統ELK

elasticsearch.jpg

日誌分析元件3件套:

  • E:Elasticsearch是一個搜尋引擎,基於Lucene,天然分散式,很容易水平擴充套件,遮蔽了複雜的分散式概念,對外提供RESTfulAPI。
  • L:Logstash用於收集日誌,寫入Elasticsearch
  • K:Kibana是一個展示層,基於NodeJS,可以圖示形式展示資料,介面簡潔。

這3大元件,都可以在 這裡 直接下載。

搭建安裝步驟:

  • 下載elasticsearch,解壓後,執行bin/elasticsearch -d,以守護程序形式啟動,開啟localhost:9200會返回json資訊如下,說明啟動成功。
    json.png

  • 下載Logstash,解壓,在/bin/config下建立一個配置檔案vi logstash.conf

input {
  tcp {
    host => "192.168.1.91" # 要監聽的日誌來源地址
    port => 4567
    mode => "server"
  }
}

output {
  stdout{ codec => rubydebug }
  elasticsearch {
    hosts => ["192.168.1.91:9200"]  # elasticsearch中配置的host地址
  }
}
  • 指定配置檔案並後臺啟動:bin/logstash -f logstash.conf &
  • 在你的應用程式中配置日誌輸出到Logstash
    ,比如Logback.xml
    1. 引入logstash-logback-encoder:compile group: 'net.logstash.logback', name: 'logstash-logback-encoder', version: '4.11'
    2. 配置logback.xml
    <appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>192.168.1.91:4567</destination
>
<!-- encoder is required --> <encoder class="net.logstash.logback.encoder.LogstashEncoder"/> </appender> <root level="DEBUG"> <appender-ref ref="stdout"/> <appender-ref ref="fileout"/> <appender-ref ref="stash"/> </root>
  • 下載Kibana,解壓後啟動:bin/kibana &,開啟localhost:5601即可。

注意事項

  • 在安裝Elasticsearch的時候,配置檔案中我們把network.host改為0.0.0.0允許遠端訪問後,啟動會報錯,請按照 如下操作,放開linux的系統限制。