我們正在嘗試爲我們的應用程序找到最佳的logstash配置。該應用程序由大約30個進程組成一臺運行在Linux機器上的服務器。來自同一臺計算機上多個進程的Logstash
這些進程中的每一個都寫入專用文件夾中的日誌文件。我們希望收集這些日誌並使用logstash將它們保存到elasticsearch。
雖然我們確實有資源問題。我們將無法在日誌中寫入日誌並保持彈性搜索運行相同的數據(elasticsearch需要這些日誌文件的5倍空間)
現在我們想到了試圖管道每個進程的輸出到它自己的logstash將包含grok過濾器和elasticsearch輸出,同時我們將在同一臺機器上運行elasticsearch實例。
這看起來有點沉重,有30個logstash正在運行......有更好的解決方案嗎?我們是否會破壞CPU或者這是做這種事情的標準方式?
你不能讓機器在一天的日誌,然後將其刪除,他們已經被處理後,通過logstash?如何將stdout重定向到端口,我的google-fu說應該是可以的。也似乎很難相信你使用elasticsearch會導致5倍的懲罰。 –
@AlainCollins一天過多,我們每10分鐘旋轉一次原木,最多保持10轉。如果我讓logstash從這些中讀取數據,並且它正在讀取一個旋轉將發生,我將鬆散日誌。此外,logstash如何處理日誌轉換? – user1708860
logstash文檔顯示「它處理旋轉」,FWIW。如果您擔心這些邊緣情況,請將logstash配置爲僅處理最近旋轉的文件(例如logfile.1)。只要它有一個不同的inode號碼,你應該沒問題。 –