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

採用elasticsearch+logstash+kibana收集日誌方案,由於logstash是jvm跑的,資源消耗比較大。因此有了一個新的工具filebeat,filebeat負責收集日誌,logstash負責過濾日誌後發送給elasticsearch。經常使用的ELK日誌採集方案中,大部分的作法就是filebeat將全部節點的日誌內容上送到kafka消息隊列,而後使用logstash集羣讀取消息隊列內容,根據配置文件進行過濾,而後送到elasticsearch。ruby

以下圖:jvm

 

這裏省略了kafka這一環節,也是能夠的。具體配置以下:elasticsearch

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.ymlspa

注意啓動filebeat 須要前先啓動logstash。debug

logstash配置3d

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"
    }
}
相關文章
相關標籤/搜索