為了統一管理日志,也考慮到設備一旦出現問題會導致日志丟失,筆者將日志全部遠程存儲在專門的日志服務器集群中。
日志服務器集群本身結構很簡單,如圖1所示。我們將所使用的各類設備進行了分組,規則如下:
1.參照網絡類型、設備型號。如用戶接入網大量使用的某廠家OLT、用戶接入網少量使用的其它廠家OLT、內部專網的RADIUS服務等。
2.不同類型設備的日志數量差別非常大。如接入網設備,其日志包含上下線信息、配置推送信息等。
經過數月的統計,僅某型號設備1臺平均1天產生12萬條日志,而這類設備全市納入日志監控的數量超過300臺,4個月的時間產生了43億條數據,占用服務器843GB數據庫硬盤空間。
3.不同的設備權重不同。可能一些設備1天僅僅產生幾條日志,數量很少,但每條都非常重要必須實時觀測到。日志數量和實時性的不同,對服務器的壓力也相差甚大。

圖1 日志服務器拓撲圖
綜上,網絡、設備、時效和日志數量等各方面,我們給設備設計了不同的類型分組,如圖1所示的A類型。
同一類型的設備使用一主一備兩臺日志服務器。同時定期刪除debug、info等不重要的日志記錄后,將日志遷移到歸檔服務器。用于日志分析的服務器,會同時讀取歸檔和實時日志。
最后,為了日志的安全,我們將主備服務器放置在了不同的機柜上,同時備份服務器放在了不同地理位置(各縣和區)的機房。各個專網之間也是物理隔離的。
得益于大部分設備采用的syslog日志服務,我們選擇了syslog-ng開源軟件進行日志的中繼,MySQL進行日志的保存。……