2013-07-03 67 views
0

我一直在嘗試這個好幾天但仍然掙扎。Shell多個日誌監視和關聯

該腳本的目標是在多臺服務器(特別是29臺)上執行實時日誌監視並關聯服務器之間的登錄失敗記錄。服務器的日誌將在每天23:59:59被壓縮,並且一個新的日誌從0點開始。

我的想法是在每臺服務器上使用tail -f | grep "failed password" | tee centralized_log,通過循環激活所有服務器名稱,在後臺運行,並將登錄失敗記錄輸出到集中日誌。但它沒有用。它會創建很多守護進程,只要我終止腳本就會變成殭屍。

我也在考慮在幾分鐘的時間間隔做tail。但隨着日誌變大,處理時間將會增加。如何設置指針前一個tail停止的位置?

所以,你可以請建議一個更好的工作方式來做多個日誌監測和關聯。除非完全有必要,否則不鼓勵其他安裝。

回答

1

如果您的日誌正在通過系統日誌,並且您正在使用rsyslogd,則可以在每臺機器上配置系統日誌,以便將感興趣的特定消息轉發到一個(或兩個)集中式日誌服務器,資產匹配,如:

:msg, contains, "failed password" 

關於如何建立可靠的日誌轉發;詳情請參閱rsyslog documentation

+0

聽起來不錯,但我們的組織使用syslog-ng我相信。 syslog-ng具有類似的功能嗎? – user2404894

+0

@ user2404894是的。 'syslog'及其後繼者提供這種功能自年齡。 –

+0

我該如何開始呢? – user2404894