ELK訊息佇列Kafka
阿新 • • 發佈:2022-05-19
環境資訊
元件 | 地址 | 安裝路徑 | 配置檔案 | 啟動方式 |
logstash | 10.1.0.149 | /etc/logstash/ | /etc/logstash/logstash.yml | systemctl (logstash.service) |
kafka | 10.1.0.152 | /usr/local/kafka/ | /usr/local/kafka/config/ | /usr/local/kafka/bin/*.sh |
filebeat | 生產伺服器 | /etc/filebeat/ | /etc/filebeat/filebeat.yml | systemctl (filebeat.serivce) |
elasitcsearch | 阿里雲ES | none | none | none |
filebeat
filebeat是一個輕量級的日誌收集工具
filebeat收集邏輯過程:當您啟動Filebeat時,它將啟動一個或多個input,input的指向是需要收集的日誌位置。收集每一個日誌檔案,FileBeat都會啟動一個Harverster。每個Harvester將讀取日誌的新內容併發送至Spooler進行日誌處理分段及聚合給filebeat的output中的資料收集器
filebeat --- logstash
原有方案部署方案如下:filebeat將收集好的日誌直接輸送到logstash&elsticserach時,filebeat使用BACK-PRESSURE SENSITIVE協議控制日誌採集傳輸速度,如果logstash在處理資料時造成資料流通道堵塞,而傳送相應訊息至filebeat並告知flebeat放慢採集速度等到堵塞視窗恢復,則filebeat恢復到之前資料傳輸速度,進行收集日誌,但是在生產環境中,如果日誌量非常大的情況會導致日誌視窗持續積壓,導致犧牲生產應用環境的效能
Kafka
kafka解決方案,可以在日誌視窗負載的情況下對日誌進行佇列處理,以緩解生產環境效能消耗情況