使用syslog-ng進行日誌中心化(一)

一個日誌中心化設計收集項目,前端有230臺的服務器,使用syslogd收集日誌,保存在本地磁盤的同時另外發一份到syslog-ng的日誌中心服務器上,中心服務器同時把日誌分發到兩個目的地:本地磁盤存儲和一個FIFO。該FIFO作爲Source發給PipeReader Class處理,該類對日誌進行預處理,如從用戶的IP地址查詢出對應的城市等。然後發給LogCenter Daemon處理;該Daemon再根據配置文件對數據進行分發到對應的目的的.
架構圖如下:
[img]http://dl.iteye.com/upload/attachment/181302/cb3d951f-06a8-373a-8e21-dfe1c8cbf687.jpg[/img]

當前存在的問題主要就在Daemon這塊,該Daemon的存在是爲了對數據進行M:N分發的時候能有一個統一的監控機制和管理平臺,但是在分發日誌的時候,比如說寫Db,存在寫入速度太慢的問題,無法及時把daemon收到的數據分發出去,當前還不到300條/s(Db資源受限),如果要繼續使用daemon,就必須給daemon增加buffer甚至是disk buffer功能.
而實際上,我們本來可以取消daemon這一層,直接配置syslog-ng的多個destination功能,這樣可以使用syslog-ng的fifo buffer等功能。(未完)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章