centos7 + ELK6.4.0實時採集tomcat日誌
logstash據說已廢棄input-log4j外掛,除錯半天無果,切換成filebeat, es+kibana提前配置啟動好,這邊不做多餘的解釋
1) filebeat安裝 採用的rpm方式進行安裝的
wget -c https://download.elastic.co/beats/filebeat/filebeat-6.4.0-x86_64.rpm
rpm -ivh filebeat-6.4.0-x86_64.rpm
預設的安裝路徑,配置檔案位置/etc/filebeat/
2) 配置filebeat.yml 修改收集的日誌路徑,輸出註釋掉直接輸出到es.修改為輸出到logstash
注意
相比於向 elasticsearch 輸出資料,個人更推薦向 logstash 輸出資料。
因為 logstash 和 filebeat 一起工作時,如果 logstash 忙於處理資料,會通知 FileBeat 放慢讀取速度。一旦擁塞得到解決,FileBeat 將恢復到原來的速度並繼續傳播。這樣,可以減少管道超負荷的情況。
3) 配置結束後,啟動filebeat
filebeat -e -c filebeat.yml -d "public"
啟動後提示,這個是正常的,等配置好logstash後回自動恢復
4) 開始配置logstash,使用最簡單的配置
啟動logstash, ./logstash -f ../config/logstash.conf --config.reload.automatic 都啟動完成後,filebeat中連結失敗的錯誤會消失
5) 然後配置tomcat專案中的log4j,在原有的基礎上追加以下配置
正常啟動tomcat專案,
6) logstash中會有這種資訊列印,抓取的是實時的日誌資訊
elasticsearch-head外掛中也會有新的索引建立,
7) 模擬掉一下tomcat專案列印一下日誌
tomcat中的日誌
kibana中查詢出的日誌
已驗證日誌是實時抓取的,配置生效,可以正常使用