elasticsearch+logstash+filebeat+kibana收集日志配置


采用elasticsearch+logstash+kibana收集日志方案,因為logstash是jvm跑的,資源消耗比較大。所以有了一個新的工具filebeat,filebeat負責收集日志,logstash負責過濾日志后發送給elasticsearch。常用的ELK日志采集方案中,大部分的做法就是filebeat將所有節點的日志內容上送到kafka消息隊列,然后使用logstash集群讀取消息隊列內容,根據配置文件進行過濾,然后送到elasticsearch。

如下圖:

 

這里省略了kafka這一環節,也是可以的。具體配置如下:

filebeat配置

filebeat.prospectors:

- type: log
    paths:
    - E:\log\server.log



output.logstash:
  # The Logstash hosts
  hosts: ["127.0.0.1:5044"]

配置好后,可以在cmd下進入對應的文件目錄,輸入下面命令啟動,filebeat -e -c filebeat.yml

注意啟動filebeat 需要前先啟動logstash。

logstash配置

input {
    beats {
        port => "5044"
    }
}
filter {

    grok {
        match => { "message" => "(\s*%{TIMESTAMP_ISO8601:time} \s*%{LOGLEVEL:level}\s*%{NUMBER:lineNumber} ---\s*(?<class>(\[.*?\].*:) )\s*(?<message>[\s\S]* ))"}
    }
    
    
}

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM