Linux
從一台伺服器到另一台伺服器的幾乎實時的日誌副本
我們在 Debian 6.0 機器上有一個身份驗證守護程序,以每秒大約 4-6 行\條目的速度生成日誌。出於法律原因,此日誌文件必須先在本地寫入磁碟,然後才能備份或傳輸到任何地方。這些日誌由守護程序本身每 2 小時輪換一次。
我想實現一個系統,將日誌輸入數據庫並查看 syslog-ng(服務記錄到 syslog-ng,然後 syslog-ng 將條目寫入數據庫和磁碟)但這被拒絕了,好像syslog-ng 程序無論出於何種原因失敗,我們都會失去日誌條目。
我一直在玩弄使用 rsync 和 cron 設置為每 5 分鐘左右同步一次,但接收端顯然需要完整的日誌副本以供 rsync 進行“比較”,而我真正想要的只是上次檢查之間的差異.
自上次檢查以來,有沒有一種不錯的方法可以獲取日誌文件中的更改(最好是從遠端機器上),然後僅將這些行提供給腳本或直接提供給數據庫?
使用有什麼問題
tail -F <logfile> | db-import-script
嗎?老實說,你引用的“法律原因”似乎很荒謬,即使對律師來說也是如此,所以我傾向於尋求澄清法規的意圖,然後努力解決,而不是試圖與可能的人一起審查實施細節沒有能力評估實施的適用性。如果他們確實有技術能力,那麼告訴他們給你設計,你會按照規範實現它。
我必須提前承認我是他們最大的客戶之一,但對於這種事情,我建議你至少考慮Splunk - 如果沒有其他原因它可以是免費的,這就是我們用來做的幾乎正是你在做什麼。